|
日本語、英語、フランス語...人間が使用する言語はいろいろな種類があります。
これと同じように、コンピュータを制御するプログラミング言語にもいろいろな種類があります。
そこで、上級編をはじめるにあたって、最初にプログラミング言語の種類について見てみましょう。
人間が使用する言語は、ほぼ固定化されていて新しい言語が次々に生まれてくるといったことはあまりありません。
それに対し、コンピュータを制御するプログラミング言語は流動的で、次々に新しいものが生まれたり古いものが消えていったりしています。
プログラミング言語の特徴としておもしろいのは、消えていくものは必ず古いものとは限らないことです。
古くても人気のあるものは残り、新しくても人気のないものは消える。
それがプログラミング言語というものなのです。
プログラミング言語には、新旧に関わらず押さえておきたいものが存在します。
その他にもトレンド(流行)のプログラミング言語と呼ばれるものも存在します。
どれだけのプログラミング言語を使いこなせることができるか?
一見すると使いこなせるプログラミング言語の数でその人の技量が決まってしまいそうですが、それはあまり重要ではありません。
では、プログラミングには何が重要になってくるのでしょうか?
プログラミングで最も重要なのはアルゴリズム(計算の手順)を考えることなのです。
このアルゴリズムをしっかりと組み立てることができれば、後は使用するプログラミング言語の文法にしたがってプログラムを記述(コーディング)すればよいのです。
これは、英語で書かれた名作は、日本語に翻訳されても名作になるのと同じことなのです。
つまり、書かれている言語は何であれ内容(コンテンツ)が重要になるのです。
このことは、コンテンツ(Contentus)勝負といわれる、現在のネット産業にも通ずるものがあると思います。
とはいっても、プログラミング言語の中にも押さえておきたいものがいくつか存在します。
そこで、上級編をはじめるにあたって押さえておきたいプログラミング言語を5つほど取り上げてみました。
ここで取り上げたプログラミング言語は、今後上級編で扱っていく予定ですので、ここでは概要の把握にとどめておきます。
■Java
現在、押さえておきたいプログラミング言語の筆頭格はJava(ジャバ)でしょう(「すずひろ」は、最初Javaと聞いたとき、スターウォーズに出てきたジャバ・ザ・ハットの姿を思い浮かべてしまいました...)。
JavaはSun Microsystems(サンマイクロシステム)が開発したオブジェクト指向の言語で
す。
用途としては、Javaで記述されたプログラムの中間コードをWWWサーバーからWWWクライアントに送り、クライアント側でこのプログラムを実行できるようにするものです。
Javaコンパイラが生成する独自の中間コードは、機器依存のないプログラムを作成することができるため汎用性が高いとされています。
言語仕様的はC++に近いということができますが、C++に比べるとポインタがないことやクラスに属さないメンバを宣言できないなどの違いがあります。
余談ですが、プログラミング言語の名称は略語(たとえば、BASICはBeginners
All purpose Symbolic Instruction Code)が多いのですが、Javaに関しては何かの略語にはなっていません。
なぜJavaと言う名称になったのかは諸説がありますが、コーヒーの名前からとったとされる説がもっともらしいといわれています。
■JavaScript
JavaScript(ジャバスクリプト)は、Javaとは関係がなく、Netscape(ネットスケープ)が自社のネットブラウザであるNetscape
Navigatorに組み込み一躍有名になりました。
当初、JavaScriptはLiveScript(ライブスクリプト)と呼ばれていましたが、Netscapeがマーケティング的にJavaScriptと呼ぶようになりました。
これに対し、Microsoft(マイクロソフト)は、とくにインターネットをターゲットにしたECMA(European
Computer Manufacturers Association)準拠のスクリプトとして、
ActiveX(アクティブエックス)コントロールおよびOLE(Object
Linking and Embedding)オートメーションサーバーを使用しているWebブラウザとアプリケーション用の高速なインタープリタであるJScript(ジェイスクリプト)を開発しました。
JScriptは、その名前からJavaであると思われがちですが、Microsoftは、JScriptはJavaではなく、何の関係もないとしています。
そして、Microsoftも自社のネットブラウザであるIE(Internet
Explorer)にJScriptという名称でJavaScriptと互換のあるスクリプトを組み込み、現在の2大ブラウザの基盤が固まりました。
したがって、基本的にJScript、あるいはJavaScriptについて言及した場合は、スクリプティング言語に関する同一ECMA規格の、それぞれのメーカー毎の呼び名を指すことになります。
■VBScript
VBScript(ブイビースクリプト)は、Visual
Basic Scripting Editionの略称でVisual Basicのサブセットを使ってスクリプトを作成することができます。
VBScriptは、Microsoft
Office製品などのポピュラーなアプリケーションとVisual Basic開発システムで使われているVBA(Visual
Basic for Applications)のサブセットとして高速に動作することを念頭に設計されているため、厳密な型の使用はサポートせずにバリアント型だけをサポートしています。
また、VBScriptはWeb上で安全に使えなくてはならないので、クライアントマシンのOSやファイルシステムに直接アクセスする機能(たとえば、クライアントマシン上でファイルI/Oを行ったり、レジストリを読み込んだりすること)は含まれていません。
VBScriptは後継であるVB.NETへの移行が期待されていますが、まだまだ現役で活用されています。
■SQL
SQL(エスキューエル)は、Structured
Query Languageの略称で、日本語に訳すのであれば「構造化問い合わせ言語」ということになり、データを行(ロウ)と列(カラム)から構成される表(テーブル)として扱うところに特色があります。
SQLのきっかけは、1970年にIBMサンゼノ研究所に所属していたE.F.コッド博士が「大型共用データバンク用のリレーショナルデータベースモデル(A
Relational Model of Data for Large Shared Data Banks)」という論文を発表し、その原理を基にIBMはSystem
RというRDBMS(Relational DataBase Management
System)を完成させたことに遡ります。
それと同時期にデータベース操作を目的とした言語であるSEQUEL(Structured English
QUEry Language)が開発され、System
RにはそのサブセットであるSQLが搭載されました。
このため、SQLのことを「エスキューエル」ではなく、「シークウェル」と呼ぶ人が今でも存在しています。
このSQLを基にして、大型汎用コンピュータ初の本格的な商用RDBMSであるIBMのDB2(デービーツー)が生み出され、その後UNIXをベースとしたRDBMSのOracle(オラクル)が登場し、パソコンベースにまで広く普及し定着しました。
■C++
C++(シープラスプラス)は、1970年代後半に米国のベル研究所で開発されたC言語を改良してオブジェクト指向の機能を追加したプログラミング言語です。
C言語は開発当時、UNIX(ユニックス)のOSのほとんどがC言語で記述されたことから注目を集め、現在ではUNIXに限らず数多くのOS上で一般に普及しています。
C++は、Bjarne Stroustrup氏によって当初はC言語を出力するプリプロセッサとして開発されました。
その後、広く普及したC言語と完全に上位互換があり、C言語からの移行が容易である点が高く評価され、C言語といえばC++に対応しているものがほとんどという状況になりました。
以上の5つが押さえておきたいプログラミング言語であると「すずひろ」は感じています。
上級編では、これらのプログラミング言語を使ったノウハウについて順次取り上げていきたいと思っています。
|