フューチャー技術ブログ

プログラミング英会話 基礎

プログラミング英会話 [基礎]

こんにちは! 英語大好き優輝です。

今回はカナダの大学でコンピュータ・サイエンスを学んだ経験から、英語でIT会話をする基礎を書こうと思います。

プログラミングやIT表現を練習をしましょう!

この記事について

この記事は、「プログラミングを英語で話すこと」を目的として練習する記事です。

記事の中では日本語に対応する英語を隠してあるので、まず頭の中で日本語を英語に変換してみてから英訳をみてみてください。「読める」ことを目標にした場合はレベル感が落ちてしまうことを了承ください。「話せる」ことで世界のプログラマーと対話できるように練習しましょう!

まずは試してみる

“What do you do?”(仕事何してるの)と聞かれたときに「プログラミングを職業にしていること」を伝える3種類の英文を次の条件にしたがって考えてみてください。

条件: 3つ全ての文にprogramという文字列を必ず含こと。

解答例

I program. (動詞の例)
I write programs. (名詞の例)
I am a programmer. (erを付けてプログラマーとしている例)
※他にも回答はあります

どうですか?

シンプルな英語ですが、自分がプログラマであることを表現できます。日本語もそうですが、単語の品詞を変えて英文を作るのが自由に英語を話すコツです。

エクササイズ

programの他にcodeという単語も同じ様に使います。

program[名][動]=プログラム/プログラムする
code[名][動]= コード/コーディングする

programもcodeも名詞の場合は加算です。文法に注意して英文を作ってみましょう。

名詞扱いの例

「私は1つプログラムを書いた」

英文表示
I wrote a program. ※数えられるので、1つだとaが付きます。

「私は2つプログラムを書いた」

英文表示
I wrote two programs. ※単数、複数も意識するとよいでしょう。

動詞扱いの例

「私はプログラミング/コーディングが好きだ」

英文表示
I like programming. I like coding. ※動詞なので現在分詞ingにして動名詞です。

「私は週末プログラミングする」

英文表示
I program on the weekend. I code on the weekend.

「私は昨日アプリをプログラムした」

英文表示
I programmed an app yesterday. ※アプリはきっと一つ作っているので単数系、母音で始まる単語なのでanを使いましょう。

「私は3年間プログラミングしている」

英文表示
I have been programming for three years. ※動作系の動詞の現在完了進行系です。覚えてますか。 ※have + be + VingでずっとVしている。を表現します。

programが動詞として使われるということはもちろん、原形、過去形、過去分詞(ed)、現在分詞(ing)があるということです。

「このコードは彼女によってプログラムミングされた」

英文表示
This code was programmed by her.

「彼は今プログラミングしている」

英文表示
He is programming now.

programやcodeを動詞として使いこなせれば、色んな表現ができるようになります。

ググる

次に、プログラムではないですがプログラマに必須の「ググる(インターネットで調べること)」についてみてみましょう。

プログラミングの勉強や開発で分からないことがあったとき、分かる人にを質問するシチュエーションです。

あなたが質問をします。
そうすると、聞かれた彼はこう答えます。
「それググった?」

英文表示
Did you google it?

そしてあなたはこう答えます。
「昨日何回もググったけど、なにもなかった」

英文表示
I googled it many times yesterday, but there was nothing. ※nothingは単数扱いなのでwasになっています。

日本人はGoogleを動詞化して「ググる」として使っていますが、
Googleはそのままgoogleという動詞使っていますね。

「今ググってるよ」と言いたければこんな感じです。

英文表示
I am googling it right now.

参考

googleの活用
google ググる 原型 googled ググった 過去形 googled ググられた 過去分詞 googling ググってる 現在分詞

他にも
「インスタに投稿した」

英文表示
I instagrammed.
「それツイートされてたよ。」
英文表示
That was tweeted.
など使われているのを聞くかもしれません。

プログラミングを英語で言ってみる

それではコードを見ながらプログラミング表現を英語で考えてみましょう。
サンプルコードはJavaです。
※ヒントを用意しましたが、まずはヒントなしで考えてみてください。
※主語が明示されていないときはIを主語で英訳を書いています。
例:「それを食べた」=> I ate it。

int score;
ヒント表示
変数=variable [名] 定義する=define [動]

「変数を定義する」

英文表示
I define a variable

「int型の変数を定義する」

英文表示
I define a variable of type int.

「scoreという名前の変数を定義する」

英文表示
I define a variable named "score".

「 scoreという名前の変数を定義した」

英文表示
I defined a variable of type int named "score".
Sample.java
score = 90;
ヒント表示
代入する=assign [動]

