プログラミングを覚えたいのですが,どのような言語から始めればいいのでしょうか。
プログラミングの目的によって,いくつかのケースに分かれると思います。さまざまなケースが考えられますが,ここでは3通りの想定から,できるだけコストをかけずに学ぶことを考えてみます。
●すぐに役に立つツールを作りたい!
自分で使うツールを,手早く簡単に作りなりたいのなら,スクリプト言語を習得するのがいいでしょう。「スクリプト」というのは,ある目的に適した形に設計されたプログラミング言語の一種といえます。
広く使われているものとして有名な,「awk」と「Perl」を挙げることができます。awkは文字処理に的を絞ったスクリプト言語で,テキストファイルをまとめて処理,集計するような場合に威力を発揮します。また,PerlはUNIX管理者が便利なツールを手早く作るために開発された言語で,現在はWindows版も入手できます。強力な文字列処理を活用したプログラムを簡単に作り上げることができます。PerlはホームページのCGI処理を行わせるスクリプト言語としても広く用いられているので,参考書が豊富にあるのも利点です。
awk,Perlに代表されるスクリプト言語は目的を絞って設計されているため,その目的に対しては力を発揮します。容易に覚えることができ,修得後は役に立つソフトがすぐに作れます。
一方,スクリプト言語で本来の目的以上のことを行わせようとすると,仮にプログラムを作ることができてもスマートにはいかないことが多いようです。また,スクリプト言語は独自の閉じた言語構造を持つことが多く,プログラミング一般についての学習には適していない面があります。
もっとも,本格的なプログラミング言語とスクリプト言語の折衷をねらったPhyson(パイソン)やtclなど,さまざまなものがあります。
●プログラミング一般を学習したい
より本格的にプログラミングの神髄を学んでみたいのなら,現状ではJavaが最も適した言語です。Javaはホームページの動的コンテンツを作るための言語と思っている人がいるかもしれませんが,それは大きな誤解です。Javaは高度なプログラミング言語として設計された,実用的に利用できる言語でもあります。
Javaには現代的なプログラミング言語が備えるべき内容である基本的な構造記述からオブジェクト指向など,あらゆる要素がスマートに実装されています。学習も楽ですし,Javaを学んでしまえば,ほかの現代のプログラミング言語やスクリプト言語は楽に理解できるでしょう。参考書も豊富でGUIアプリケーションも簡単に作成できるなど,最初に学ぶプログラミング言語としても適しています。
Javaの基本的な開発環境であるJDK(Java Developper kit)はhttp://www.javasoft.comやhttp://www.sun.co.jpのJava情報リンクのダウンロードコーナーからフリーウェアとして入手でき,これをWindowsにインストールすればJavaを学習し動作させる環境が揃います。
●プログラミングを通じてコンピュータを学びたい
突き詰めればコンピュータを動かしているのはCPUで,CPUを動かしているのはCPUの言語,つまりアセンブリ言語です。コンピュータそのものをプログラミングを通じて学ぶのなら,アセンブリ言語を学ぶことになります。ただ,アセンブリ言語だけで高度なソフトを作るのは至難の業ですから,同時にアセンブラに近い高級言語であるC言語を修得するといいでしょう。
もっとも,Windows上でアセンブラやCを使うのは初心者にとって相当な試練です。これらの言語は,MS-DOS上で動かすほうが楽。MS-DOS上で動作するアセンブラ+C言語環境として,LSIC 86という市販コンパイラの体験版(試食版といわれている)をお勧めします。体験版とはいえ,基本的なプログラムなら十分に作成できますし,非常に優れたC言語環境でもあります。LSIC 86試食版は,NIFTY SERVEのFLABなどからダウンロードすることができます。
(米田 聡)
2バイトに対応したGNU版awkとPerlであるjgawk,jperlのMS-DOS版はhttp://saturn.aichi-u.ac.jp/~mimasa/library.htmlよりダウンロードができる