• ベストアンサー

今からVC6の勉強をするのは時間の無駄ですか?

10年くらい(?)前、かなり気合を入れてVB6を勉強したことがあるのですが、 その時にその流れでVC6の入門書も数冊購入して勉強しました。 半分くらいは理解できたと思っています。 その後、VB6を触ることも無かったのですが、最近、仕事で再びVB6に携わり、VC6をまた勉強したくなりました。 当時購入したVC6の書物は残してあるので、あとは勉強するだけなのですが、 しかし今では「.NET C++ 2008」とやらに進化していますよね。 それで質問なのですが、今からVC6の勉強をするのは時間の無駄でしょうか? WindowsAPIやらMFCの使い方などを学ぶのは決して無駄ではないと思うのですが、どうせならやっぱり「.NET C++」に切り替えて学ぶべきでしょうか? (本だけは数冊あるので出費しなくて済むし、一度は読んだ本だから理解もしやすいのではなかろうかという気持ちがあります) VC6と「.NET C++」との違いもよく理解できていないので、頓珍漢な質問になっているかもしれませんが、ご教授よろしくお願いします。 ※1:VB6からは「.NET VB/C#」に移行しているのは知っています。 ※2:C++の勉強目的は単なる知識欲で趣味の世界です。    何かのソフトを作ろうという目的はありません。(^^;

  • paonta
  • お礼率85% (581/681)

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.8

