カレンダー

2020/05
     
30
31      

広告

Twitter

記事検索

ランダムボタン

中級の壁

by 唐草 [2019/05/24]



 本格的にプログラムを学び始めてから既に十数年が経過している。時代の移り変わりとともにいくつもの言語に触れてきた。Visual Basicからスタートして、Perlを経て、ちょっとCをかじって、Javaにたどり着き、PHPに居場所を見出したと。合間にJavascript経由のActionScriptが挟まっている。言語の勉強に終わりは無い。思い通りにコードを書けるPHPだってマスターからは程遠い。まだまだ勉強が欠かせない。最近Pythonを本格的に初めたので、久々に右も左も分からない初心者の気分を味わっている。
 今はネットで検索すれば様々な言語の知識を簡単に得ることができる。ぼくがプログラムを学び始めた頃は、まだネットの情報も乏しく紙の書籍だけが頼りだった。ぼくも様々な言語のいろいろな書籍を購入して、勉強したり挫折したりを繰り返してきた。
 書籍を買うたびに不思議に感じていた事があった。中級者向けの書籍というものが世の中には存在していないのだ。その傾向は、今でも変わっていないはず。大きめの書店へ足を運ぶ機会があったらプログラミング言語のコーナーを覗いてほしい。「はじめてのiPhoneアプリ開発」とか「作って学ぶPython入門」とかそんな感じの初心者向けの本は掃いて捨てるほど売られている。これらの本を読み終えて次のレベルに進もうとすると大きな壁がそびえていることを知るのである。
 次のレベルの本は、作例に従って言語を学ぶ本ではなくなる。言語リファレンスと呼ばれる機能だけが網羅された辞典のような本になる。これは言語を隅々まで理解したい上級者向けの本だ。初心者が読んでも意味が分からないだろう。
 普通の言語に例えるとこんな感じになる。英作文を学びたいと書店へ行って「はじめての英作文」という感じの中学生向けの本を買って読み終え、ステップアップしようと思ったら英和辞典しか選択肢がなかったといったところだ。
 なんで入門と辞典を橋渡しする中級者向けの本が無いのかずっと理解できなかった。そのせいで、ぼくだって泥水をすするような困難を経て、ようやく辞典を読みこなせるレベルに達した。こんな青臭い努力は、誰だって望んでいないはずだ。
 今日、突如として中級本が存在しない理由が分かったのだ。
 冒頭に書いた通りPythonを学んでいる。Web教材の中身は理解できるが、リファレンスを読み解け無いという状態に陥っている自分に気がついた。ちょうど中級者の壁にぶち当たっている状態だ。
 久しぶりに目にした中級者の壁を前に、一旦手を止め深呼吸をした。
 ぼくは何を分かっていないのだろうか?
 この問の答えが出た瞬間にリファレンスのどこを読めばいいのかはっきりと見えてきた。そう、中級者の壁とは「何が分かっていないか分かっていない」状態なのだ。これを書籍でカバーすることはできない。だから中級者本は存在していないのだ。