プログラマーになるためには英語の勉強が必要なのか?そう思う方も多いと思いますが、なんなら英語なんて出来ないエンジニアの方が多いと思います。私もできません。
英語が出来なくてもプログラマーにはなれる
ハッキリ言って英語ができなくてもプログラマーになるのは全く問題ありません。もし英語ができないから…と躊躇しているならそんな必要は皆無です。
プログラムのコードは全て英語で書かれているので、あれを見た瞬間に英語ができなければ駄目なのかと不安になる気持ちもわかります。
確かにプログラムは英語で書かれるのですが、英語を勉強して英語が話せる、読める、文として理解できる、言いたいことを英文にできる必要はないんですよね。
逆に言うと、英語が完璧に話せる人でもプログラムは一切書けません。なので英語はプログラマーになるには必須ではないんです。
ある程度の単語は使う
英語は不要と書きましたが、単語としていくつか知っている必要だけは出てきます。でも難しくないので安心してください。
例えばほぼどのプログラミング言語にもif文という構造があります。これは「もし〇〇なら××の処理を実行」という具合に「もし」=「if」を判定する構文です。
プログラミングに必要な英語の知識なんてこの程度の単語で十分です。
どの言語にもある構文としては条件分岐の判断となるifやswitch、繰り返し処理を扱うforやwhileといったところですね。正直英語として覚えなくても使えればOKです。
変数名で少し英単語を使う
プログラミングには変数というものが存在します。例えばPHPだと「$num = 2019」というような記述になりますが。
これは変数「$num」に「2019」という値を代入する構文になり、「$num」の中身が今2019という値になっている状態になります。
では「num」って何だというと英語の「number」から数字であるという意味で変数名に付けているわけですね。
「$number」でもいいのですが、短く3文字くらいで表す場合が多いです。もちろん「$number」としてもいいと思います。
このように何使う変数なのかを考えて、ちょっとした英単語から変数名を自分でつけるくらいの必要は出てきます。
関数名でも少し英語を使います
関数とは何ぞやというお話ですが、よく使う処理を別部分に切り分けて、色々な場所からその関数を呼び出して使うといったものになります。
例えばその値が数字かどうかを判定する関数を作ったとします。そしてそれを色々なところで使う。その場合その関数にはどのような名前をつければいいか?
よくある名前の付けたとしては「isNumeric()」みたいなのが多いと思います。英語で言えば「is numeric?」って感じで数字かを判定する関数って感じですね。
ちょっとだけ単語から進んで英文な感じになってしますが、そこまで難しい英文が必要なわけではないのでここも不安に思う必要はないです。
日本語を使うのはどうか?
例えば最初に書いた変数名「$num」は数字ということなら別に「$suuji」でも付けようと思えば全然付けれちゃうわけです。
そして別に日本語っぽい名前を絶対につけてはいけないという決まりがあるわけではありません。中には英語にするのが難しい、ローマ字読みの日本語で付けた方がわかりやすい場合もあるかもしれません。
でも日本語で変数名や関数名を付けるというパターンはあまり見ませんね。何となくダサいというのもありますが、プログラム関連は主に海外で作られたものを利用することが多いというのもあると思います。
もしくは海外に出しても恥ずかしくないレベルのコードを書くのであれば英語を意識するのが必須になるでしょう。あまりそんなことはないかもしれませんが。
google翻訳さえ使えればOK
色々書きましたが英語が出来なくてもプログラムは全然書けます。ただ上記の通りちょいと単語を使うこともあるのですが、そんな時もサクッとgoogle翻訳使えば一発です。
例えば変数に「費用」を入れたいとして、費用って英語でなんだ?と思ったらgoogle翻訳でサクッと調査。「cost」だということがわかるので変数名は「cost」としましょう。
さっき関数名の例で出てきた「数字かどうか?」も翻訳してみると「Is it a number?」と出てきました。
なのでこの場合は「isNumber()」なんていう関数名でもいいかもしれませんね。ここはちょっと個人のセンスが問われるところかもしれません。
まとめ
長々と書きましたがプログラマーになりたいけど英語ができない…なんてことを気にする必要は全くないということです。
私も主にwebエンジニアで10年以上お仕事してますが、海外に行ったことも無ければ英語を話したこともありません。
それでも上記の通り軽くgoogle翻訳を使えば何とかなってます。
関数名の付け方だけは少し経験がいるかもですが、gitでソースが公開されているものやフレームワークの中身を見て名づけの例を参考にしてみるだけでもかなり理解できると思います。
それでは英語なんかおそれずにプログラマーへの道を一歩あゆみだせますように!