いけむランド

はてダからやってきました

言語を習得するということ

最近の言語事情について、ふと思ってぼそっと呟いたこと *1 が意外とふぁぼられて *2 いたので、もうちょっとだけ詳しく書いてみる。


「言語を習得する」というのはどの程度の壁を越えたら言えるのだろうか?


最近のプログラミング言語は馬鹿でかいライブラリというのが標準という名でついてきて、しかもその標準ライブラリが言語自体と密接にからんでいるようなものが多いと思う。*3

パネルディスカッション「激論!PHP の次に学ぶ言語はこれだ」@ PHP Conference 2008 Japan でも同じようなことが言われてた気がするけど、そんな環境が当たり前の時代にプログラミングを学び始めた開発者が「言語を習得する」というのは「言語仕様を十分に理解し書き分ける」とかではなく、「問題を解決するために組み合わせることのできるライブラリをどれだけ多く知っているか」のみに依存するのではないかということが気になっている。

つまり極論を言うと、中身を知らなくてもどんどん複雑なものをつくることができてしまう。
逆を言うと、柔軟性が高く、いろんな問題に適用可能な部分解が既に提供されていることが多いから、新たに一から問題を解くためのコーディングをするとか、それらの中身を理解するとかいう機会がどんどん少なくなっているんじゃないかなと感じている。

*1:http://twitter.com/fd0/statuses/863998738

*2:http://favotter.matope.com/status.php?id=863998738

*3:例えば Java において前者は JRE で後者は java.lang パッケージに当てはまる。