Excel VBA 数学教室ではアフィリエイトプログラムを利用して商品を紹介しています。

BASIC、FORTRAN、C++(私のプログラミング遍歴)

私のプログラミング遍歴

今回は私のプログラミング遍歴についてお話します。今の若い人には意味不明な用語も出てくるかもしれませんが、古い時代の話だと思って、まあ適当に読み流してください。

BASICでプログラミング人生を始めました

私のプログラミング歴は BASIC から始まりました。はい。すでに若い人は
BASIC ??? 何それ ???」
と混乱しちゃってますね。私の世代は BASIC から始めるのが普通だったのです。それが正統派スタイルだったのです(← 本当かよ?)。古い時代の人間ですからね。今となっては化石となったこの言語を NEC の PC9801 というマシンで動かしていました。

はい、また若い人は
「PC9801??? 何それ???」
と頭に疑問符をいっぱい浮かべているかもしれませんが、知らない用語に出会うたびに立ち止まっていたら話が進まないので、とにかく「昔はそういうのがあったんだね」程度に読み流してください。でも自分で書いたコードが初めて動いたときは本当に嬉しかったものです。誰かに自慢したかったです(しなくてよかった)。そういう原体験があるから、今でもプログラミング続けているのかなあと思ったりしています。

研究室ではもっぱらFORTRANを使っていました

大学では理論物理学を専攻していたので、シミュレーション計算に必要となる C 言語や FORTRAN の講義を受けていました。コンピュータやネットワークの基礎を学ぶ情報科学の講義もありました。でも今思い返すと … C 言語の講義はひどかったです … 教える人材が不足していたせいなのか、どう考えても(計算機に関しては)素人みたいな教授が講義をしていました。できれば工学部から教授を回してほしかったですけど、スケジュール的に無理だったのかもしれません。

4年になると理論物理学の研究室に行きました。
コンピュータ上の仮想実験室で自然現象を解析するところです。
FORTRAN をワークステーション(高価なコンピュータ)の上で走らせていました。当時としては最先端・最速の環境だったと思いますけど、数年前にネットで購入した 6 万円のノート PC のほうがずっと速く動きます(コンピュータの性能は年々指数関数的に増加しているのです)。

FORTRAN は最古参の部類に入る言語ですが、高速処理ができて、科学計算ライブラリが充実しているので、当時の数値計算業界では主流言語でした。でも、このまえネットで調べてみると、今でも FORTRAN が現役で頑張っていることを知って驚きました。地球シミュレータも FORTRAN で動いているようです。まあとにかく、研究室では FORTRAN の長いコードをばりばり書いて、コンパイルして走らせて、結果が出るまで待つということを繰り返していました。そんな生活を続けていれば、私のような馬鹿でも、それなりにコードが書けるようになるのです。

卒業したらC++を学びました

あれほど熱心だった FORTRAN も研究室を離れてからはぱったり触らなくなり、今度は C++ で遊んでみることにしました。Microsoft さんの Visual Studio に比べるとちょっとマイナーな、Borland(現在はエンバカデロ・テクノロジーズに買収された会社)の C++ Builder で動かしていました。

C++ は C を拡張したオブジェクト指向プログラミングなので、C を触ったことのある人なら始めやすい言語です。でも見た目に騙されてはいけません。始めやすいだけで、やればやるほど泥沼にはまる言語です。これからプログラミングを始めようと思う人には、まったくおすすめできません。その理由はまた別の機会にお話するかもしれませんが、これに時間をかけるなら、Python を学んだほうが絶対にいいです(あくまで個人の意見です)。

MicrosoftのExcel VBAに出会いました

私も C++ は適当なところで諦めて(頭が悪くて扱いきれなかったので)、次は PC の隅に眠っていた Office の Excel に目を止めました。すでに企業で普及し始めていた頃ですが、その当時の私は Office といえば Word をちょこっと使っていたぐらいで、Excel がどういうソフトか全く知りませんでした。

実際に触ってみると、これが案外面白くて、しばらく色々な関数のグラフを描いて遊んでいました。何しろ手軽でさくさく扱えるし、「この関数をグラフにすると、いったいどんな形をしているんだろう?」という疑問にも 3 分で答えてくれます。それから Excel の色々な機能を覚え、VBA でマクロを作ったりして、なんとなく、いつの間にかちょっとだけ Excel オタクみたいになっていました。「みたいな」であって、私は決して Excel オタクでも、コンピューターオタクでもありません。ここんとこ、絶対に間違えないでください。

マークアップ言語も面白かった

それからしばらく経って、今度は自分で Web サイトを作ってみたいと思うようになり、マークアップ言語 (HTML や CSS) について勉強しました。これがまた実に面白くて夢中になりました。実際に一から Web サイトを作るのはとても時間がかかるので、サイト運営には WordPress という CMS を利用しているのですが、最初にマークアップ言語を学んだことで、サイトがどういう仕組みで表示されているのかを知ることができたし、「ここのデザインを少し変えたいな」と思えば、自分で HTML や CSS をいじって修正することもできるわけです。何事も学んでおいて損になることはありません。C++ 以外は(個人の感想です)。

そしてPythonへ

そして現在は新しく Python を学び始めています。これがまた実に面白いのです。楽しいのです。いつも新しい言語を学ぶときには、その瞬間にしか味わえないワクワク感というものがありますね。その気持ちは初めて BASIC に触ったときと同じです。その瞬間を味わいたいので、Blog Cat はこれからも生涯色々な言語を学び続けるでしょう。Python をマスターしたら、次は Java をやってみようかなあと思ったりしています。

エクセルや数学に関するコメントをお寄せください

  1. あとりえこばと より:

    【AI連載小説】数学のリズム、エクセルの旋律(38)
    「BasicとFortran」
     
    サークルの勉強会で、真琴、研伸、月子の三人が新たなテーマとして「BasicとFortranの言語構造の違い」について討論していました。部屋にはコンピュータの画面が映し出され、三人はコードの比較を通じて言語の本質的な違いを考察していました。

    真琴:「BasicとFortranはどちらもプログラミングの入門に使われることがあるけど、構造に大きな違いがあるよな」
    研伸:「そうだね。Basicは行番号やGOTO文が特徴的で、比較的流れやすいプログラムが書ける」
    月子:「一方で、Fortranは手続き型プログラミングが中心で、特に科学技術計算に向いている。変数や配列の宣言が厳密で、数学的な処理に特化している感じがするね」
    真琴(コンピュータ画面を指差しながら):「Basicはイベント駆動型で、GUIアプリケーションが簡単に作れる一方、Fortranは低水準な計算処理が得意で、高いパフォーマンスが出せる」
    研伸(うなずいて):「それに、Fortranは多次元配列や行列操作が得意で、科学技術計算に欠かせない機能が揃っているんだ」

    三人はBasicとFortranの言語構造の違いについて深く切り込みながら、それぞれの言語の特性を理解し、プログラミングの多様性を共有していました。