解決済みの質問
Visual Basicの勉強を始めたばかりの初心者です。
現在はエクセルでVBAを使い、日単位での売上集計・確認システムもどきを作ったりしています。
さすがにVBAだけでは限界を感じ、またプログラミングに興味を持った良い機会なので勉強したいと考えました。
そこで質問なのですが、このままVBを勉強した方が良いのでしょうか?
それとも、まずはCやC++、C#を勉強した方が良いのでしょうか。
VisualC++ やVisualC#は言語として、まったく別物なのでしょうか?
目標は総合的な売上管理や人件費の管理が出来るものを作りたいと思っています。
質問ばかりで申し訳有りませんが、宜しくお願いします。
投稿日時 - 2005-08-30 00:56:44
言語習得はなるべくC言語からがいいと思っていますし、良く言われることです。
なぜかというとC言語というのは他の言語と違ってメモリを意識する必要があるからです。
VBでもJavaでも使おうと思わなければメモリアドレスなんて出てきません。
これはこれでよく出来た言語ですが、逆を返せばコンピューターの基礎も知らずに作っているようなものです。
C言語以外の言語ではメモリリークだとか不正アクセスだとかを起こすのは結構大変です。
しかしC言語はちょっとしたミスでそれらを引き起こせます。
コンピューターの動作というのはこれほどシビアなのだということを知らない人は多いはずです。
ですので先にVB等の楽な言語を覚えてしまうと、C言語との差に苦労すると思います。
やる気があるのでしたら、C→C++等のオブジェクト指向言語へと勉強すると良いかと思います。
ただ売上管理や人件費管理のアプリはVBでもできます。
というかVBで作った方が簡単です。
今はあまり流行っていないかもしれませんが、画面周りはVBで作り、内部処理の一部はCでDLL化したりという手法もあります。
もしもっとVBを勉強するのならVB.netを勉強するといいかもしれません。
VBAやVB6.0と違ってオブジェクト指向を取り入れているので他の言語の学習にも効果があるかと思います。
投稿日時 - 2005-08-30 15:12:11
お礼
メモリを意識する件は、他の方の質問への回答で知りました。
VB系を勉強して、時間に余裕が出来たらCから勉強したいと思います。
詳しい回答ありがとうございました。
投稿日時 - 2005-08-30 22:12:20
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(3件中 1~3件目)
C言語歴7~8年になります。VBは、自分で使うツールをチョチョイと作るのに使用しています。最近はJavaを勉強しています。
> さすがにVBAだけでは限界を感じ、
VBはおそろしく手軽に使えて、強力な言語(とコンポーネント群)だと思います。VBだけでかなりのことが出来ます。限界を感じたとしたら、それは言語の問題ではなく、プログラミングの方法論やアルゴリズムをご存じないからではありませんか? (VBだと、そんなもの知らなくても動くものが作れるからすごいのですが。)もしくは、コンポーネントの使い方を知らないとか。
C++はC言語でオブジェクト指向プログラミングが出来るように拡張したものですが、Visual C++ は(文法はC++を踏襲していますが)Microsoft Windows で動くプログラムを書くためのものであり、汎用性は低くなります。もっとも、Windowsで動くプログラムしか書かないのであれば気にする必要ありませんね。
Visual C# はMicrosoft社オリジナルの言語です。他所では使えません。Javaによく似たところがあります。Javaは汎用性が高く、様々なプラットフォームで動作します。(携帯の上で動いていたりもします。)
余談ですが、VisualBasic最初からオブジェクト指向です。
VBの勉強を始められたばかりということですから、もっと深くVBを極められてはいかがでしょうか。
投稿日時 - 2005-08-30 18:53:22
お礼
仰られている通りです。
いろいろ作って、使いながら覚えていったので、方法論やアルゴリズム等はまったく分かりません。
まずは、基礎をしっかりしたいと思います。
回答ありがとうございました。
投稿日時 - 2005-08-30 22:04:15
プログラミング言語学習に王道はない(と思う)ので、以下は考え方の1つとして読んでください。
VBAだけではさすがに世界がちょっと狭いですが、VB一般に広げれば一気にメジャー言語の仲間入りです。星の数ほどあるプログラミング言語の中でトップ10には入ります。ひょっとすると、集計の仕方によってはトップ3にも入るかもしれません。
また、目標とされている「売上管理・人件費管理プログラム」の作成は、VBのプログラム課題としてもうってつけかと思います。
このようにVBは非常に実用的な言語で、なおかつ目標もVB向きですので、VBの勉強は続けられるのがよいかと思います。
そして、VBの勉強を続けているうちに「なんでこの処理がVBではこんなに面倒なんだろう」「これがVBでできないことは分かったけど、なんでできないんだろう」という疑問が出てきたら、その時こそ他の言語を勉強するチャンスです。
プログラミング言語には、それぞれいろいろな得手・不得手があります。解説書に「〇〇言語は××が苦手だが、△△言語は得意である」みたいなことが書いてあることもあります。でも、得意とはどういうことか、あるいは苦手とはどういう状況のことを言うのかは、実際にプログラミングを行って「おーこれは楽だ」とか「これは大変だなー」とか体験しなければ実感できません。
職業プログラマを目指されるのであれば悠長に「体験」が訪れる(笑)のを待つわけにもいかないと思いますが、そうでなければ、自分のペースで学習していくのが一番かと思います。
投稿日時 - 2005-08-30 03:37:16
お礼
やはりVBの方が楽に作れるのですね。
継続して勉強したいと思います。
小さな会社なので、高価で立派なシステムは導入出来ません。
パソコンは有るのに活用出来ていないので、何か作れないかと思い勉強を始めました。
職業プログラマを目指してはいませんが、やるからには
それを目標にするくらいの気持ちでやりたいと思います。
回答ありがとうございました。
投稿日時 - 2005-08-30 22:19:22
ヘボグラマーですが、私が思うに、C言語は他の言語とも非常に作りが似ていると思います。ですので、C言語を覚えておくと他の言語の覚えも早かったりするのです。ですので、C言語を勉強するのはかなりお勧めします。
あ、ちなみにVBはやったことないので…。
VC++はVBみたいな感じで作れると思います。使う前にC言語の勉強はしたほうが良いと思いますが。
投稿日時 - 2005-08-30 01:00:52
お礼
回答ありがとうございます。
C言語はプログラミングの基本、基礎と考えた方が良いと解釈しました。
早いうちにC言語も勉強できるようにしたいと思います。
投稿日時 - 2005-08-30 22:23:42