この記事では、プログラミングに英語が必要な理由や、プログラミングと英語を同時に習得する勉強法を解説していきます。最近のIT業界は、海外に拠点をおいて開発を行うなどのグローバルな環境へと変化しているため、英語スキルを重要視しているプログラマーが増えてきています。
しかし、英語を身につけたいと思っていても、「プログラミングと英語を同時に学ぶ方法が分からない。」と悩む人は少なくないはずです。 そのような人でも当記事を読むことで、効率的にプログラミングと英語を習得する方法が分かります。 「結局どちらも中途半端になって失敗しそう。」と不安になっている方は、是非当記事の内容を参考にしてください。
Contents
プログラミングに英語が必要な理由とは?
まずは、プログラミングに英語が必要な理由について解説します。プログラマーが英語を習得するべき理由は、プログラミングのコードすべてに英語が使われているからです。
簡単な英単語やローマ字さえもわからなければ、プログラミングを習得することは難しいでしょう。ですが、そこまで悩む必要はありません。私達は義務教育で英語を学んでいるため、プログラミングにおける英語力はわりと早く身につけることができます。
中高生レベルの英語スキルがあれば、プログラミングコードに使われる簡単な英単語を理解することは可能です。また、翻訳ツールを使って「英語で記載されたプログラミングの資料」を読める英語力があれば十分です。
プログラミングの最新情報は英語表記
プログラミングの最新情報の大半は英語表記です。まずは、英語で一次情報が発信され、その後さまざまな言語に翻訳されていきます。
英語表記の情報が日本語に翻訳される時期については予想することができません。そのため、仕事としてプログラミングを行うのであれば、英語表記の情報を読み解く力が必要になるのです。
日本のプログラミング情報は遅れている
英語表記の最新情報が日本語に翻訳されて出回るまでに、タイムラグが生じる場合が多いです。そのため、日本で出回っている情報は既に最新ではなくなっている可能性があります。
さらに、英語表記の情報は、すべて日本語に翻訳されて出回るわけでもありません。そのため、プログラミングの最新情報をいち早く掴むためには、最新情報を原書のまま読む力が必要です。これができれば、他のプログラマーやエンジニアとの差をつけることができます。
翻訳後の日本語では微妙にニュアンスが異なる
英語の情報を日本語に翻訳した際に、微妙なニュアンスの違いが生まれます。このニュアンスの「ズレ」が、プログラミングの理解を妨げる原因になりかねません。
しかも、このニュアンスのズレている部分がプログラミングに関わる重要な情報であるケースもあります。そうなると、その情報を本質的に理解することが難しくなります。
そのため、英語表記の情報はそのまま英語で理解することが望ましいのです。全文英語で理解するのは無理だったとしても、翻訳で違和感を覚えた個所を確認できるレベルになったほうが良いでしょう。
英語のまま理解したほうが習得は早い
そもそも、プログラミングは英語でコードを構成していくもので、最新情報も英語で発信されていることがほとんどです。そのため、日本語に翻訳しながら学習するよりも、英語のまま理解した方が習得は早く、作業効率も圧倒的に上がります。
プログラミング最新情報をいち早く手に入れる必要がある
IT業界は、情報の移り変わりが 他の業界に比べて非常に速いです。そのため、1度プログラミングを習得したからと言って、学ぶことを辞めるわけにはいきません。常に知識をアップデートし続ける必要があります。
また、情報の移り変わりが早い業界では、最新情報を手に入れるスピードがライバルとの差を生みます。この業界で本格的に仕事を行うのであれば、英語もセットで学んだ方が後々の展開が有利になります。
変数や関数も英語で表記されている
プログラミングでは、変数や関数も英語で表記されています。今後プログラミングの学習を進めていくと、見たことのない英語を目にする機会もあるでしょう。
しかし、そういった英語はプログラミングの学習を続けるうちに自然と覚えていくので、そこまで心配する必要はありません。簡単な英単語を暗記する感覚で変数や関数名も覚えていきましょう。
プログラミングをする際に求められる英語力とは?
プログラミングに英語の習得は必要不可欠です。 しかし、ネイティブレベルで英語を理解する必要はまったくありません。
なぜなら、プログラミングで必要な英語スキルは「読む力」だけだからです。 英語には「聞く」「話す」「書く」「読む」の4種類がありますが、プログラマーは「読む」以外のスキルを習得する必要がないのです。
「読む力」を付けるうえでの目標としては、公式チュートリアルやライブラリを読める程度の英語スキルを目指すことです。TOEICのリーディングを425点以上取れれば、プログラミングをする上で英語に困ることはほとんどなくなるでしょう。
英語の「読む力」を効率的に身につける方法
ブラウザの翻訳機能を使うことで、英語の読む力を効率的に身につけられます。最初は、プログラミング言語やライブラリのチュートリアルを読んでも、ほとんど意味を理解できないでしょう。
そこで、翻訳された日本語を繰り返し読むことで、プログラミングに必要な英単語を覚えることができます。学びたい言語が決まっていない方は、以下のチュートリアルで実践してみて下さい。
英語教材でプログラミングを学ぶ
プログラミングと英語を効率的に習得する方法は、英語教材でプログラミングを学ぶことです。現在は、インターネットの技術が発展したことによって、簡単に英語でプログラミングを学べるようになりました。
難しい英語が出てこない基礎学習のサイトであれば、初心者でも理解しやすいです。中学生レベルの英語力があれば、問題なく学習することができるでしょう。
「プログラミングと英語」を習得することで得られるものとは?
では、プログラミングと英語を習得することによって、何を得ることができるのでしょうか。 ここでは、「プログラミング×英語」の習得によって得られるものを挙げていきます。
1.経済力
まず1つ目は、経済力を手に入れることができます。平成27年度に国税庁が実施した民間給与実態統計調査によれば、エンジニアの年収は一般的な平均年収を約150万円上回っています。 また、全国1000人を対象に「株式会社キャリアインデックス」が行った年収・転職実態調査によれば、英語力と年収が比例するとのことです。
年収700万円以上の約半数の人達が、英語の読み書きができると回答しています。それに対して、平均年収500万円以下の人はたったの22%にとどまりました。
2.仕事の選択肢
2つ目は、仕事の選択肢を得ることができます。 プログラミングしかできない人は、英語が必要になる仕事を請け負うことはできません。
しかし、英語力のある人は、彼らができない仕事も問題なく請け負うことができます。プログラミングスキルと英語スキルを身につけることで、仕事の自由度が上がるということです。
3.情報収集力
3つ目は、情報収集力を得ることができます。 IT業界は常に進歩しているため、プログラミングを日々学習することが求められます。
しかし、英語と日本語では情報の鮮度に大きな差があるため、英語が理解できないというだけで不利になります。最先端の情報をキャッチするためにも、英語スキルは必要不可欠と言えるでしょう。
「プログラミングだけができる人」の実態
「プログラミングだけができる人」は、仕事を進めていく上で受け身でいるしかありません。英語スキルがないだけで、仕事の選択肢が非常に狭くなるからです。
プログラミングが好きだったとしても、毎日同じデスクに向かって指示されたコードを書き続ける日々は、苦痛で仕方ないでしょう。自分がやりたいように働くためにも、英語力を付けて仕事の選択肢を増やした方が良いです。
英語でプログラミングを学べるオススメの学習サイト
次に、英語でプログラミングを学べるオススメの学習サイトを紹介します。
1.Codecademy
参考:Codeacademy
「Codecademy」は、HTML、CSS、PHP、JavaScript、Rubyなど、プログラミング学習の基礎を無料で学べます。内容はプログラミングの基礎なので、難しい英語はほとんど出てきません。中学生レベルの英語力があれば、問題なく学習できるでしょう。
2.Udemy
参考:Udemy
「Udemy」は、有料で学べるアメリカ発のオンライン学習サイトです。ネット上でプログラミングを学べる講座が数多くあります。
また、こちらの講座は有料なだけあって、クオリティーの高い講座がラインナップされています。中には10万人以上が受講する人気の講座もあります。
参考:Udemy公式サイト
3.Udacity
参考:Udacity
「Udacity」もネット上でプログラミングを学べるオンライン講座サイトです。基本的に無料で受講することができます。
こちらは、一部日本語字幕に対応しているため、英語が苦手な人でも取り組みやすいでしょう。先で紹介した2つのサイトよりも、専門的かつ実践的な講座がラインナップされています。
参考:Udacity公式サイト
プログラミングでよく使用する英単語
続いて、プログラミングでよく使用する英単語を紹介しています。 「使用してはいけない英単語」や「間違えやすい英単語」を紹介していますので、参考にしてみてください。
使用してはいけない英単語
・get / set
アクセサ (getter / setter) やプロパティによく用いられます。逆にそれ以外に使うと混乱を招くので避けた方が良いです。
getと書いた場合軽量な処理と考えるため、中に重い処理は書かないようにしましょう。単純な取得/設定以外で使いたい場合は、他の単語を考えます。
(例)load, fetch, register, configure, add, etc…
・check
意味が広すぎて何をしているのか分かりません。そのため、なるべく別の言葉を使った方が良いでしょう。
その時は、具体的に何をしているか分解して考えると良いです。代用されるメソッド/プロパティ名は以下の通りです。
(例)isNull, isEmpty, isNullOrEmpty, isValid, canSave, hasSaved, exists, contains, etc…
但し、チェックマークをつける意味で checkを使う場合は例外です。check自体を避けたい場合はputCheckmarkとすると良いです。
・change
何をどう変更しているのかわかりにくいです。checkと同様、具体的に考えてみると良いでしょう。
・xxxType, xxxData, xxxItem, xxxInfo
冗長になりやすいため、Type, Data, Item, Infoを取っても意味が通じるか検討してみた方が良いです。
使用しないほうが良い英単語
・compare:比較する
比較した結果がどうなるか分かりづらいので、他の動詞を検討しましょう。
(例)exists, contains, equals, isSmall, max, min, etc…
・toggle:切り替える
切り替えた状態がどうなるか分かりづらいため、他の動詞を検討しましょう。
(例)turnOn, turnOff, switchOn, switchOff, etc…
対になる英単語
・comment out / uncomment:コメントにする、コメントを解除する
comment outはinto a commentの意味です。comment だけの場合は、「コメントする」「評する」という意味になります。
・add / remove:追加する、削除する
リストなどに値を入れる場合にも使われます。とくに、末尾に追加する場合は append、先頭に追加する場合は prepend を使います。
・start / stop:開始する、止める
静止状態から動き出すのがstartで、途中からでも使えます。名詞の場合は start / end もあります。
・begin / end:始める、終わる
最初の一歩を踏み出す感じが beginで、これは始めにしか使えません。
・first / last:初め、終わり
単純な並びの場合、または数を数える場合は first を使いましょう。数えられない場合は beginning を使うと良いです。
・min / max:最小、最大
・top / last:先頭、末尾
順位やレベルを意識する場合は top を使いましょう。
間違えやすい英単語
・programming
「m」は2つ必要です。programingという言い方もありますが、あまりメジャーではありません。
・license(us) / licence(uk)
licenseの方が一般的です。lisenceや lisenseは間違いなので注意しましょう。ライセンスを与えるものをlicenserとし、ライセンスを受けるものをlicenseeとします。
・canceled(us) / cancelled(uk)
最近ではcanceledがよく使われるようになりました。名詞形はcancellationしかありません。
・collect / correct
collectは「集める、コレクションする」という意味で、correctは「正しい、訂正する」という意味です。
・cache / cash
cacheはメモリなどのキャッシュを意味します。cashは現金という意味です。
・register
registerは「登録する」という意味で、resistは「抵抗する」になります。registと略すと混乱の元になるので省略しないようにしましょう。
・raise
raiseEventで「イベントを起動する」になります。triggerはデータベースで使われているため、イベントには適しません。
・disk / disc
diskはdisketteの略で、ケース入りの磁気ディスクのことを指します。 一方で、discは円盤という意味で、剥き出しの光学ディスクのことを指します。
・directory / folder
directoryは Linux系で使われるディスク上の保存場所を指します。 一方で、folderはWindows系で使われる階層構造を指します。
間違えやすい英単語の読み方
そもそもコードをカタカナで表記しているので正しくありません。英語の発音が苦手な日本人が多いのは、カタカナとローマ字による影響でしょう。
・done:ダン
・align:アライン
・radius / relative / relation:レイディアス、リラティブ、リレイション
・temporary:テンポレェリィ
カタカナでは「テンポラリー」と書くので勘違いしがちです。
・false:フォルス
・tip:ティップ
チップだとchipとなります。
・null:ナル
「ヌル」で和製英語化してしまっています。
・ping:ピン
「グ」は聞こえませんが「ng」で発音しています。丁寧に言うと gを強調して「グ」になることもあります。 こちらも「ピング」で和製英語化しています。
・JPEG / GIF / PNG / WebP MPEG / WebM:ジェイペグ、ジフ、ピング、ウェッピーエムペグ、ウェブエム
プログラミングで使う英単語はまだまだ数え切れないほどあるので、先程紹介したサイトなどで学習していきましょう。
まとめ
今回は、プログラミングと英語を同時に学習する方法を紹介してきました。 現在はプログラミングと英語を同時に習得することが、プログラマーの主流になりつつあります。
プログラミングと英語を身につけることで、人材としての価値が上がり続けていき、IT業界でなくてはならない存在になるでしょう。 プログラミングと英語を両方習得したい方は、今回の記事を参考に学習してみてください。