仕事で使うマニュアルのほとんどは英語で書かれている。RFCという技術文書も大抵は英語だ。RFCはインターネット関連技術の標準化団体がとりきめしたプロトコルが多数ある。RFCには、インターネットにおける主要な技術仕様が文書化されて公表されている。
大抵は何となく読めはするものの、「読めた気になっている」ような気がしていた。私の場合は話さなくても、まず読めればいい。しかし、「正確に」読まなくてはならない。この正確にというのがやっかいで、品詞たちの働きを理解しながら文章を解読していく必要がある。技術文章だから余計に作業がかさむ。
先日、とあるプログラマーと話していたときにナルホド、と思うことがあった。言語の学習方法についてだ。プログラム言語にCやJAVA、Pythonなどあるが、どれもこれもきちんとした構文をはじめは勉強してから、プログラムを書いていく。もしくは、簡単なサンプルプログラムから、一つ一つどのような動きをしているのか理解しながら構文や仕組みを学ぶ。
学びの形態としては、アプローチの方法が異なるだけで、プログラムの「ばらばらになった要素」から学ぶのか、それとも「ばらばらにした要素」を学ぶのかの違いだ。出来上がったものを解剖しながら学ぶのでもいいし、要素を学ぶのでもいい。プログラミング言語を学ぶのは、日本語とは異なる言語を学ぶことと一緒だ。
英語も言語の一つなので、このプログラミング言語を学ぶアプローチと同様の手段をもった参考書があるといいよね、という話になった。冒頭の英文リファレンスの読解力向上のためである。当初私は何を血迷ったかどんどん脱線してしまい、英語の歴史から調べ始めてしまった。言語の成り立ちや、歴史、言葉を言葉として説明する言語に形成された理由など、理解できたが、正確な読解力という学習的側面の成果はそれほど得られなかった。
社会人になってからは、正確な日本語の書き方や、話し方を勉強した。人前で技術のコーチングをせねばならなかったのと、正確な日本語を書かないと全く見当違いな結果を招くことがあったからだ。日本人に生まれながらも、正確な言葉と、日本語の作文技術が身につくとはとうてい言いがたい。
そんな時、プログラマーが教えてくれたプログラミング言語のように、英語を学べる本の存在を知る。恥ずかしながら中学生〜高校生が使う本だった。しかし、実際に買って読むとあきらかに理系の本だった。一つ一つの構造を明確にしながら、分解する。その集合がひとつのプログラムになるかのようだ。
それはこの本。高校生とかが使うやつ。
買ったあとにレビューを読んだのだが、そういうことかと思った(笑)
これはIT産業従事者に向けたレビューです。
手を取って読めばわかりますが、前半のFORの理論解説はまるでオライリーやピアソンから出ている硬めのプログラミング言語詳解解説本のようです。また、巻末のF.O.Rの要点は前記の本の付録に乗っている構文図やBNF記法を彷彿とさせます。
また、ドメイン駆動設計やオブジェクト指向分析を勉強した方なら気づくと思いますが、著者が既存の文法用語や独自に編み出した用語(概念)を駆使して構築した英文法ドメインモデルを記述した本という見方もできます。
こんなわけでプログラミング言語を詳解解説本を読んで文法をきちんと勉強する習慣を持つプログラマー、あるいはオブジェクト指向分析を駆使するシステムアナリストには今まで養ってきた学習スキルを活用しながら違和感なく組めると思います。これ一冊だけではさすがに英語は無理ですが、この本及びシリーズを軸に色々勉強していくと英語リファレンスマニュアル/ガイド程度ならかなり早く正確に読めるようになってきます。
JAVAなどで言語を習得した経験があるのならば、それと同じやり方で英語の基礎学習ができる。これは頭の中にプログラミング言語学習の「コツ」がすでに出来上がっているから、あとは本書で英語の基礎学習をすればよい、と言う話だ。
オライリーの動物本を入社当時読み漁っていた頃を思い出す。あの感覚を持って英語が学べる。「中学生〜高校生」とあるが、英語が読めた気になっているわたしのようなIT系従事者には、オライリー本のような深さを持って英語を学べるだろう。この本を読むときに、まえがきと、あとがきを先に読んでほしい。理由は読めばわかる。トレーニングでも何でもそうなのだが、「信じてやり続ける」事が最も重要なのだ。
理詰めの、IT系で、英語が読めた気になっている私のような人間には本当に良い「中学、高校レベルの本」だと思う。中学英語がわかればいい、だなんていうがこれほどメカニカルで、複雑だったのか。冒頭の英語の歴史書は不要になってしまったが、夏休みに読む本が決まって良かった。今なら必要だと思って学習できる。
高校生や英語に自信のない社会人にこそ、おすすめの一冊だ。