「scoreに90を代入する」

英文表示
I assign ninety to the "score".

オブジェクト系も英語で表現

Cat.java
public class Cat{
}
Sample.java
Cat c = new Cat();
ヒント表示
インスタンス化する=instantiate [動]

「Catクラスをインスタンス化する」

英文表示
I instantiate the Cat class.

「Catクラスのオブジェクトを作る」

英文表示
I create an object of type Cat.
public class Cat extends Animal{
}
ヒント表示
継承する=inherit [動] 子は英語でなんていう?

「CatクラスはAnimalクラスを継承している」

英文表示
The Cat class inherits the Animal class. ※三単現なので動詞にはsをつけます。

「CatクラスはAnimalクラスの子クラスである」

英文表示
The Cat class is a child class of the Animal class. ※a childをthe childにしても正しい英文ですが、その場合、CatクラスはAnimalクラスの唯一の子クラスという意味合いになります。(Animalクラスを継承しているクラスはCat以外にはないというニュアンスになる。)

「二分木の全ての親ノードは2つの子、2つの葉、または1つの子と1つの葉を持っている」

英文表示
Every parent node of a binary tree has either two children, two leaves, or a child and a leaf. Every parent node of binary trees has either two children, two leaves, or a child and a leaf.

encryptとencode

最後にちょっとした最近の気付きを書こうと思います。
次の英単語を日本語にしてみてください。

encrypt

日本語表示
「暗号化する。」 ※encryptは動詞なので「暗号化」と訳すのは間違いです。 ※「暗号化は」encrypiting

encode

日本語表示
「記号化、符号化」「記号化する、符号化する。」 ※encodeは名詞でも動詞でも使えます。

decrypt

日本語表示
「復号する。」 ※decryptは動詞なので「復号」と訳すのは間違いです。

decode

日本語表示
「復号」「復号する。」 ※decodeは名詞でも動詞でも使えます。

気付きましたか?

筆者が気付いたこと表示
"暗号化"(encrypt)も"符号化"(encode)も、日本語だとその逆は"復号"(decrypt/decode)なんです。 「暗号化する」<=>「復号する」 「符号化する・記号化する」<=>「復号」
とても面白い。

使ってみましょう。
1.「コードのこの行はメッセージを暗号化する」
2.「コードのこの行はメッセージを符号化する」
3.「コードのこの行はメッセージを復号する」

英文表示
1. This line of codes encrypts messages. 2. This line of codes encodes messages. 3. This line of codes decrypts/decodes messages. ※コードは複数の行があって一つのプログラムになるので、複数形 ※This lineは単数なので、動詞には三単現のs ※メッセージは加算かつ、1つしかメッセージを暗号化・記号化する訳ではないので複数系

余談

「復号化」ではなく、「復号」と書く理由を考えてみる

日本語では「暗号」や「符号」はそれ自体、具体的な「モノを表す名詞」でしかないが、「復号」は抽象的な「動きを表す名詞」です。

「暗号」や「記号」=「モノを表す動詞」
「復号」=「動きを表す名詞」

「動きを表す動詞」に「〜する」をつけると動詞になります。
「動きを表す名詞」+「〜する」=「動詞」
「復号」+「〜する」=「復号する」

「モノを表す名詞」に「〜化」をつけると モノに変えるといったニュアンスの「動きを表す名詞」になります。
「モノを表す名詞」+「〜化」= 「動きを表す名詞」
「暗号」+「〜化」=「暗号化」
「記号」+「〜化」=「符号化」

ということは
「動きを表す名詞」+「〜する」=「動詞」
「暗号化」+「〜する」=「暗号化する」
「記号化」+「〜する」=「符号化する」
「復号」+「〜する」=「復号する」

ということで、復号はそもそも「動きを表す名詞」なので「〜化」をつけないのが正しいです。

英語での対応一覧

暗号 = cipher [名] / secret code [名]
暗号化 = to encrypt / encrypting [名]
暗号化する = encrypt [動]

符号 = code [名]
符号化 = encode / to encode / encoding [名]
符号化する = encode [動]

(暗号を)復号 = to decrypt / decrypting [名]
(暗号を)復号する = derypt [動]

(暗号を)復号 = decode / to decode / decoding [名]
(暗号を)復号する = decode [動]

※to Vで不定詞の名詞的用法、Vingで動名詞

余談でした。

さいごに

これからは仕事でも英語を使うやり取りも増えてくるかもしれません。
プログラミングを覚える中で英会話力も向上させてしまいましょう。