よんたまな日々

サッカーとゲームと本とおいしい食べ物

言語オタの回顧

2005年02月21日 | ネット生活
と言っても、英語やドイツ語などは大の苦手で、コンピューター言語のほうでございます。
最初に触れたのが、大学の計算機実習でのFORTRAN。
プログラムは前から実行しているんだということがわからずに苦労しました。でも、その壁を乗り越えて、プログラムを作ることにはまり始めた頃、コンピュータクラブの友人が、プログラムの美しさを評価するソフトをくれました。これで、美しいプログラムって何だろうって考え始めたのが、言語オタ(つーほどでもないですが)への最初の一歩でした。
MSXを買って、BASIC でいろいろと作ってみた後、今度は大学の授業でPASCAL を学びました。ここで初めて構造化プログラミングという概念に触れ、衝撃を受けました。
その後、独学で、まずC言語を学び、PASCALでは理念的には正しいのだけど、あまり効率的に実装されていなかった、関数間の引数の受け渡しを、ポインタという概念により、実にスムーズに実装されていることに感心します。また、ヘッダとボディを分けて記述することにより、ライブラリを簡単に作れるようなインタフェースを備えるという技術も知りました。
次に興味を持ったのがLOGOだったのですが、これは子供向けの入門書しか見当たらず処理系も持っていなかったため、あっさり諦め、次にLISPを学びました。こちらも処理系は持っていなかったので、本を読んだだけですが、これまでやってきた手続き型プログラミングとまったく異なる考え方の関数型プログラミングという概念が非常に面白かったです。
特に、データのみならず、プログラム自体もリストになっていて、自分で作ったリストをプログラムとして実行できる、eval 関数の存在は驚きでした。こんな機能があれば、簡単に自己増殖するプログラムがかけるじゃん。
次に手を出したのがProlog だったのですが、こちらはちょっと難解で歯が立たなかったです。
この後、しばらくは新しい言語の習得はしなかったのですが、大学の研究室に配属になり、TeX という、プログラミング言語としか思えない文書整形ソフトと出会い、こちらにしばらく熱中します。

その後、会社勤務になって、トップダウン設計とボトムアップ実装をOJTで叩き込まれて、大規模プログラミングの基本をマスターし、その後に、言語オタにとっては夢のような仕事が舞い込みます。と言っても、DBとオブジェクト指向を使ったプログラムという、まー、今では当たり前の仕事なのですが。
とりあえず、そこでSQLの基礎と、オブジェクト指向の基本概念を学び、C++を覚えました。
C++を身に着けたことでもう10万行クラスのコーディングができるようになっていたのですが、クラス設計というのが実に重く、継承上位のクラスに影響を与えるような、要求仕様レベルの変更があった場合、Cなら多分数日でコードを書き換えられるのに、C++なら下位クラスにどういう影響を与えるか調べながら変更していった場合、あっという間に1週間2週間平気で過ぎてしまうという困った状態になっていました。
その後、開発エンジニアから、SEになり、UNIXでの編集作業が増え、sed, awk と覚え、次にperl と出会いました。C++のプログラマーにかける負荷に辟易していた僕は、スクリプト系の言語の軽さに痺れました。しかもPerlにもeval 文があるんですよね、うわっ、病気だよ、こいつ。と思いました。
でも、Perlは構造化という面で、微妙に今一つだったのですが、ここにRuby が来て、ついにスクリプト系言語もオブジェクトプログラミングができるようになりました。
ここで、C++のような重さが一緒に付いてくるとスクリプト系言語のメリットがなくなってしまうわけですが、Rubyには、最初から非常に洗練されたクラスライブラリが付いてきまして、普通の人が普通に使う分には、自分でクラス設計を一切しなくてよいという素晴らしい環境になっています。いや、どうしてもやりたければ、自分でも綺麗にクラスライブラリを作れるんですけどね。

ということで、ここ2,3年は新しい言語を覚えていません。ようやく言語オタの血を鎮める究極の言語ができたということで。

Java、Delphi、VBはあまりきちんと勉強する機会がなかったです。HTMLもあまりにも世代が多過ぎて、どこから勉強していいのか。まー、スタイルシートくらいは勉強しろよ>自分
XMLもまだ手付かずです。

あ、Javaについては一言だけ言っておきたい。
それまで、コンパイラが主流だったところに、あえて、インタプリタで、しかもヴァーチャルマシンを使った中間コードで実行するという欠点にしかなり得ない部分を、インターネットで利用することで全て長所に替えてしまうという発想は痺れました。すごい面白そうだったので、本は買ったんですけど、クラスライブラリがこちらもあまりにも複雑過ぎて挫折してしまいました。

と、過去の言語遍歴をつらつらと告白するに、全然言語オタじゃないことがばればれの文章になってしまいましたね。えへへへ。

ちなみに、この文章を読んで何が書いてあるかわからない人は気にしないでください。
昨日上げた沈黙交易の人のブログを読んでいるうちに、すっかり忘れていた言語オタ(もどき?)の血が騒いでしまっただけです。わけわかんないこと書いてごめんなさい。

最新の画像もっと見る

コメントを投稿