【C#】英文法から見るコーディングの読み方

みなさん、多くの方は中学で英語を学び始めたことと思います
覚えていることが少なくなっている方、全くわからなかった方もおられると思いますが、今一度思い出してみましょう

このページの対象者としては、オブジェクト指向の文法はわかるけど意味が曖昧な方としています

いろいろな構文

プログラミング言語の多くは英語圏で開発されています
特に英語圏での開発、利用が多いことは疑いがありませんね

英文法でS+Vとは

“S+V" は、英文法の中で主語(Subject)と動詞(Verb)の組み合わせを指します。これは文の基本的な構造であり、主語が動詞を行為することを示します。例えば、"She sings."(彼女は歌います。)のような文で、"She"が主語、"sings"が動詞となります

英文法でS+V+Oとは

“S+V+O" は、英文法の中で主語(Subject)、動詞(Verb)、目的語(Object)の組み合わせを指します。主語が動詞を行為し、その行為の対象となるものが目的語として表現される構造です。例えば、"He eats an apple."(彼はリンゴを食べる。)のような文で、"He"が主語、"eats"が動詞、そして “an apple" が目的語となります

英文法でS+V+Cとは

“S+V+C" は、英文法の中で主語(Subject)、動詞(Verb)、補語(Complement)の組み合わせを指します。主語が動詞を行為し、その結果として補語が述べられる構造です。例えば、"Her job is a doctor."(彼女の仕事は医者です。)のような文で、"Her job"が主語、"is"が動詞、そして “a doctor" が補語となります

その他

  1. 目的語(Object): 動詞の行為の対象を示す部分です。例えば、"She reads a book."(彼女は本を読む。)の場合、"a book" が目的語です。
  2. 補語(Complement): 主語と動詞を補完し、主語についての情報を提供します。例えば、"He is a teacher."(彼は教師です。)の場合、"a teacher" が補語です。
  3. 副詞(Adverb): 動詞、形容詞、他の副詞などを修飾する語句で、時間、場所、方法などを示すことがあります。例えば、"She sings beautifully."(彼女は美しく歌います。)の場合、"beautifully" が副詞です。
  4. 形容詞(Adjective): 名詞を修飾する語で、名詞についての情報を提供します。例えば、"The red car is fast."(赤い車は速い。)の場合、"red" が形容詞です。
  5. 前置詞(Preposition): 名詞や代名詞と一緒に使われ、位置、時間、関係などを示す役割を果たします。例えば、"He is in the park."(彼は公園にいます。)の場合、"in" が前置詞です。
  6. 連体詞(Relative Pronoun): 文中の名詞を修飾する役割を果たす代名詞です。例えば、"The book that I read is interesting."(私が読んだ本は面白い。)の場合、"that" が連体詞です。
  7. 現在形、過去形、未来形などの時制(Tense): 動詞の行為が時間的にどの時点で起こったかを示す文法要素です。

これらは英文法の一部であり、文を正確に構築し意味を伝えるために重要な要素です

C#プログラム言語で置き換えて考えてみる

S+Vのパターン

サンプル

“She sings."(彼女は歌います。)

まず、彼女ですが、特定の一人の女性を指しますね
ここでいう特定とは女性全体を指すのではないという意味です

C#で考えると

まず、特定の女性の元となる「女性とは・・・」の形(テンプレ、雛形)を作ります
C#ではこのことをクラス(class)と表現します

class Woman
{

}

歌うという振る舞い(動作)をするとのことなので、次のようにコードを追加します

class Woman
{
    public void Sings()
    {
        Console.WriteLine("彼女は歌います");
    }
}

次に特定の女性を実体として表すために次の構文で実体化します
ここで、変数woman1が特定の女性を指す目印になります

Woman woman1 = new Woman();

はい、特定の女性が現れたところで、次に歌ってもらいましょう

// 彼女 / 歌います
woman1.Sings();

.(ピリオド)は、日本語の「は」の部分と考えると翻訳的には都合がよさそうですね
多分、英語圏の方は、彼女+歌いますで(S + V)で問題なく思考できるのでしょうけど・・・

S+V+Oのパターン

サンプル

“He eats an apple."(彼はリンゴを食べる。)

まず、ですが、特定の一人の男性を指しますね
ここでいう特定とは男性全体を指すのではないという意味です

C#で考えると

まず、特定の男性の元となる「男性とは・・・」の形(テンプレ、雛形)を作ります
C#ではこのことをクラス(class)と表現します

class Man
{

}

食べるという振る舞い(動作)をするとのことなので、次のようにコードを追加します
ただ、S+Vの時と違って目的語があります
目的語は、引数にあたると考えます

class Man
{
    public void Eats(string food)
    {
        Console.WriteLine($"彼は{food}を食べる");
    }
}

次に特定の男性を実体として表すために次の構文で実体化します
ここで、変数man1が特定の男性を指す目印になります

Man man1 = new Man();

はい、特定の男性が現れたところで、次にリンゴを食べてもらいましょう

// 彼 / 食べる / リンゴ
man1.Eats("リンゴ");

英語圏の方の目線で見ると彼 + 食べる + リンゴなので、(S + V + O)で問題なく思考できるのだなとわかります

S+V+Cのパターン

サンプル

“Her job is a doctor."(彼女の仕事は医者です。)

まず、彼女ですが、特定の一人の女性を指しますね
ここでいう特定とは女性全体を指すのではないという意味です

C#で考えると

まず、特定の女性の元となる「女性とは・・・」の形(テンプレ、雛形)を作ります
C#ではこのことをクラス(class)と表現します

class Woman
{

}

医者という属性(データ)なので、次のようにコードを追加します

class Woman
{
    public string Job { get; set; }
}

次に特定の女性を実体として表すために次の構文で実体化します
ここで、変数woman1が特定の女性を指す目印になります

Woman woman1 = new Woman();

はい、特定の女性が現れたところで、職業をインプットしましょう
特定の彼女の職業に「医者」を割り当てています

// 彼女 / 職業 / です / 医者
woman1.Job = "医者";

英語圏の方の目線で見ると=が「です」(動詞)にあたりますよね
(S + V + C)で問題なく思考できるのだなとわかります

まとめ

いかがでしょうか
いくつかのサンプルを見てもらいましたが、英語圏の方は普段の会話通りの文脈でコードを書いたり読んだ里していることがわかりますね

この順序が自然と感じている英語圏の方の気持ちになれるよう、今一度中学英語を見直してみましょう