プログラマがまず覚えるべき言語
プログラマがまず覚えるべき言語
みなさんは何を思い浮かべるでしょうか。
バックエンド、フロントエンドで活躍の場がある「Java」?
未だに仕事の絶えない「VB.NET」?
移行案件でお目にかかる、古き(良き?)「COBOL」?
おぼえるべき言語、それは……
個人的には、「英語」一択です。
今では、日本国内のQAサイトや個人サイトの充実により、
各言語における「実装」で、困ることの多くは解決できます。
では、なぜ「英語」を覚えるべきなのでしょうか?
英語を覚えるべき理由
1.言語、フレームワーク、ライブラリやベンダーの公式サイトが英語だから。
2.日本語のQAサイトに比べて、英語のQAサイトの方が、有用な情報が得られるから。
3.仕事で組むプログラムの中には、「コメント:英語」が規約になっていることがある。
4.オフショアなどによる多国籍プロジェクトで戸惑わない。
公式サイトが英語
英語が分からないと「ライセンス」周りで痛い目を見ます。
GPLv3とか、MITなんて明示されていれば良いのですが、
マルチライセンスで、あーだこーだ書かれていると、嫌になります。
有用なサイトは英語
AngularJSの勉強をしたときに、日本語のサイトが少ないと感じました。
調べ方が悪かったのかもしれません。
当時、「やりたいこと」にたどり着くには、英語が必須と言っても過言では無いです。
コメントが英語限定
プロジェクトによっては、コーディング規約で制約が入っていることがあります。
非常にまれですが、かなり厄介でした。
でも、よくあるイライラコメントは少なかった印象です。
※イライラコメントは、別の機会に。
多国籍プロジェクトで生き抜く
インド人、中国人、日本人と多国籍プロジェクトでは、
オフショア元の日本語を、他国籍の方が話してくれるのが一般的。
「日本語」は難しい言語なのか、「英語」は出来るが
「日本語」は出来ない。という方が多いです。
※もっと言うなら、「日本語」は読み書きできるけど、
「日本語」を話すことができない。という人も多い。
窓口になっている方は、日本語がカタコトだけど話せる人だが、
実際に、作業をしている人は「母国語+英語」が多い。
進捗確認も、自分~窓口~作業者という段階を踏む必要がでます。
最後に
個人的な意見ですが、
英語は「良い言語」という訳ではなく、「覚えるべき言語」の認識です。
制約が無ければ、コメントは日本語で書きたいし、
オフショア元の日本語に長けた人が、会議の場にでて欲しい。
というのが、本音です――。
JavaとかJavaScriptとかの言語系の話じゃないのか…。
と、落胆された方もおられたかと思います。
少しだけ補足するのであれば、
これから新たにプログラムを勉強するとしたら、
「Java」と「JavaScript」をお勧めします。
その話は、また別の機会に。