generated at
黄金の三角形
プログラミングの基礎を学ぶ上で大事な3つの言語
ギクスペでよく言われる

コンパイラの気持ちがわかる
ポインタを介しメモリを扱うことによってコンピュータが動く仕組みの一端を知ることができる
データ構造がどうメモリに配置されるのかがわかる
ハードウェアに近い分野(組み込みシステムプログラミング)にはほぼ必須
AST の気持ちがわかる
プログラムの構造がわかるようになる
メタプログラミングができるようになる
プログラムに必要な最低限の要素がわかる
アルゴリズムの記述に向いている
ラムダ項の気持ちがわかる
副作用の分離を強制されるので他の言語でも同じことを行う良い癖がつく
ひとつの関数に書くコードが短くなる傾向がある
Haskell の関数は純粋であるためあまり多くの定義を詰め込みにくい
もっともモナドをつなげると長いコードは書けてしまうが
型推論のありがたみがわかる

出典
> 私の知るSchemeとHaskellとCのポインタが使える人はみな、Javaを使い始めて2日で経験5年のJavaプログラマよりいいコードを書くようになる。しかしそのことが平均的な頭の鈍い人事部の連中には理解できないのだ。