DIVE INTO CODE

2019年06月25日
  • #英語
  • #エンジニア
  • #プログラミング初心者

プログラミングを学ぶなら英語も学ばないとダメ?

Aws4 request&x amz signedheaders=host&x amz signature=0f8bf737396c8ea34568cfa1bdbda20765ed42be56c7f7e720236a7ba7bc38dd

意外と多い、英語アレルギーの初心者エンジニア。プログラミングをやってみよう!と思ったのはいいものの、英単語のような文字の羅列に戸惑ってしまった経験はありませんか?今回は、「英語がどうして必要なのか」、「どのように英語を学べばいいのか」をプログラミング学習の視点から解説します。英語に苦手意識のある方は必見です!

【こんな方におすすめ】
・プログラミングを始めたけど英語がわからず不安な方
・英語に苦手意識があって克服したい方
・どうしてプログラミングに英語が必要なのか知りたい方

【目次】
1. 最初の難関!?プログラミングと英語の関係性とは
2. どうして英語を学ぶのか?
3. どのように英語を学ぶのか?
4. どこまで英語を学ぶのか?
5. まとめ

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

最初の難関!?プログラミングと英語の関係性とは

今回は「プログラミングを学ぶなら英語を学ばないとダメなのか」、というテーマでお話しましょう。

それはプログラミングを学習する最中、何度も思いましたね。
僕は英語は苦手で、それが壁になっていました。まずは英語を学んで、その先にプログラミング学習があるんじゃないかって。

そうですよね。結論からいえば、僕は「英語を学ばなきゃダメか?」と聞かれたら、間違いなく「Yes!」と答えます。

うわ〜やっぱりそうですよね。

ただし、「But, with Google Translation.」と付け加えますね。Google翻訳を使ってもいいよ、と。

お、そうなんですか!やっぱり英語を知ってたほうがいいけど、Google翻訳を使うのはアリなんですね。だけど、Google翻訳って完璧には翻訳できないですよね?

ニュアンスがわかれば大丈夫です。もちろんリアルタイムコミュニケーションは難しい面があるかもしれませんが、まずは短い文章の意味がなんとなくわかれば事足ります。

なるほど〜。

はい。今回は、
・なぜ英語を学んだほうがいいのか
・どうやって英語を学べばいいのか
・どれくらいまで知ってたほうがいいのか
についても説明していきましょう。

どうして英語を学ぶのか?

「なぜ英語が必要か」ですが、1番大きい理由はプログラミング言語自体がほぼ英語だから、です。

やっぱりそうなんですね!それは学んだほうがいいに決まってますね。

はい。プログラムは基本的に英単語で書くようにできています。スペイン語でもフランス語でもなく、英語なんですよね。プログラムだけではなく、コンピューター自体もOSの標準メッセージなどが英語です。

たまにエラーメッセージとか見ると英語ですもんね〜。

そうなんです。コンピューター機器が、国際的に英語で開発するという方針で動いているので、自然と親和性が生まれます。

そうかぁ。それは英語わかってないとダメですね。

プログラミングの単語の意味は、英語の単語の意味と大体似ているんですよね。だから、プログラムを意味のない羅列として暗記しようとするのではなく、英単語の意味として覚えておくと、思い出しやすくなります。
中学英語を1から勉強し直すことはないので、出てきた単語からGoogle翻訳してみると良いです。

なるほど〜。それなら効率が良さそうです。

例えば、よくあるエラー文で「Syntax Error」というのが出てくることがあります。

あー、何度か見たことありますね。

「Syntax」というのは「構文・文法」のことで、要するにプログラムの文法が間違ってるよ、ってことなんです。

そのままの意味ですね。

実は私は英検3級で、TOEICも受けたことがありません。それでも、英語のエラー文をコピーしてGoogleで調べれば意味はちゃんとわかるんです。それなのに、エラー文が出てもちゃんと検索しない人がとにかく多すぎる!

そうなんですか・・・。

ここで、ちゃんと自分で調べて翻訳する習慣をつけておけば、エラーの原因にもアタリをつけることができます。自力で解決する力をつけていきましょう。

どのように英語を学ぶのか?

遅延評価学習法というのは知っていますか?

知らないですね。

先んじて学習するのではなくて、予期してないことが起こってから学ぶ、という手法です。さっき話にもあったように、エラーが出てからGoogle翻訳してみて、意味を調べてみるというのも同じ学習法です。

なるほど、迷路でわからない壁にぶち当たったらもう一度考え直すイメージですかね。

そうですね。そういう風に1つ1つ意味を調べていったほうが納得しながら身につきやすいんです。

学校とかだと、予習をするのが普通でしたけどね。

それはそれで大事ですが、何で使うかわからないプログラミングの手法を暗記だけさせられても全然頭に入ってこないと思います。作りたいものがあって、手を動かしてみて失敗して、調べることで初めて気づくことも多いからです。
エンジニアになるなら、遅延評価学習はこの先ずっと使えますね。

どこまで英語を学ぶのか?

結局のところ、英語ってどこまで学んだら終わりなんですかね。

これは難しいですよね。正直いってゴールはないと思います。

うーん、難しい。

英語に限らずプログラミングも他の教養も、「ここまで学んだら終わり」ってないですよね。私自身もプログラミングの全体像を完璧に把握してるか、っていうと違うと思います。それはベテランエンジニアになったら全部わかるっていうわけでもなくて、自分たちが経験した範囲でしか知り得ない知見もたくさんあるからです。

なるほど。生涯ずっと学ぶ姿勢が必要ですね。

Rubyというプログラミング言語を作った、まつもとゆきひろさんは、英語をペラペラに駆使して海外のエンジニアとも交流しています。プログラミングの理解のためだけではなく、さらにITの情報をインプットしようと思ったら、英語が使えたほうが明らかにコミュニティの幅が広がるんです。

そうなんですね。日本語の情報だけじゃ足りないと。

以前誰かがTwitterで書いていましたが、「Rails」というキーワードでGoogle検索したときに日本語文献と英語文献の検索結果とでは10倍以上の量の違いがあるそうです。

えー、そんなに情報量が違うんですか。

はい。そこまで圧倒的に情報量が違うのに、日本語だけでしか調べないのか、英語の情報も取り入れるのか、でインプットの量が全く変わってきます。

なるほど〜。英語にアレルギーを持たずに対応できるようになると学習も進みそう。

そうですね。まぁ、あえてゴールとして明確なビジョンを示すなら、インターネットを自分の外部脳みそにする、という考え方は良いと思います。

丸暗記してなくても、インターネットで調べさえすれば出てくる、と思えるのはいい時代ですね。

もちろん自分の経験値としての知識をリアルタイムで取り出すことができるのが1番理想ですが、経験もないのに暗記するのは何も価値がありません。1つ1つの経験が起きてからきちんと理解するまで調べて、着実に身につけていくことが先決ですね。

学ぶことの在り方も考え直せる良い機会になりました。ありがとうございました!

まとめ

・英語はやらないよりやったほうが良い!
・1から学ぶのではなく、Google翻訳を使っていい!
・遅延評価学習法を意識しよう!
・英語の文献で触れられる情報量を増やそう!
・インターネットを自分の外部脳みそにしよう!

英語に苦手意識を持っていた方も、「Google翻訳を使っていい」というアドバイスには勇気がもらえたのではないでしょうか?
まずはエラー文を検索するところから始めて、プログラミングを学びながら、英語にも少しずつ慣れていきましょう。

DIVE INTO CODEのことをもっと知ってみませんか?