今回は,時代を追いながら,使ってきたプログラミング言語について書きたいと思います。
流行の移り変わり
自分が最初に触ったコンピューターは,カシオかシャープのポケットコンピューターでした(もはや型番も何も憶えていません)。
ポケットコンピューターは電池で動作する,ソロバンくらいの大きさのコンピューター…というより,高機能な関数電卓と言ったほうが良いかもしれませんね。ディスプレイは一行だけで,そこに文字や数字を打ち込んでプログラムを組んでいました。
また,ファミリーベーシックという,任天堂が出していたコンピューターも使ったことがありました。
いずれにおいても,BASIC(ベーシック)というプログラミング言語を使っていました。
BASICの特徴は,プログラムの各行に行番号を付けて,それを番号順に実行していくというものでした。面倒ではあるのですが,プログラムの実行順が番号のとおりになるので,ある意味分かりやすいという利点もあったと思っています。
MSXがやってきた
その後,MSXというコンピューターを使うようになりました。ちなみに,MSXというのは規格の名前で,コンピューターの製品名ではありません。使っていた機種は忘れてしまいましたが,エプソンのものを使っていたような記憶があります。
これでも,BASICを使ったプログラミングをしていました。
MSXは比較的多くの資料が出回っており,個人が投稿したプログラムを掲載した雑誌などもありました。
ちなみにMSXでは,最近のコンピューターが使っているようなディスプレイではなく,普通のテレビに接続して画面を表示していました。また,記録媒体は3.5インチのフロッピーディスクや,カセットテープ(!)を使っていました。
どれもこれも,今では考えられないようなものです。(最近のテレビはコンピューターを接続できるようになっていますが)
PC98がやってきた
変わり始めたのは,NECが販売していたPC-9801シリーズ(以下,PC98)を使うようになってからです。
それまではコンピューターに内蔵されたOS(オペレーティングシステム)を使うほかなかったのですが,PC98からはMS-DOSという,マイクロソフトの作ったOSを使うようになっていました。
それによって何が変わったかというと,それまではコンピューターに内蔵された機能を使っていろいろな作業を行っていたところ,いろいろなところが作ったソフトウェアを自由にインストールして多くの作業を行うことができるようになったのです。
例えてみれば,昔々はアプリをインストールできないiPhoneだったのが,アプリを自由にインストールできるようになった,と言っていいかもしれません。
この頃から,Cというプログラミング言語を使うようになりました。
これはプログラムの構造化という概念を取り入れたほか,ポインタという機能が使えるようになっており,最近のプログラミング言語の根底に流れる考え方を多く持っている…と思います。Cも他の言語から機能を拝借しているとは思うのですが,広く使われていたので,これが出発点だと考えている人も多いのではないかと思います。
この記事では,どこがスタートラインなのかはあまり重要な問題ではないので,深く追及することはしないようにしておきます。
その後,Cにオブジェクト指向の概念を追加したC++という言語を使うようになりました。
少しの間だけ,マシン語(コンピューターが理解できる言葉を直接記述するプログラミング言語)を試してみたこともありましたが,能力の限界を感じて,すぐにやめてしまいました…。
この頃は,まだWindowsもなく(あるにはあったのですが,ごく一部だけで使われる,マイナーなOSでした),コマンドラインでテキスト(文字)を操作するのが主でした。
そして,限られた機能を見事に使いこなし,驚くようなソフトウェアを開発する方々がたくさんいたのを憶えています。この頃のコンピューターは,本当に「趣味」のためのものだったと思います。
Windows95
Windows3.1を経て,世間もコンピューターというものをハッキリと認識し始めたのが,Windows95でしょう。
マウスを使ってカーソルを動かし,アイコンやメニューを操作するという,GUIが広がったのも,この辺りだと思います。まあ,マッキントッシュ(今のMac)という先人もいるにはいたのですが,認知度という点では,やっぱりWindowsの方が上だったと思います。
この頃も,C++を使い続けていました。
当時は,マイクロソフトの他に,ボーランドという会社があり,それぞれコンパイラー(プログラミング言語をコンピューターが理解できる形式に変換するソフトウェア)を作っていました。個人的には,GUIを使ったソフトウェアを簡単に作れる環境を提供していたボーランドの方が好きで,よく使っていました。
C++のほかに,Pascalという言語もありました。ボーランドはDelphiという名前で製品を出していましたが,中身はPascalです。
Pascalは,記号の羅列的なC++に対して,自然な言葉に近くできるよう努力したプログラミング言語だと思います。あまり使っていないので詳しくは分かりませんけれど。