プログラミングを覚えようと思うんだけど、コードってほとんど英語だよね。
プログラミングにも英語は必要になるのかな? あるとして、それはどのくらい?
最低限でもいいから、プログラミング学習に必要な英語を覚えるにはどうしたらいいだろう?
このあたりの問題について解決していきます。
最近では、『プログラミングと英語は社会人の必須修得科目』なんて言われることも珍しくなくなってきましたね。
それくらい需要の高まっている内容ですが、そこでプログラミングを独学しようとすると、わりと沢山の英語に触れることになると気付きます。
そこで、プログラミングの独学に英語はどの程度必要になるのか? という問題について、今回は解説していきます。
私は今はとある会社でシステム開発の責任者を担当しており、自分なりに学習を続けてきました。
自分の得意な分野に関してなら、「こんなものを作って欲しい」と言われたら、ひとまず実装方法を思いついて作る所までは最低限、できる。そんなレベルです。
こんな私の現在の英語力についても参考までに記述していきます。
今、プログラミングを始めたいけれども、英語が必要かどうかが気になって困っている方を対象にしています。
それでは、さっそく本編に進みましょう。
Contents
スポンサーリンク
プログラミングの独学に必要な英語のレベルを解説する【段階別】
結論、義務教育で英語の授業を受けている方で、簡単な単語や文法が読める・辞書を引けるという段階であれば、特にプログラミングで新たに何かを覚えなくても大丈夫です。
ただ、これはプログラミングを独学するにあたり、ですね。
実際にプログラミングスキルを仕事で使おうと思うと、それ以上に知識が必要になることはよくあります。
ただ、これもGoogleなどの翻訳が使えるのであれば、実はそれほど必須でもないです。
もちろん英語は使えれば使えただけ良いのは間違いないのですが、無いと全く仕事にならないかというと、そんなことはないんですよね。
その理由について解説していきます。
プログラミング言語で登場する英語のレベル
まず、「そうは言っても、プログラミングって英語でするじゃないか」と考える方も居るかと思います。
確かに英語は英語なんですが、プログラミングのコード上で登場する英語って、それなりに限られてきます。
例えば、変数で言えばinteger、character、double、float、short int、booleanなどですね。
条件分岐をする時にif~else。ループを回す時にはfor、while、do~while。
関数を呼ぶ時にはsubやfunctionなどなど。
自分が選んだ言語によって登場する単語は若干変わりますが、言語によって作り方が大きく変わるという事は(今のところ)そこまでないんですよね。
フレームワークやライブラリなど登場しない基礎の書き方の話なので、作り込もうとするとけっこう違う事もあるとは思うのですが。
なので、厳密に『プログラミングは英語そのものか』と言われると、微妙に違います。
たとえば、プログラムの英語の部分を日本語に置き換えると、こんな感じになります。
もしもプログラミングが日本語だったら
読み込み(スタンダードIO.inc);
変数 A = 2;
変数 B = 3;
変数 C;
C = 足し算(A, B);
関数定義 足し算(A, B) {
戻り値 A + B;
}
これが日本語そのものかと言われると、ちょっと違いますよね。
確かに日本語は日本語かもしれないんですが、少し数学のようにも見えるという。
実際、プログラミングに登場する英語って、この日本語の部分を英語に置き換える程度の話だったりします。
あと英語が登場する時といえば、『エラーメッセージの解読』あたりがメインかと思います。
しかし、ぶっちゃけ英語が読めても、エラーメッセージってよく分からない事が多いです。
結局エラーコードが何かを調べて、それに対応する解決策を調べていくしかないというか。
ここはプログラミングより、どちらかと言うとコンピュータの仕組みを詳しく知っている方が役に立ちます。
別段話す事が必要になる訳でもないので、ある程度でも読めれば、あとは翻訳を駆使してどうにかなるというのが現状です。
それ以上の英語力が必要になるシチュエーション
たとえば、会社によっては仕様書を英語で読み書きしなければいけなかったり、外国の方とコミュニケーションを取らなければいけなかったりという状況はあります。
この場合は、英語力はあればあるだけ役に立ちます。
あとは情報収集ですね。特に最新の技術に関する情報って、最初はほとんど英語になります。
なので、読み書きがある程度できると強いです。
私も話すのはそれほど得意ではないのですが、中学英語でやるような簡単なレベルであれば、英語の文章を辞書を引かずに読めるくらいには訓練しています。
Google翻訳でもある程度はどうにかなりますが、やはり原文が読めると早いです。
ただ、大きな会社やグローバルに事業展開している会社ではとても重要ですが、私のように何の変哲もないIT企業だと、そこまで多くは必要ないかな……と思います。
結局、英語ができる日本人より英語ができない日本人の方が多いんですよね。
英語ができない日本人は当然英語なしでコミュニケーションを取りますので、その場合は支障が出ないという感じです。
これは私個人の感想で、環境による違いはかなり大きくあるとは思います。
就職する場合は、事前の情報収集が大切ですね。
あ、ただ海外と取引関係を持っている場合は、電話対応くらいはできないと困ります。
実際これは私自身が経験したことで、すごく困りました。
こういうのってある日突然覚えようとしても、結局電話対応する瞬間に頭パーになって忘れてしまったり、カタコトで通じない英語になってしまったりします。
プログラミングそのものに必要な訳ではないんですが、英語に関する興味はきちんと持って、ある程度電話対応で必要になるフレーズを咄嗟に使えるくらいには訓練しておくと、便利かもしれません。
プログラミングの独学に必要な英語を身につけるまでのステップ
さて、プログラミングに必要な英語力については、ある程度説明できたかと思います。
ここからはより実践的なところで、『プログラミングの独学に必要な英語を身につける手段』という目線で話を進めていきます。
ただ、単にプログラミングの基礎力を付けたいだけであれば、それほど目立つ勉強は必要ないです。
その詳細をお話していきます。
純粋にプログラミングをやるために必要な英語を覚える
さて、前述で『プログラミングで登場する英語ってこんな感じだよ』という話をしました。
これを覚えるためにどう勉強したら良いかという話ですが……正直な所をお話すると、何もせず、そのままプログラミングの本を買って勉強するのでOKです。
なぜそうなるかというと、プログラミングは何度も書くからというのが理由になります。
プログラミングを独学で習得するためには、結局様々なプログラムを実際に作ってみて、その挙動を確認していくしかないです。
そうすると、前述で登場する用語なんかは言語によって違うのですが、自然と覚えている状態になっていきます。
中には、『どういう意味の単語か分からないけど、プログラミングするのに必要だからなんとなく覚えている』という事すらあるくらいです。
エラーメッセージも結局、プログラミングをする上で山のように読んでいく事になるので、頻出する文章は自然と覚えてしまいます。
だから、英語らしい英語の勉強ってなくても行けちゃうという所です。
ただし意識しておく事として、何かプログラミングをやっていく上で分からない言葉に出会った時、積極的に辞書を引いて、その単語の意味を覚えておくというのは効果的に働きます。
たとえば、英語をやっていない方であればrequireやdefine、continue、breakなどの単語によく触れていないこともあるでしょう。
そんな時、プログラミングは単語の意味が分からなくても、言語上の仕組みで覚えてしまえば使う事ができてしまいます。
でもこれは、単語を覚えるチャンスです。
特に英語のハウツー動画を見る時なんかに後々役立つので、発音記号を見ながら実際に発音して、言葉として落ち着ける訓練くらいはしておくと良いのかなと。
私も主要な単語は、英語の発声で(下手ですが)喋れるように練習をしています。
英語を利用する現場で仕事するためのレベル
もし英語を積極的に利用する環境で仕事をしようと思うのなら、上記の段階で留まっていてはいけません。
なんとか現場に潜り込む所までは行けたとしても、そこから先でとても苦労することになってしまいます。
だから、ある程度状況ごとに段階分けして、自分に必要な英語のレベルを整えていく必要があります。
- 専門用語を使った英語の会議に参加できる(外資系企業への就職)
- 日常会話レベルの英語であれば使うことができる(電話対応やメール)
- 話す事はそこそこだが、読み書きならば一通りできる(英語の仕様書を読む)
- 話せないが、自動翻訳を駆使すれば読み書きできる(最低限必要なレベル)
ひとまず、4を目指しましょう。
私は3だと胸を張って言いたいんですが、文章によっては翻訳を使うのであんまり自信はない、というレベルです。
英語圏の人が使うえらい速い英語でなければ、英語が丁寧な中国の方と英語で雑談する程度の事ならばなんとかできます。
もう少しレベルを上げたくて、日々訓練しています。
英語の具体的な学習方法
前述の段階別英語力を前提に考えていきます。
まず、段階4です。仕事に最低限必要な英語のレベルを身につけたいと思うなら、まず自動翻訳に慣れましょう。
自動翻訳で翻訳された文章には、かなりクセがあります。
字面だけ読んでもよく分からないので、元の英語をなんとなくイメージしながら読んだり、翻訳が崩れている所を部分別に辞書で引いて英語で読んだりする必要があるんです。
これは実際に試して、訓練してみる事をおすすめします。幸いプログラミングには、英語の記事がとても多いです。
段階3を目指すなら、ひとまずTOEICは検討事項に入ってきます。
まずは文法から入り、簡単な文章を話せるようになりましょう。
なお、『読み書きできればいい』という場合でも、リスニング・スピーキングを中心に訓練していくのがおすすめです。
なぜかというと、『英語の文章を目で読む』と、『英語の文章を口に出して読む』では、記憶にかなり大きな違いが出るからです。
私の場合、リピーティング・シャドーイングなどの基礎的な訓練を地道に続けることに高い効果を感じています。
段階2以上は私も未到達なのでなんともですが、発音や文法などの基本的な理解が得られたら、シチュエーションごとに訓練するというのは結構役に立つ考え方です。
つまり、実際に電話対応する事を前提として文章を覚え、話せるように訓練してく、ということです。
電話対応はこれである程度やれるようになりました。ある程度というのは、イレギュラーが来ると対応に苦しむからです。
英語で文章をすぐに組み立てて返せるまでには結構な時間がかかるので、まずは最低限必要な事だけでも、地道に訓練していきましょう。
英語の勉強をする時は、到達地点をイメージする
ということで、今回は段階別に必要な英語力について説明しました。
漠然と『英語が必要だよなー』と思っても、中々学習のモチベーションは上がらないと思います。
「ここまではできるようになる!」を意識すると、自分に必要な英語力が見えてきます。
就職面接では『その会社で必要な英語スキル』を聞くようにしておくと、お互いに誤解を生まずに済むのでおすすめです。
結局、英語の訓練って地道なものなんですよね。
私はある日革命的に話せるようにはならないと考えているので、面倒だと思っても、日々自分にできるトレーニングを続けていくしかないと割り切っています。
もう英語の勉強を始めて5年くらいは経ちますが、目標となる場所には中々到達できませんね。
学習時間に大きなムラがあるので、それも原因なのですが。
いきなり何でもできるようにはなりませんから、まずは学習の目標到達地点を定める所から始めてみてはいかがでしょうか。
私もまだまだ努力してまいります。