どのようなプログラミング言語等を触ったんだろうか
「今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したものものも含む)」
http://d.hatena.ne.jp/oorexx/20090507/1241703786
に反応。
半生を振り返るようなかんじで、誇らしくなるならいいけど、他の人のリストも見てると、振り返るんじゃなかったとorz
でもせっかくなので、公表してみます。
「恥ずかしいけど見てください」か…。
- N80 BASIC
- PC-8001 mk2 ね。PC-8001の「グラフィック」は160x100ピクセルというよりか「80x25文字」。mk2になって「高解像度グラフィック」で320x200ピクセル出たんですが、なんと4色。
- Z80 ハンドアセンブル
- あんまりちゃんとやってない。PC-8001mk2 のユーザーズマニュアルのニーモニック表を見ながらハンドアセンブルをやって、ブロック転送で逆スクロールやってみたり、低解像度グラフィックの処理をやってみたりしてました。get,putを使うとアトリビュートエリアが枯渇するので、先にアトリビュートエリアを書いてました。当然画面クリアするとおかしくなるはずですね。あと、I/Oのダンプをちまちま入れられる人が偉いと思ってました(今も思ってます)。
- C
- 当初、当時のfjで悪書の呼び声の高かったテキストで学習。悪書であったかどうかは判別しかねます、手元に無いもの。ポインタでひっかかりました。その後も文字列処理とかを書いて、ずーんと止まらずにループしたみたいでSegmentation Faultを出すのはいつものことでした(coreはシェルのlimitで吐かせてませんでした)。
- Lisp
- KCL使いました。半日で挫折しました。
- C++
- ANSIになるかならんかあたりだったかに、ちょっと。 本当にたしなむ程度。「ちょっと便利なC言語」としても使わないなあ。
- Perl
- 簡単なスクリプトを思った通りに書けるので、今も使ってますが、特にしっかり考えて書かないので、スパゲッティコードになりやすいです。
- awk
- Perlでやってしまうので、あまり使いません。
- Prolog
- SICSTUS-Prologだったと思う。これと言って本格的なプログラムを書いたことが無いですが、
?- mortal(socrates)
でyes.
と出た時に、何か可能性を感じましたが、可能性を感じたまでしか思考が及びませんでした。あと、appendとか再帰のプログラムを書くと、なにか気分良かったです。Prologって何かそのうち使ってあげたいと思っているのですが、機会が無いですねえ…。 - KL1
- ガード節が付いてました。klicという処理系がありました。
- CESP
- Common Expanded Self-contained Prologの略で、ESPというのがあって、それのワークステーション用がCESPという位置づけ、というのだったんじゃないかな。オブジェクト指向のPrologでした。ただ、多数の繰り返しを行うような、Prolog界の住人が見ると唖然とするようなことをしていました。
- BNF
- 構文解析ってどうやるんだろうみたいなかんじで、yacc, bison をやってみました。DFAが限界の私は、未だにyaccやbisonが吐くコードを理解してないです。
- Java
- JDK 1.0.2 添付のデモを見て、ブラウザ上でスプレッドシートもどきが動いてたのに感動。しかし、「動きのあるホームページを作る」ためのJavaが下火になったぐらいの頃に放り出しちゃった。
- FORTRAN
- GFDL(GNUのライセンスじゃないよ)のプログラムの一部を改変するために読まざるを得なかったというのが正直なところ。嫌いなわけじゃないですが、もう読み書きする機会も無いだろうなと思う。
- HTML
- 当初、当時のfjで悪書の呼び声の高かったテキストで学習。<p>は<br>2個分で、<hr>は「ヘアライン」ですね:-) 紆余曲折を経て今に至る。
- CSS
- <blink>要素とかに辟易し(もうこういうページは見ない)、<table>を位置決めに使うことに抵抗を感じていました(今も感じています)ので、論理構造とレンダリングとを分離する、という思想には飛びついたものの、Netscape Navigator はCSS対応がぐちゃぐちゃでした。
- NTT版LaTeX
- 卒論とかに使いました。最近はMS Wordですが、数式を扱うには、TeX系の方がしっかりしてるんじゃないですかね。
- nroff
- TeX系を「プログラミング言語」に入れていいなら、これも入れるべきでしょう。manファイルの「ソース」を見て、見よう見まねでやってました。
- VB6
- 開発ライブラリでうまくいくのが、ランタイムライブラリではうまくいかない、とかいう現象に出くわした時には殺意を覚えたじょ。あとAccess VBAでは、クエリーからコントロールの値を参照できて、キモかわいかった。
- SQL
- Accessアプリケーションを作った際に低機能SQLを使ってました。その後、PostgreSQLを使い、今に至ります。mysqlはほとんど触ってないにゃー。
- PHP
- PostgreSQLとセットに入門。データベースをバックエンドに置いておくウェブアプリケーションを書くことになり、ずいぶんと入りやすいなと思ったために選択。
- VB.net
- VB6の流れでそのまま行ったと。でもVB6とは似て非なるものと考えて、分けました。
- JavaScript
- Google Maps API を触るためでした。関数の扱いがステキ。
- pl/pgsql
- 最近ちょっとやっただけです。