年下で「こいつには勝てん。すごい人だ」と思う人は年々増えていきますが(まぁ、あたりまえだけど)、その中でもトップクラスの西尾さんが面白い内容のエントリーを書かれていました。
「言語をマスター」というのはどういうレベルを言うのか・・・うーん。僕がマスターしていると言える(胸を張っては言えないかも)のは、PythonとC++かな。N88-BASICは・・・もうさすがに書けないだろうな。10年以上書いてないし。
僕がマスターした!と思うのは、基本文法をマニュアルを見ないで使えるようになるのは当然として(あまりマニアックなのは置いておいて)、後はその言語ならではの設計手法と思想が理解できたとき・・・かな?Pythonであれば、辞書型と配列を十分に活用した設計ができるようになったあたりで「マスターした」という実感を持った気がします。ライブラリはマニュアルを見ればいいしね。Pythonならではの設計ができるようになれば、人に教えたりもしやすくなりますしね。
僕の中で時間がかかっているのはJavaScript。jQueryのおかげでそれなりのアウトプットを出すのはできるようになりましたが、クラス(もどき)を作ったり、名前空間がどうなっているのか?などの知識はまだまだ足りない気がしています。そういう意味では、処理系が裏でどう動いているのか、というのが完全でなくても体感覚で実感できたかどうか、というのが僕の中のマスターの基準かも。
C++の設計と進化の本だったり、Zen of Pythonだったり、僕はそういう情報が好きなんですよね。「体感覚」みたいな自分基準で考える人もいるだろうし、「人に説明できる」「認定試験」みたいな他人を介在した視点で考える人もいるだろうし、人によって様々だと思うけど、「自分がマスターしたと思えた瞬間」の振り返り、というのは自分の考えを見るには最適かもしれませんね。