English for Programmers

現在の日本社会での英語の重要性については誰もが認識しているところでしょう。好む好まざるに関わらずグローバル化というのは進んでいて、それを意識しない企業はほとんど存在しない。ラーメン屋のような局地的な商売を行っている企業でさえ、海外進出を考える時世だ。世界の共通語は英語であり、グローバル化した社会では英語はコミュニケーションツールとして必須です。ビジネスは人間同士がするものなので、意思の疎通ができなければ話が進みません。そのため、楽天を嚆矢として英語化を経営施策として打ち出している企業は多い。

会社員は TOEIC を受験することを求められ、一定の点数を超えることが課せられている人も多いでしょう。日本の会社員の全てが英語ができる必要があるのかについては、私は疑ってはいるものの、世の中がそうなっている以上、会社員は英語を勉強せざるをえない。社会として英語化が正しいか間違っているかは未だ判断つかないが、個人としては英語ができた方が機会が広がることは間違いないでしょう。

ただし、Software Engineer に関しては、疑いの余地なしに、英語はできなければならない。世界の情報技術は驚くほどのスピードで発展しているにも関わらず、日本の IT 産業はとかく遅れているように見える。この理由の一つは、日本人のエンジニア達の英語力が原因ではないかと考えている。

現代では(少なくとも誰でも入手できる)最新の情報は英語で書かれている。誰かが英語の情報を日本語に直すのを待っていたら、10年以上のタイムラグとなってしまう。オープン化という言葉も死語になりつつあるが、世の中にある最も良い部品を集めてきて組み合わせるというのがその意味であって、英語ができなければ最良の道具を使うことが出来ず、オープン化の恩恵には預かれない。建前だけオープン化したところで、mainframe と COBOL で頑張るのと比べて大して変わらない。もう黒船は来てしまって、開国もされてしまっているのだから、文明開化をするしかないのです。

また、プログラムとは英語で書くものです。code は記号の意味ではあるが、プログラムためのコードは英語を模した人口言語で書かれた文章です。記号の羅列を操ったら自分が魔法使いみたいに思えて楽しくなってしまうのも分からないではないが、別に記号の羅列を吐き出せるのは偉いわけではなく、むしろ忌避されるべきものです。しかし、難読化された記号の羅列は生み出されており、多くの人に要らぬ苦労を強いています。仮説として、英語ができなければちゃんとしたプログラムは書けないのではないかと考えています。(逆は真ではないと思います。英語ができれば必ずプログラムは書けるわけではない。)正しい英語で書かれたプログラムが、きっちりしたプログラムであると知っていなければ、記号の羅列となるでしょう。英語と記号の区別がつかないのであれば、楽な記号を使うでしょう。英語を知らなければ naming ができないから、意味不明な文字の並びを名前にするでしょう。エンジニア諸君には英語を勉強してもらって、難読化された記号の羅列を抹殺していただきたい。

こんなことを書きつつも、私も英語ができるとは言えない。TOEIC の点数だけは頑張ったねと言われる程度 (870) であるが、会話は全くできない。英語の文章を読むにはストレスを感じるので、日本語の記事があればそっちを見てしまう。書くのは日本語の方が圧倒的に楽だ。日本人の中では上の下ぐらいだろうと思うが、外国から来た人と比べれば、私は英語ができない側にいる。

しかし、英語を覚えて、ちゃんとした人らと働けるようになりたい。また、言語というものは限られた人だけができても意味がないので、エンジニアは皆英語を勉強するべきと思っています。そのため、自己の学習の記録と啓蒙のために「English for Programmers」というタイトルでブログを付けようと思います。私も英語で苦労しているので、同じ苦労をしている人は多いに違いない。同志諸君の学習の助けになるように、役に立つことを書くようにします。