>え?、MFC・WindowsAPIを利用しないプログラミングってあるのですか? >また一つ知的好奇心をくすぐるような情報をいただきました。(^^; 違うのは.NETですね。VC6には無い分けですが。 他のは、試してませんがVC6でもVC2008でも使えるはずです。 まずWTL。MFCの軽量化を狙ったラッパーです。未完成の問題あり。 http://ja.wikipedia.org/wiki/Windows_Template_Library 結局、MFC、.NET、WTLはWindowsAPIのラッパーライブラリですから最後にはWindowsAPIを呼んでます。 あとは、VC6とVC2008でも同等に使えるのがQt(キュート)とかのウィジェット・ツールキットによるWindowsやLinuxで共通のプラットフォームによるGUIになります。 http://ja.wikipedia.org/wiki/Qt http://www.qtsoftware.com/title-jp?set_language=ja&cl=ja WindowsAPIのウィンドウとは別の表現でウィンドウを構築できます。 >前者はともかく後者のSTL???。 STLは便利ですが、VC6のテンプレートが規格準拠してないのでSTLにも問題があります。使い無いわけでは無いはずですが。 http://ja.wikipedia.org/wiki/Standard_Template_Library

paonta
質問者

お礼

お礼がたいへん遅れまして申し訳ありません。 引用いただいたURLを見てみました。 最初の一つだけは、どういうものかわかった気になれましたが、 残りは、、はい、もう本当に「あなたの知らない世界」ならぬ「私の知らない初耳世界」でした。(^^; たぶんプロ中のプロが使うものなのでしょうと、しばらくは(永遠に?)遠巻きに見ておくことにします。(笑) いやはや、それにしてもいろいろな道具・手法があるものなんですね。 概念だけでもわかるようになれることを夢見て、マイペースで勉強していくことにします。 再度のご回答ありがとうございました。

その他の回答 (7)

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.7

ところで、VC6はインストール可能なのでしょうか。 可能ならば、まあ問題はないでしょう。勉強目的ということでもありますし。ただ、VC6の場合、templateの対応とか、STLの対応とかが完全ではありません。これらについても深く勉強する予定なら、VC6では力不足です。 VC6が手元にないとか、インストールできないなら、VC++.net2008になります。ちなみに、VC6はもう販売中止の製品です。 C++の勉強目的なら、無料のVC++.Net2008ExprssEditionで十分だと思います。ただ、VC6の本というと、MFCの解説がメインの本が多かったと思います。ExpressEditionにはMFCが入っていませんので、そういった本はほどんど役に立たないでしょう。ExprssEditionではないVC++.Net2008ならMFCも付属していますが、結構高いです。単なる勉強目的とするには考えるところですね。

paonta
質問者

お礼

ご回答ありがとうございます。 恥ずかしながらプライベートでは未だにMeを使っています。 VS6は昔、羽振りの良い(笑)ときに購入しました。 >VC6の場合、templateの対応とか、STLの対応とかが完全ではありません。 前者はともかく後者のSTL???。 今の私にはVC6で十分なようですね。(笑) >ExpressEditionにはMFCが入っていませんので これは知りませんでした。 本屋に行っても2008VB/C#は少しは見かけますが、VC++は全くといっていいほど見たことが無いので、ExpressEditionの仕様を知ることも無く、当然のごとくMFCが付いているものだとばかり思っていました。 このことから見ても、まずはVC6を少しずつ勉強していくことにします。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.6

VC6で2年前まで仕事してました。現在はVC++2005です。 ネットで得られる情報は、まだまだVC6のものが多く有ります。 MFCやAPIで利用する分には、VC6でもVC++2005でもプログラミングには大差ないです(UNICODEがデフォルトになった事とメニューが大きく変わった事ぐらい?)。 .NETは、そもそも純粋なC++ではなく、C++/CLIという別言語です。それならいっそのことC#でプログラムしたほうが良いと私は思いますけどね。 WindowsVistaの場合はVC6が動かないはずなのでVC++2008以降に変えるしかないですが、まもなくVC++2010が出ますのでVC++2008は慌てて導入しない方が良いかと。 ってことでVC6が動くなら、とりあえずVC6で損は無いと思います。

paonta
質問者

お礼

ご回答ありがとうございます。 >MFCやAPIで利用する分には、VC6でもVC++2005でもプログラミングには大差ないです え?、MFC・WindowsAPIを利用しないプログラミングってあるのですか? また一つ知的好奇心をくすぐるような情報をいただきました。(^^; >それならいっそのことC#でプログラムしたほうが良いと私は思いますけどね。 VB6の時代では、VC6はあこがれでした。 実行速度が早い、なんでもできる、なんといってもかっこいい!! .NETの今ではVBとC#とで実行速度は変わらないし、できることも(たぶん)同じ。 ということでやっぱり今でもVC++はあこがれです。 単純で小学生みたいなことを書いて申し訳ありません。(^^; VC6とVC++2005と両方、経験なさっている方のアドバイスいただけて嬉しいです。 無駄では無いということで、VC6で少しづつ勉強していこうと思います。

  • kkk1024
  • ベストアンサー率33% (42/127)
回答No.5

こんばんは。30代男偽SEです。 私、最近Winsows系のソフト実装した記憶がないので、そのつもりでご覧ください。 VC系はMFC+APIぐらいまでしかやってません。「.NET」って何?という感じの者です(^^) 他の回答者様も書かれている通り、APIなどは基本変わっていないと思いますので、概念を学ぶには古いものでもよろしいかと存じます。 詳細なインターフェース仕様はそれこそヘルプをご覧になるでしょうし。 「.NET」のことを全く存じませんが、MFCの後継(?)のクラスもベースは古いものでしょうし。 質問者様がVBでも既にWindowsAPIの関数呼び出しなどを行ったことがある方なら、すでにある程度概念も学んでらっしゃるでしょうから、むしろVC側もMFC+WindwsAPIに限れば要らないんじゃないのか? というのが私の感想です。 ウィンドウ、ウィンドウハンドル、デバイスコンテキスト、ウィンドウメッセージなどの概念を押さえておけば、後はヘルプと睨めっこで何とかなりそうな気がします。 「.NET」のことを全く知らないので無責任ですが(^^) 何にせよ「.NET」の下地として昔のものを学ぶのは無駄にはならないだろうというのが私の持った印象です。 参考になれば幸いです。

paonta
質問者

お礼

ご回答ありがといございます。 VBでのWindowsAPI呼び出しは行ったことがあります。 星の数ほどもあるような(?)APIすべてを理解しようなんて、もとより考えてもいませんが、やっぱり一つでも多くのAPIを理解したい・使ってみたいというのが本音でしょうか。 >ウィンドウ、ウィンドウハンドル、デバイスコンテキスト、ウィンドウメッセージなどの概念を押さえておけば、後はヘルプと睨めっこで何とかなりそうな気がします。 ここで、kkk1024さんと決定的なレベルの差があります。 「なんとかなる」レベルに私もなりたいのです。(^^; なんだか小学生レベルの発言になってしまい恥ずかしい限りですが、地道に知識を深めていきたいと思っています。

回答No.4

VC6がどうというよりは、当時のAPIは最近のOSでは使用できない可能性が高いということでしょうか。 基本的には似たような名前のAPI(昔のAPIの後ろにAがついたりexがついたり)がありますので、リファレンスを見ながらどうとでもなります。 VC自体というよりは、C/C++自体は言語としてとても優秀で、用途はとても多いですし、Cはコンピュータのアーキテクチャを理解するうえでも有用です。 C/C++を使えるようになっておけば、Javaなんかも抵抗なく使えるでしょうし、他の言語の習得も早いです。 この業界では絶対に無駄にはなりません。 もし.netに興味があるようであれば、2008なんかではVC 2008 ExpressEditionという無料で使用できるコンパイラもありますので、余裕を見てやってみるのも良いと思いますが、まずは.netではなく、基本的なC/C++をやっておくほうがいいと思います。

paonta
質問者

お礼

ご回答ありがとうございます。 C/C++言語そのものは、DOSのプログラミングでCを、新しい言語が出たよということでC++を勉強しました。 Cは業務で勉強しましたがC++は完全に個人的な趣味でしたね。 VBやVC++を勉強し始めた頃はC++の本に書かれていることと、VBでのクラスやMFCの利用法との関連が結びつかず、理論は理論、実装は実装、と別物であるとすら認識していた頃もあります。(^^; 実務ではVB/VCを触ることはほとんど無いので、やっとC++言語仕様との関係がしっくり来るようになった私ですが、今度こそVCをものにしたいと考えているところです。 どの方面のアプリをどのレベルまで?というのはありますが、勉強しながら考えていきたいと思っています。

noname#196225
noname#196225
回答No.3

 私的にはVCに限っては6.0と.NETであまり大差ないように見えます。 ですので、切り替えても切り替えなくても構わないと思いますよ。 ただ、VCをやる前にノーマルのC/C++を十分に学習することをお勧めします。  でなければ、基本部分よりも先行してGUIやCStringなどの便利なクラスに惑わされてしまい、エラー(短いプログラムでない限り、組めば出ることは覚悟です)の内容が分からなかったり、エラーを回避させる手法が思いあたらなくて手詰まり・・・なんてことにもなり得ますので。  そういったエラーの内容はC/C++をある程度まで学習していれば連想できることが多いはずです。

paonta
質問者

お礼

ご回答ありがとうございます。 まずはMFCを使わない方法で勉強したほうが良いというご意見ですね。 以前に勉強したときも、知識としては知っていたのですが、本を読んでいてもその使い分けの判断がよくわからなかった記憶があります。 一度に多数の情報や概念を頭に入れたので、混乱してサンプルコードがMFCなのかAPIなのか、わからなくなったというのが実のところだったのかもしれません。 覚えることが多すぎるというのが当時の印象でしたが、今ならなんとか理解できるかも?というのが現在の気持ちです。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

業務の種類として、 A.最新の言語・ツールでのシステム開発 B.旧言語・ツールで設計されたシステムのメンテナンス C.旧言語・ツールから最新の言語・ツールへの移行 など、ありませんか? B.およびC,では、旧言語・ツールの知識が必要ですよね。 個人的に勉強していて決して損はないと思います。 当然、最新の言語・ツールの知識も勉強しましょう。 とはいうものの、お客様にアピールする場合、実務経験で評価 される場合もあります。 でも、会社内でのアピールとしは十分ですよね。

paonta
質問者

お礼

ご回答ありがとうございます。 私の会社はソフトハウス関係ではないし、職場でもVB/VCを使ってソフトを作る業務はほとんどありません。 ソフトハウスに発注することはときどきありますが。 ですから、現在のVB6設計だって本来はソフトハウスに投げる仕事だったのですが、お金・(従来からの)仕事が無いとのことで社内設計しているわけです。(苦笑) ソフトハウスに投げるといっても知識があるとなしとでは大違いで、自分としてはそれで昔から趣味の世界で勉強している次第です。 仮にアピールしても「ふ~ん、それで?」と言われるのが落ちという職場で、そこはちょっと悲しいですね。(苦笑)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

APIやMFCというよりも構築の仕方を勉強するという意味では有意義だと思うよ。 ただ、2008になっちゃってるから 2008を使った勉強をした方が良いね。 VC6がまだ駆動するなら一通りやってからでも良いと思う。 今は参考がネットに一杯落ちてる時代だから書籍より、判りやすい物を探した方が良いかもね。 趣味とは言うけれど、やっぱり何かを作った方が勉強になるよ。 使わないと忘れちゃうしね。

paonta
質問者

お礼

ご回答ありがとうございます。 構築の仕方、、、。開発の手順ということですかね? 確かにコーディングの量もさることながら、いろいろなウィンドウを開いてデザインしていかなければならないことに頭がパンクしそうになった記憶があります。 ツール類も多数あって何の目的で存在するのかわからずじまいのものもありました。 使わないと忘れちゃう、、。まさしくその通りです。 VB6でもすっかり忘れていました。

関連するQ&A

  • VBやVC#プログラマの方へ

    私はC#の勉強をしてるのですが、アプリケーションを作るにあたってはVBのほうが初心者の方が簡単なのでしょうか? 両方入門書などを読んで見たのですがVBは作る一歩一歩の過程まできちんと説明が書いてあり分かりやすいのですが、VC#はどの本も言語それ自体の勉強をするものがほとんどで、私の見た感じではVBのほうが初めて勉強するなら良いような気がしてきました。 両方触ったことある方でも、片方の方でも構わないので意見貰えたら嬉しいです。 どっちを勉強すると何が良いのか、などが聞きたいです。

  • VC++解説書(入門書)でオススメのものはありませんか?

    こんにちわ。 僕は今、高校生です。 中学時代からプログラミングを勉強してます。 最初、VC++を勉強しようとしたのですが、ほとんどの解説書が対象をCをある程度マスターしている人にしていたので、中学ではCを勉強しました。そしてある程度の知識を持ってからVC++に戻ったのですが、なんとなくつまらなかったり、まだ学校で習っていない数学の話が出てきたりして、今度はVBの方を勉強しています。 C、VBの本をいろいろ読んできて思ったのですが、CやVBに比べてVC++の本はどこまで読み進めても「自分でプログラムコードが書けるようになっていく」実感がまるでありません。なんかただただ暗記を繰り返していく、という感覚なのです。だからいつもつまらなくなって挫折してしまいます。 そこで、どなたかぜひ、僕の悩みにぴったりの、VC++に関する本をご紹介していただけないでしょうか?

  • VC++の勉強

    現在C++の初心者の本を勉強が終えて(文法全般) VC++の本で勉強中ですが、いきなり疑問が出てきました。 VC++でAPIのみを使って学習するのですが、 もちろんVC++の使い方(開発ツールの)+APIで 進んでいるのですが、API、つまりWINDOWSの関数 ですよね。 これって数がたくさんあって、これを覚える必要 があるのかなと思い始めました。 どちらかといえば開発ツールの使い方を重点に 置いたほうがいいのでしょうか? もちろん両方覚えたほうがいいのはわかって いますが...

  • VC#とVC#.NETの違い

    VC#の勉強をしたいと思い、VC#の本を2冊、VC#.netの本を2冊、それぞれネットで購入しました。 このふたつは違うものなのでしょうか? 教えてください。 http://oshiete1.goo.ne.jp/qa723909.html ここをみるとほぼ同じようですが、VC#でWEBアプリは作れるのでしょうか。 自分の勉強がてら、会社の人のスケジュール帳をエクセルで、WEB上から更新できるようにするのが目的です。

  • VC++について

    お世話になります。 最近VC++の勉強を始めた物です。 お聞きしたいのですが、VC++2010はVBの機能のように”.”(ピリオド)を打つことでオブジェクトのプロパティを呼び出すことは出来ないんでしょうか? 出来ないのであればVC++使用者の皆様は、すべて本かネットで調べ上げているのでしょうか? 基礎的なことで申し訳ありませんが、ぜひ教えてください。 よろしくお願いします。

  • VC++6.0からVC++.NETへの変遷について

    VC++がようやく分かり出したこの頃ですが、今日本屋に立ち寄ったら、なっ なんとVC++の本がほとんど無くなり、代わりにVC++.NETとVC#ばかりになっていました。 C#はVC++とは違うと聞いていたのですが、読んでみるとVC++.NETもかなり違ってました。 (かなり違うという表現は、各人の状況により意見が異なると思いますが) 私のような本を見ながらコードを打って勉強している初心者にとって、VC++.NETの本ではVC++6.0を動かすことができません。 今から勉強する人や本を買って勉強しようとしている人あるいは、コンパイラを手に入れようとしている人はVC++.NETに移行してしまわざるを得ないのでしょうか? すでにVC++6.0を十分活用出来ている人も、時代の流れでNETやC#を勉強していかなければならないのでしょうか? つまり、単なるバージョンアップとは一線をなす変更がなされたということなのでしょうか? 良くご存知の方見解をお願いします。

  • VC++.NET2003と2005はどれ位違うものなのですか?

    Visual C++.NETについての質問です。 今度VC++.NETを使うので、勉強しています。 ■PC環境 VC++ 2005 Express Edition ■勉強に使っている本 ひと目でわかるVisual C++.NET Version 2003 アプリケーション開発入門 なのですが、本に書いてある例を参考に打っても時々エラーが起こります。 __gcの部分だったり、get_Now()の部分だったりと。 一体2003と2005はどれ位の違いがあるのでしょうか。 もしご存じの方がいらっしゃいましたら教えていただけないでしょうか。お願い致します。

  • これからはじめるVC++2005

    いつもお世話になっております。 ご相談したいことは、これからVC++2005を勉強したいと思うのですが、経験者様たちからの助言を受けたいなと思っております。 例えば、お勧めの書籍、知っておいたほうが良い知識、学習順序などです。 よろしくお願いします。 ※こちらの経験は ・ANSI-C/C++基本 ・C#基礎 ・VB.NET学習中 ・VC++6.0挫折(もちろんMFCも) などです。

  • VC++を始めるにあたって

    始めまして。今回会社でVC++でMFCアプリケーションのプログラミングの仕事をすることになりました。  現在の私のスペックです。  [0] 今年入社、毎日プログラムの学習をしてます。  [1] 経験したプログラム   [1-1] C 学生時代、授業で基礎のみ   [1-2] JAVA 同じく授業で基礎のみ   [1-3] VC# 10日で覚えるVC#.netと言う本で学習中    VC++自体始めてなので、関数や書き方も理解してなくて、何から勉強したらいいのか分かりません。 いい勉強方法があれば教えてください。 また参考になるHPや参考書もあれば教えてください。 以上です。お願いします。

  • WindowsAPIとVC++について

    はじめまして。今学生でゲーム系の会社に就職しようと思って、ゲームプログラムを作ろうとWindowsAPIとVC++を勉強中です。 色んな方の質問を見て思ったのですけど、VCでゲームプログラムはあまり書かない。と言うのが気になりました。そこでAPIを勉強しようと思ったのですが、気になることがいくつかあります。 ・APIのコードを書く方々は本を見なくても1からコードを書けるのですか? ・本を見ないとプログラミングできないと言うのは、その言語を使えると言うことになりますか(変な質問ですが、就職するときのネタで) ・簡単にAPIのコードを入力するツールがあるのですか? ・ゲーム系の会社に就職しようと思うならこの先、どんな順番で何をするのがお勧めか教えてください(時間があまりないので)。 聞くことが多いのですが、1つでもいいので知ってる人がいたらよろしくお願いします。

専門家に質問してみよう