はじめ
先日「プログラミングをすると英語ができるようになるからいいよね!」と言われたことに対して、エンジニア全員が黙ってしまい、妙な空気が流れました。
プログラミングに興味を持ち始めた人や、周囲でプログラマーを見ている人からよく耳にするフレーズです。英語に抵抗感がある人にとっては、プログラミングを通じて英語力も鍛えられるというのは魅力的に聞こえるのかもしれません。
でも、実際にプログラミングをしていると、「そう簡単に英語ができるようになるわけじゃないよ」と感じる場面も多いはず。この記事では、この発言に対するモヤモヤ感の正体を考察し、プログラミングと英語の現実的な関係について考えてみます。
英語に触れる場面は多い
プログラミングをすると英語に触れる機会は確実に増えます。
- プログラミング言語自体が英語ベース
- ドキュメントは英語が多い
技術習得のために英語を読んだりする必要性がどうしても出てきます。英語に触れる時間が増えることで、英語の文法構造や単語に慣れることができたり、「How to…」質問形式といった特定の目的に直結した英語力は鍛えられそうです。また、問題解決への情報収集のため、英語を学習するというモチベーションアップにつながるかもしれません。
でも、それだけで「英語ができる」とは言えない理由
英語に触れる機会は多いですが、プログラミングをしていると英語力が向上するとは言い切れません。
プログラミングで触れる英語は、技術的な用語やフレーズに限られますし、例え読むことができても書いたり話したりする能力が向上するわけではありません。プログラミングで学んだ英語は日常会話やビジネスにはあまり役に立たないことが多いでしょう。
例えば、英語ドキュメントを理解できても “Could you please help me with debugging this issue?” というような文をすらすら書けるようにはなりにくいと思います。
またGoogle翻訳やDeepLなどのツールが発達しており、英語を直接読まなくとも必要な情報は手に入ります。ChatGPTが翻訳して要約してくれるようになったことから、余計に英語力を伸ばす機会は少なくなるかもしれません。
「英語ができるようになる」は期待しすぎかも?
プログラミングをしていると英語に触れる機会が増えますし、技術英語には触れますが、日常英語や英語力全般が伸びるわけではありません。また技術英語も発音の仕方が国によって異なったりすることもあります。
ただ、プログラミングを通して言葉の意味を知るというおもしろさで英語学習のモチベーションは上がるかもしれません。
逆に英語ができるとプログラミングができる?かとも思うがそうでもない
英語ができるとプログラミングができるかと聞かれると、一概には言えないです。英語力はプログラミング学習を大いに助けますが、英語だけでプログラミングができるようになるとは限らないからです。
例えば、情報収集やエラー解決、学習教材の選択においては英語ができる方が選択肢はかなり広がります。
しかし、プログラミングの習得には論理的思考や知識、手を動かす経験から体に染み込ませることが必要です。
なので、英語力はプログラミング学習をスムーズに進める「アドバンテージ」にはなりますが、プログラミングそのものの能力を直接保証するものではありません。
おわりに
プログラミングをすると英語学習を促進するとは思いますが、使っている英語の範囲が限定的なので「英語ができるようになる」わけではないと考えます。
「国語をすると英語ができるようになる」とは言われないのに、「プログラミングをすると英語ができるようになる」と言われるのは不思議ですね。
書かれているコードにはスペルミスもあったりするので、私はプログラミングで使っている言語が英語だという認識は薄くて、ただの記号に思えてます。
余談: 「プログラミングすると数学ができるようになる?」
抽象的な数学をプログラミングに落とし込むことで、数学的概念を実感として理解できる機会はあります。
またプログラミングには数学的思考(論理的思考、問題解決力、アルゴリズム)が必要なことも事実です。ですが、プログラミングで学べる数学は限定的で、しかも「自然」には学べず、自分で調べる必要があります。
またプログラミングの範囲にはWebサイト構築といった数学を直接使わない場合があったり、ライブラリといった自動化ツールに依存しすぎ数学の理論そのものを理解せずに使う場合もあります。
プログラミングをすることで数学的センスを磨ける可能性はありますが、数学の深い理解を得るには別途の努力が必要であり、また個人の興味や目的によって効果が異なるでしょう。