プログラミングを学ぶには10年かかる

studiokingyo2006-01-03

http://www.yamdas.org/column/technique/21-daysj.htmlより
via http://d.hatena.ne.jp/tailliar/20051229#p2
via http://d.hatena.ne.jp/ryoko_komachi/20051226/1135824272
プログラミングを学ぶには10年かかる
・・・らしいよ。10年だって。桃栗柿に負けちゃっているじゃないか!
(確か、この記事を見た当時は書きたいこと沢山会ったんだけど思い出せないからつらつらとーー)
確かに・・・、否定はしない。
てか、そんなに沢山の種類のプログラミング言語学んでないよ・・・C/C++くらいか?
後はC/C++に含んでいる概念を使っているプログラムの本を読めばその言語も使えるようになるかも?レベル!?
学んでいない概念が存在するプログラムとしては

関数抽象をサポートするもの(例えば Lisp や ML)、
一つは構文抽象をサポートするもの(例えば Lisp)、
一つは coroutine をサポートするもの(Icon や Scheme)、
そして一つは並列処理をサポートするもの(例えば Sisal)であること。

てか、coroutine(コルーチン)ってなに?って事で調べたら、
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3
microthread(マイクロスレッド)の事だよね。Win32API的にいうとfiber(ファイバー?)だよね。なーる。ね。確か、WindowsXPSP2になってからだとメモリ上のコードを実行できなくなってしまったので(なんか、ユーザーに変なダイアログ表示させると怪しまれるしね。)yaneSDK3rd付属のmicrothreadはOSチェックをしてfiberのWin32APIと変えれるようにライブラリ組みたいと思っていました。
ちなみにfiber話はhttp://d.hatena.ne.jp/shinichiro_h/20040106#p1が非常に詳しい。
閑話休題


どこかでHaskellはバグがおきにくくてイイよ〜とか見た記事があったはず・・・。
(追記:2004年度ICFPにて上位を総なめ(参考)したすごい言語。)(keyword:Haskellにて)
関数がどうたらこうたらとか・・・
(追記:高階関数のことを言いたかったらしい。)

確かにライブラリ組むにはこっちの方がイイかも。
(追記:C++にもHaskellの概念を実現するライブラリがあったりするが至極面倒なのでいじっていない。boost::lambdaとか?)
Haskellコンパイラとか作ってこっち形式でライブラリを組む・・・のを夢にしちゃったり!?(笑)
どうでもいいことだけどHaskellってHaskwellって書いちゃいたりしませんか?
ああ、もう、睡眠不足で支離滅裂御免ですよ。眠ります。おやすみ