黄金の三角形
プログラミング
の基礎を学ぶ上で大事な3つの
プログラミング言語
C
コンパイラ
の気持ちがわかる
ポインタ
を介し
メモリ
を扱うことによって
コンピュータ
が動く仕組みの一端を知ることができる
データ構造
がどうメモリに配置されるのかがわかる
ハードウェア
に近い分野(
組み込み
や
システムプログラミング
)にはほぼ必須
Scheme
AST
の気持ちがわかる
プログラム
の構造がわかるようになる
メタプログラミング
ができるようになる
プログラムに必要な最低限の要素がわかる
アルゴリズム
の記述に向いている
Haskell
ラムダ項
の気持ちがわかる
副作用
の分離を強制されるので他の言語でも同じことを行う良い癖がつく
ひとつの
関数
に書くコードが短くなる傾向がある
Haskell の関数は
純粋
であるためあまり多くの定義を詰め込みにくい
もっとも
モナド
をつなげると長いコードは書けてしまうが
型推論
のありがたみがわかる
出典
私の知るSchemeとHaskellとCの
ポインタ
が使える人はみな、
Java
を使い始めて2日で経験5年のJava
プログラマ
よりいいコードを書くようになる。しかしそのことが平均的な頭の鈍い人事部の連中には理解できないのだ。
Javaスクールの危険