なぜプログラミングに英語が必要なのか。求められる英語力は4つの内どれ?



高校生でプログラミングにのめり込み、現在も時々自分でプログラムを組むことがあります。

そんなプログラミングについて以前より話題に上がるのが「プログラミングに英語は必要なのか」という点です。はっきり言いましょう。別に英語ができなくてもプログラマーに”なることは”できます。しかし、問題解決に優れたプログラマーにはなれないと僕は考えています。

僕の経験則としては間違いなく英語は必要なのですが別に英語が喋れなくても構いません。英文作成が下手でも構いません。

では、プログラマーに求められる英語力とは何でしょうか。

 

この記事で知ることができること

  • なぜプログラミングに英語が必要なのか
  • プログラマーが英語を求められる場面
  • 求められる英語力

 

プログラマー・プログラミングといっても様々な環境と様々な取り組み方があります。そのため、この記事で紹介するものはあくまでも僕がプログラミングを自分で行っていたときの経験に基づくものであり、全てのプログラマーに当てはまるものではないかもしれません。

とはいえ、環境によって多少の違いはあれどプログラミングをやる上で英語が必要なことに変わりはないと考えています。1つずつ見ていきましょう。

 

【結論】プログラミングに英語は必要

必須とまでは言いません。ただ必要です。

 

プログラミングを仕事として取り組む人もいれば、学生のように勉強の延長から趣味として自分で作りたいものを組む人もいます。

しかし、プログラミングを触っていく人はみんな経験したことがあると思います。

 

  • 想定した動きをしない
  • パッと見間違ってなさそうなのに動かない

 

みたいなこと。

 

そういう時にすぐに聞ける人がいれば話は済むかもしれませんが、僕が考えるプログラマーに求められるスキル、いえ社会人全てに求められるスキルは正にこの時。

問題にぶつかった時にいかに自分が欲しい解決策を探し出せるか(導き出せるか)

です。

 

人に聞くことでその場は乗り越えられるかもしれませんが、その覚えたパターンやロジックではダメな場合も出てきますよね。

応用が効く範囲であれば調べる間もないでしょうが、そうじゃない場合。その都度誰かに聞きますか?最終的に聞くという判断は間違ってませんが、まずは自分で解決できるように努めるべきではないですか?

 

プログラマーのように何かを作っていく・組んでいく人は全て問題解決力を高めていく必要があります。

 

当然、分からないポイントは調べますよね。最近では日本語で調べて答えが得られることもあるでしょう。しかし、経験上多くの場合海外フォーラム等で答えやヒント、代替案を得られる場面が圧倒的に多いです。

 

プログラミングに取り組んでいく上で英語が必要な理由。それは問題にぶつかった時にヒントをくれるのは多くの場合英語サイトであるからです。

 

プログラミングで英語が求められる場面

僕がプログラミングに取り組んで最も英語が必要だと考える場面は上にも書いたとおり「知りたい情報を探す時」ですが、そもそも英語を読む力が必要な場面は調べる時以外にもいくつかあります。一般的にこれらが良くプログラミングに英語が必要な理由としてあげられています。

 

エラー文はまず間違いなく英語

どの言語でも構いませんがプログラミングに取り組み始めたらほぼ確実にエラーを吐くと思います。

そのエラー文、英語じゃありませんか?プログラムのエラー・警告文は基本的に全て英語で返されます。(エラーが発生している行数を教えてくれたりもする)

エラーを吐いてプログラムが上手く動作しない場合、様々な要因が考えられます。

 

  • 構文エラー:構文が間違っている(誤字とか ;抜け }入れ忘れとか)
  • ランタイムエラー:無限ループや0割り(除算)
  • 論理エラー:欲しい結果が出ない

 

エラーが何なのか。どこで起こっているか特定する必要がありますが、このエラー文(論理エラーでは吐かないか)が英語で出されるためこれを理解するだけの読解力が必要になります。

 

プログラミング言語が英単語の集まり

これ僕はあまり気にしたことがなかったので気づきませんでしたが調べて「あ、なるほど」と思ったので紹介します。

 

プログラミング言語は様々な種類がありますが、基本的に全て英語で作られています。

つまり、型の宣言や関数などは英単語を元に名付けられているんです。

 

条件判定分を書く時は「if」を使いますが、意味は「もし」ですよね。

「if」の意味を知っていればそこで条件判定を行っていることが理解できます。

 

他にも、略語ですが「int」とかの型宣言も全て英単語が元です。(integer)

 

