プログラミング言語

プログラミング言語の遍歴というか始めたころの思い出。基本は広く浅く。

BASIC

高校の部活で遊ぶ。 基本。 PC-6001とかPC-88とかPC98とかX-1とかFM-7とかMSXとか…。 高校の部室にあっただけであってほんとに年代ではない。 ベーマガでは現役だったが世間では引退していた。

C

最初はQuickCで遊んでいた。TurboC++にしておけばもうちょっと面白かっただろうに…と思ったが。 部費で購入では1万円の差は大きかった。exeができるんですよというのが面白かった時代。

大学に入ってSunOSを使うようになって当然gcc。 自宅のPCでLinuxを使うようになったら当然gccで…。 コンパイラがタダで手に入るなんてすばらしいと思ったのでした。

Cに関しては単純には語れませんなあ。 flexとかbisonとか遊んだとかdlを使ってプラグイン機構を作るとか強引な話とか(これはApacheのモジュールの理解に役立ったな)TCP/IPもCで勉強した。 Linux Japan(なつかしい!)を読んでカーネルモジュールを作ってみたとか…。

C++

gccができるのならgも当然。 一時Cなんか駄目だよCでオブジェクト指向じゃないとやってられねーと頑張っていた記憶がある。

C++に触ってない間にものすごく発展していてぱっと見で知らない言語になっていた。

Fortran

人の宿題の面倒を見ていて覚えた。F77しか知らないし構造化フォートランなんぞ見てない。

Pascal

B1のときの授業でなぜかPascalで書かなきゃいけなかったのでやった。 いろいろと制約がうるさくて適当に書くとコンパイラに文句を言われてムキーとなっていた。 gpcがまだできてなくて,p2cを使っていたがそれではデバッグが大変でした。

Perl

B1のときにWebサイトを作成するのでCGI,いや,CGIが使えなかったでSSIでexecだったか,まあ,そんなかんじで覚えました。 perl4から入ってperl5。あのクラスの実装はありなんですかねーと思いつつ自分でもクラスを書いてました。 今でも適当に書き殴るには便利なので。とにかくモジュールはそろってます。

Emacs Lisp

ODINのエンジンのfreyaが公開されてころにEmacsでfreya-modeを作成するのに覚えた…。まともにやってないのでだめです。

PHP

PHP3の頃でしたか。まだFIという文字も見た記憶も。

とりあえず覚えました。Perl臭くてちょっとねーという印象。

なんか少しは遊んでいた記憶はあるけど,真面目にアプリを書いたっけな。 どちらかというと人の作ったアプリのカスタマイズを頑張っていたような。 XOOPSとか…遠い記憶。

Python

LinuxJapanで知る。 オライリーの本を買ってながめて…。 真面目にやっていたようなやってないような。ちょこちょこといろいろ書いていたかな。 Zopeがあったらか頑張ったということもあったかな。 djangoとTurbogearsというフレームワークも出て楽しかった。

Ruby

1.4だったか?これもちょこちょこやっていた程度だったけど,WikiがブームになったころにAsWikiを書くことでかなり勉強。 それ以来まともに書いてないか。

RubyOnRailsはschemaの扱いがDRYに反しているじゃねーか,と思ってまともにやってない。ドキュメントもなかったし。

Scheme

とりあえずやってみるべし,面白そうだしと本を何冊か買ったが実用的な何かを書くことがないので駄目。

Haskell

darcsが書かれた言語ということで勉強。モナドあたりで放置。やっぱなんか書かないと身につくわけがない。

VB

一週間で飽きた。 SESにまぎれていたときにVB6と.NETの移行が難しいという話を周りでしているのだが, 移植コストの話じゃなくてVB.NETの文法が理解できないから移行ができないという周りの技術レベルに衝撃を受けた。

C#

展示会の現場でデバッグとか…。 C#が偉大というよりVisual Studioが偉大という話だった。

Lua

imapfilterの設定ファイルを書くのに覚えた。たしかに言語仕様は非常に軽い。

Java

仕事でやってしばらくやらなくて10年経ったらまたやってみたいな話だった。

Scala

突然仕事で覚えた。コンパイルが遅い…。

Rust

最初見たときライフタイムとか借用とか面白いなーと思って注目していたが使っていて一番楽しい言語になった。

Kotlin

better Javaみたいな話で。面白いなと思ったがAndroidをやることはないので本格的にはやってない。


results matching ""

    No results matching ""