英語とプログラミング言語はかなり似ていると思う
今読んでいる本です。
これまで、簡単な英文法の本と単語だけで英文を読もうと思っていたのですが、いよいよ限界を感じ始めてきたので、この本を手に取ってみました。
この本は英語の構文を品詞ごとに細かく分類して、理論的に英語を読み進める手伝いをしてくれる本です。普段からプログラミング言語に慣れ親しんでいる、理屈っぽい...いや、理論的思考を持った、IT業界の方々にぴったりだと思います。
英語と言うものが、文系だけではなく、いわゆる「理系」と言われる方々にも興味を持っていただけるような、論理的に考えるコツと言うものが書いてあります。少なくとも僕は、「この発想は今まで無かった」、と面白く感じています。
中には、構文解析の為に記号が山の様に出てきますが、これがなんともプログラミング言語的な雰囲気を感じさせます。
で、まだ半分ほどしか読めていませんが、この本を読み進めていくうちに、英語の記述方法と、プログラミング言語の共通点がなんとなく見えてきました。
英語とプログラミング言語の共通点
今のところ、僕が「英語」と「プログラミング言語」で似ていると思う共通点を列挙してみます。
- 英語は、曖昧さが非常に少ない言語。きっちりしたルールで記述しないと文法的におかしくなったり、全く別の意味になってしまう。
- プログラミング言語の命令で使用するパラメータが、いわゆる英語の5文型に良く似ている。
- 不定詞や分詞構文が、プログラミング言語で言う、「関数のポインタ」の考え方に良く似ている。
- 文の主従関係が、プログラミング言語で言う、「ネスト」の考え方に良く似ている。
- プログラミング言語のコメントは、英語の形容詞や副詞。無くても通じるけど、無いと無機質だし、いろんな人に受け入れてもらえない。
- プログラミング言語で最も重要なのは、命令文。英語では動詞が最も重要。
だんだんとこじつけっぽくなって来たので、この辺でやめますが、よくよく考えてみれば、プログラミング言語のそもそもの成り立ちは、英語的な考え方を持った欧米人が作成した言語なので、似通うのは当然かなと思いました。
僕が、こんな共通点を無理やりでも見つけようとする原因の一つは、「プログラミング言語と似てるなら、英語も時間さえ掛ければ理解出来るだろう」と言う考え方を持って、やる気を少しでも高めたいからです。
でも、今までプログラミング言語と戯れてきた、IT技術者の考え方として、「英語 ≒ プログラミング言語」だと思う思考法は、下記の2つの点でよいことだと思いました。
- 「英語がプログラミング言語に似ているなら、英語も頑張れば出来るんじゃないか」と言う希望を持てる。
- 「プログラミング言語が英語に似ているなら、プログラミング言語なんて英語に比べれば簡単じゃないか。」と言う楽観的な希望を持てる。