簡単解説 言語の系譜 C系とVB系について

  • このエントリーをはてなブックマークに追加

あくまで個人の感覚で解説しています。古い歴史を調べている方には無意味な内容となりますので、ご容赦ください。
新しい言語が出てきたときに個人的には頭の中でC系とVB系に分類しています。C系とはC言語の流れをくむ言語、VB系はBasic言語の流れをくむ言語として分類しています。だったらVB系ではなくB系と呼べば良いのかもしれませんが、VBは「Visual Basicの略ね」と言えばたいていの方は頭の中にイメージしてもらいやすい。なのであえてVB系と言っています。

C系とVB系の根本的な違い

命令の終了の違い

C系のコーディングの文章の終わりは ”;” で、VB系は行末が終わりと定義されている。もちろん、VBもアンダースコアでつなげれば次の行に記述することができますけど、最終的には”行末”で終わるということに違いはありません。

条件の書き方の違い

代表的な条件分岐の言葉として if があります。if文と呼ばれるものです。この if の後に続くのが条件となります。「もし<条件>ならば」というもので、条件に一致したら次の文を実行しなさいというものです。

次の文と書きましたが、どちらかと言うと次のブロックを実行するというイメージの方が良いかと思います。このブロックの指定の仕方もC系とVB系で違いがあります。

VB系はいずれ無くなる?

VBの大元はBASIC言語となるでしょう。BASICと言えばBASICインタプリタを開発したビルゲイツ、ビルゲイツと言えばMicrosoft社です。ざっくり言うと30年前はMicrosoftはBASICというイメージがすごく強く持っていました。今みたいに言語がたくさんあったわけではなく、PCではC言語かBASIC言語の2択ではないでしょうか。もしろんアセンブラとかあるかもしれませんが高級言語ではこの2択だったかと思います。

C言語よりもBASIC言語が便利なのは変数のメモリ確保でしょう。C言語はメモリの確保をプログラマに委ねています。これが結構ネックで常に変数に情報を代入するときにサイズを考えながら行わないとメモリリーク(メモリ破壊)が発生します。これが「C言語は難しいよ」という感情を持たせてしまうのでしょう。これとは逆にBASICはあらかじめ決められたメモリ領域を使用させるという手法になっています。プログラマーは処理フローに集中できるという点に優れています。その分もともと確保するメモリとかライブラリーとかが大きくなりますけど。確かに昔は限られたリソースでプログラミングを実施するので、利便性をとるかメモリの有効利用をとるかの判断だったのかなと思います。Microsoft社も「BASICだとこんなに簡単にプログラムを書ける」と言っていたと記憶しています。ですが、他社の動向も気になったのでしょう。ボーランドからC系の製品が出た頃でしたかね(調べもせず、記憶に頼っているので間違っていたらすみません)。Quick CというC言語のコンパイラ付き開発環境を発表したのです。オラはここがひとつの大きな分かれ目ができたのではと思っている。

C系を出すことによってMicrosoft独自の言語開発に拍車がかかったのではと。他社ではJavaも出てきており、先ほどのC系の難しいとされているメモリ確保をBASIC並みに実現したいという思いがC#に繋がったのではと個人的には解釈している。でも、最初はなかなか大々的に推奨していなかったような気がします。Microsoft社の展示会やセミナーでは、参考のコーディングを紹介するときに必ずVBとC#の両方を提示していました。順番もVBが先です。それが、いつぞからC#が中心となり今ではC#だけとなっています。なんとなくビルゲイツ氏が経営から外れてきてからC#となったと思うのは単なる勘繰りでしょうかね。そのうちBASIC系は無くなるかも。新規案件はBASIC系以外でということが多いのでは?既存のBASIC系アプリも少しずつ他の言語ににリプレースされてあと20年内に無くなくなるでしょう。

オラはC#とVBのどちらでも行けますけど、でもほとんどC#の記述が多いです。VBの一番嫌なところは別のモジュールで”Public”宣言した変数が別のモジュールでも簡単に参照できることです。ことのほか初心者が記述したプログラムはそのような変数が多く「いったいどこからこの変数が定義あるいは値が代入されたのか」と迷惑千万なことが多い。

C#ならば少なくともクラスの中に変数(プロパティ)がいるので宣言場所はすぐにわかる。「Visual Studioならば検索すれば直ぐわかるじゃないか」と言われるかもしれませんが、そもそも別のモジュール間で値を利用するのであればパラメタ化して渡すことが望ましいと思う。

結局何が残る?

基本的なC言語は残るでしょうね。痒い所に手が届くし。それからオープン系で強いJAVAも残るでしょう。Microsoft社はC#。インタープリタ形式だったらPythonでしょうかね。スクリプトはJavaScript。PythonはともかくC系が生き残るでしょう。当たり前か--。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。