プログラミング言語について
よく皆さん、最初に触るプログラムは何がいいかとよく疑問を持っている方が多いようで。
まぁ、私個人の意見ですがそのことについてちょっと書いてみようかな、と。

まず簡単なプログラミング言語についてですが、一言で言ってしまえばそんなものはありません。
まぁほとんどの方がわかるかと思いますが、プログラミング言語は基本的には英語によって書かれますが、だからと言って英語ができればすぐに覚えられると言うようなやさしいものではないかと。
プログラミング言語とは、1つの確立された言語(英語やスペイン語と言った言語のことと考えてください)であり、学ぶにはそれなりの学習を必要とする言語です。
まぁ、英語やスペイン語は人間を対象にしているのに対し、プログラミング言語のC言語やBASIC言語はコンピュータを対象としている、その程度の違いと考えてもらっていいかと。
ちょっとプログラミング言語をかじりたい、簡単な処理を行ってみたい程度なら、for文やif文を覚えるだけで満足すべきでしょう。
それに、一概にプログラミング言語と言っても、使用用途は広範囲なものです。
たとえば、ミサイルの弾道計算などの四則演算や不動少数演算を大量に行うために開発された言語やEUCが使用するソフトを開発することを主とした言語などがあります。
まぁ、ほとんどの方は後者の目的で学ぼうと思うのではと思いますけどね。
それを踏まえた上で、ちょっと私が経験した、と言っても高々5年程度ですが、私の考えが多少なりとも参考になればと思います。

一番初めに触ったほうがいいのではと思う言語、それは私はBASICだと思います。
まぁ、今ではVisualBasicと言う言語のことを指しますけどね。
VBは、正直プログラム言語の中でもプログラミングのしやすさに重点をおいた言語です。
そのため、拡張性や汎用性、処理速度などは他の言語に目劣りする点はありますが、VBとVCを使ったことがある方なら分かるように、VBは初心者にとってプログラミングの楽しさを簡単に教えてくれる言語だと思います。
ちょっとインナーな部分になるんですが、VCだと、フォーム1つを作るだけでもいちいちソースを書かなければならないのに対し、VBではプロジェクトを製作した時点でフォームが出来上がっており、あとは実行するだけでフォームを立ち上げることができます。
VCでも簡単なHallowプロジェクトがありますが、メッセージ処理1つ1つを事細かに指定してやるのは、初心者にとって難しい分野に入るかと。
それに比べてVBは、既に個別のメッセージ処理を行えるように分割されているため、あとはフォームのアンロードやら、キーダウンやらの処理はそこに書いてやるだけと言う、ソース的にも見やすい物が作れます。
また、インタプリタ言語でもあるため、実行と同時にフォームが立ち上がるためコンパイラの時間が削除されますし、また何よりフォームのレイアウトがVCに比べてとても簡単と言う点が上げられます。
VCでは、親フォームにピクチャボックスを設置する際には、ソースに書かなくてはできないのに対し、VBではレイアウト時点で簡単にフォームのレイアウトができます。
また、クリックひとつで処理内容を書けると言う点でもやはりVBは初心者向きの言語だと思います。
例えて言うならば、再描写処理を行うには、VCではいちいちWM_PAINTと言うメッセージが送られてきたときに処理を行うのに対し、VBでは再描写させたいリソースのAutoRedrawをTrueにしてやるだけで描写されます。

初心者向けの言語であると言うことは、同時に上級者には向いていない、と言うことになります。
正直企業などでも、VBを使えるユーザを募集しているところはほぼまれで、ほとんどがCやC++と言った言語を重視しています。
そこからも分かるように、VBは基本的には個人でやるには最適で、その範囲を超えることは難しい、と言うことでしょう。
前述したように、拡張性や汎用性、何より処理速度で他の言語と明らかに劣っているためと思われます。
BASICを使った開発ソフトがVBぐらいしか見受けられないというのも、その例ではないでしょうか。

VBになれ、プログラミング言語のノウハウが分かり、どんなソフトでも時間さえあれば作れるようになったとなるとC言語やC++に移ることを検討すべきでしょう。
正直、VB慣れしてしまった場合にC++などに移行するのはかなり慣れないものです。
文末に;を付けることや、イコール判断式には==にするだとか、正直VBのままで書いてしまいエラーが多発する、と言うことは避けて通れないかと。
私もそうでしたから。
そして何より、VBではほぼ使用しないシステムがC++などには数多く存在します。
まぁ、その内容まで書くともっと時間がかかるのでここでは割愛します。
C++の特徴は、なんと言っても拡張性があると言うことです。
VBでは、1つのプロジェクトを作ると、その中に書いているソースはそのプロジェクトでしか使えず、拡張して他のプロジェクトでも使えるようにするにはコピーしたりDLLにしたりする必要がありました。
でもC++などでは分割コンパイルという機能があるため、一度作ったソースを分割し、他のプロジェクトへ回すことが容易にできるわけです。
たとえば、ゲームを重点に作っている人にとって、グラフィックを表示させる機能は避けて通れない処理です。
もしグラフィックを表示するソースを最初の1度だけつくってあとに使い回せるとすれば、後の製作にかかる時間はその分は短縮できる、ということが可能です。
また、1度コンパイルしているため無駄なエラーが発生しないため、バグの発見や発生の時間も短縮できます。
オブジェクト指向プログラミングといわれていますが、ただ、これを何のプログラミング知識もない人が1から学ぶとなると、途中で挫折することは目に見える気がします。
C++は中〜上級者向けであり、初心者に対しては決してやさしくない言語ですが、プログラミングの楽しさというものは、VB以上に得られると思います。

なので、これから始めようと思っている人にはまずはVB、そしてVC、更なる高みを目指すならフォートランやアセンブラ、終いには機械言語へと進むことをお勧めします。


と〜っぷ