つまり、英単語の意味を知っていればそのプログラムの流れを把握するのが早くなる可能性があります。

 

プログラマーに求められる英語力は「読む力」

英語は分類分けすれば「読む」「聞く」「話す」「書く」の4つに分けられます。

プログラマーに求められる英語力はこの内「読む」力です。他の3つは正直なくても問題ないです。

もちろん、これは日本でプログラマーとして働く場合の話です。先々英語圏でのキャリアアップを見据えているのであれば全て必須であることは言うまでもありません。

 

「書く」力はなくて良いと言ってしまうと誤解を生みそうですが、プログラマーに必要なのは「書く」力よりも「調べる」力です。この中に英語での検索が含まれます。

 

僕はプログラマーに必要なスキルは結局のところ、知りたいことを的確に調べるスキルだと思ってるので、その調べたものを理解するために「読む」力が必要だ考えています。

 

まあ、「読む」力は最近で言えばGoogle翻訳やDeepL翻訳が優秀なので以前ほどこのスキルがなくても日本語に変換して読むことはできますね。

 

ただ経験上英語ページを日本語翻訳にしてもいまいち知りたいことかどうかピンとこないことが多いです。僕は検索してStackoverflowにたどり着くことが多かったですが、ネイティブ通しのやり取りだと整った英文で書かれていることばかりではなく、また、文章中にプログラムのことを書かれると翻訳が正しく機能してくれません。

それで、良く分からないから英語でちゃんと読むと「あ、このページで書かれてることは僕の知りたいことではないな」「そうそう、このこと!」と理解できるパターンが遥かに多いです。

 

下に紹介している「読む英語」で紹介される読む力を伸ばす上で必要とされる3つのスキルの内、プログラマーが特に伸ばしておきたいのは「スキャニング」というスキルです。

プログラマーの多くは英語で何かを調べる時、知りたいことが明確にありますよね。その「知りたいこと」、必要な情報を探す読み方をスキャニングと呼びます。

 

実際のところこのスキルは英語だけでなく日本語でもとても重要なことです。知りたい情報とは異なる情報を必死に読んでも何も解決しませんよね。そもそも知りたい情報がそこにはあるのかどうかをすぐに理解するために伸ばしておきたいところです。

 

このスキルを究極に伸ばせば翻訳サービスと少しの英単語力で多くの情報は理解できると思います。(翻訳文を理解するコツもいるかも?翻訳通すと整形された文ばかりじゃないし)

 

ぶっちゃけプログラマーに一番必要なもの

ぶっちゃけ。何人かのプログラマーを見てきましたが、一番必要になる、壁になるのは知りたいことを的確に調べられるかどうかなのかなと感じています。

 

作ったプログラムが想定通りに動作しない場合、Googleの検索ワードにその旨を調べますよね。すると検索の仕方が下手、どう検索して良いのかわからないという人がいます。

 

検索の基本は単語ごとで区切って検索することです。長文で検索するとヒットする件数はぐっと減ってしまいます。

 

これは日本語でも英語でも一緒です。因みにプログラムが上手く動かない時の英語検索は「not working」が使えますよ。「言語 やりたいこと not working」

 

知りたいことを調べることができたら、英語でも知りたい情報が知れるはずです。そして、検索できたら後は「読む」力です。

 

「読む」力は英文でそのまま読めるほうが遥かにスピードは早く、勘違いも防げますが、究極翻訳サービスに投げてしまえばある程度の理解はできます。

 

まとめ

プログラミングを組んでいた時は、何度も英語で調べてました。最近は日本語の情報も増えてきましたがやはりちょっと深いところを知るとなると英語サイトがまだまだ多いです。

 

また、英語で調べる習慣がつくとプログラミングに限らず多くのことを英語で調べられるようになります。

そうすることで、情報を様々な視点で見ることができますし、日本語情報ではカバーできていない範囲の情報を知ることもできますよ。

 

最後に、プログラミングの理解度が低いことと英語力が低いことは別です。プログラミングの理解を高めたかったらプログラミングの勉強に時間を割くべきです。

それを削ってまで英語を勉強する必要はありません。あくまでもプログラムの作業効率を高めるため、問題解決までの時間を短くするために英語は役に立つ・必要であるというものです。プログラマーとしてのスキルを高めたければまずはプログラミング言語・論理思考の会得に時間を徹底的に使うべきだと考えます。

「いいね!」ボタンをタップしてね