メインコンテンツへスキップ
レッスン 2 / 15推定時間: 30

プログラミング英語で重点的に学ぶべきこと

文法より単語力が重要な理由と、微妙なニュアンスの違いがもたらす影響を理解します

プログラミング英語で重点的に学ぶべきこと

前回のレッスンで、プログラミングに英語が必要な理由を理解しました。では、具体的に何をどのように学べばよいのでしょうか?

文法より単語力が重要な理由

プログラミングで使う英語の特徴

プログラミングで使う英語は、日常会話とは大きく異なります:

// プログラミングでの英語
if (user.isActive) {
  sendNotification(user.email);
}

// 日常会話なら...
// "If the user is active, please send a notification to their email address."

プログラミングでは:

  • 単語や短いフレーズが中心
  • 複雑な文法は不要
  • 専門用語の意味を知ることが重要

なぜ単語力なのか

  1. コマンドは単語の組み合わせ

    git add .
    git commit -m "Fix bug"
    git push origin main

    各単語の意味が分かれば、コマンドの動作が理解できます。

  2. エラーメッセージも単語がカギ

    Error: Cannot find module 'express'
    
    • Cannot = できない
    • find = 見つける
    • module = モジュール(部品)

    → 「expressというモジュールが見つからない」と理解できます。

  3. 変数名・関数名は単語の組み合わせ

    getUserById()     // get + user + by + id
    isValidEmail()    // is + valid + email
    calculateTotal()  // calculate + total

読む力 > 書く力 > 話す力の優先順位

1. 読む力(最重要)

プログラミングで最も必要なのは読む力です:

  • エラーメッセージを読む
  • ドキュメントを読む
  • 他人のコードを読む
  • Stack Overflowの回答を読む

実際の開発時間の70%は読むことに費やされます。

2. 書く力(重要)

次に重要なのは書く力です:

  • 変数名・関数名をつける
  • コメントを書く
  • コミットメッセージを書く
  • 簡単な質問を書く

ただし、完璧な文法は不要です。意味が伝われば十分です。

3. 話す力(あれば良い)

英語を話す機会は限られています:

  • 国際的なチームで働く場合
  • カンファレンスに参加する場合
  • オンラインミーティングがある場合

初心者のうちは、話す力は後回しで構いません。

プログラミング特有の英語表現の特徴

1. 命令形が基本

プログラミングは「コンピュータへの命令」なので、動詞の原形(命令形)を多用します:

print()    // 印刷しろ
save()     // 保存しろ
delete()   // 削除しろ
create()   // 作成しろ

2. 省略形が多い

スペースと入力時間を節約するため、省略形をよく使います:

src  → source(ソース)
dst  → destination(目的地)
ctx  → context(文脈)
cfg  → configuration(設定)
tmp  → temporary(一時的な)

3. 組み合わせで意味が変わる

同じ単語でも、組み合わせによって意味が変わります:

get()       // 単純に取得
getData()   // データを取得(一般的)
getUser()   // ユーザーを取得(具体的)
getUserById() // IDでユーザーを取得(より具体的)

微妙なニュアンスの違いがもたらす影響

例1:削除を表す言葉

プログラミングでは「削除」を表す英語が複数あり、それぞれ異なる動作を意味します:

// delete - 完全に削除(復元不可)
delete user.password;

// remove - コレクションから取り除く(データは残る可能性)
removeFromList(item);

// clear - 中身を空にする(入れ物は残る)
clearCache();

// reset - 初期状態に戻す
resetForm();

間違った単語を使うと、意図しない動作になる可能性があります。

例2:更新を表す言葉

// update - 一部を更新
updateUserProfile({name: "新しい名前"});

// modify - 変更を加える
modifySettings();

// change - 完全に変更
changePassword();

// replace - 置き換える
replaceAll("old", "new");

例3:取得を表す言葉

// get - 単純な値の取得
const name = getName();

// fetch - 外部リソース(API等)から取得
const data = await fetchUserData();

// retrieve - 保存されたデータを復元
const backup = retrieveBackup();

// find - 検索して取得
const user = findUserByEmail(email);

「避けるべき曖昧な表現」を知ることの重要性

よくある曖昧な表現

Qiita記事でも指摘されているように、以下の表現は避けるべきです:

  1. get/set の乱用

    // ❌ 曖昧
    getData()
    setData()
    
    // ✅ 具体的
    fetchUserProfile()
    updateUserProfile()
  2. check の多用

    // ❌ 何をチェックするか不明
    checkUser()
    
    // ✅ 明確
    validateUser()     // 妥当性を検証
    verifyUser()       // 正しさを確認
    userExists()       // 存在を確認
  3. do/handle の使用

    // ❌ 何をするか分からない
    doSomething()
    handleData()
    
    // ✅ 具体的な動作
    processPayment()
    parseJSON()

AIツールを効果的に活用するための英語力

1. 明確なプロンプトが書ける

❌ 曖昧:"make function"
✅ 明確:"create a function to validate email format"

2. AIの提案を正しく理解できる

AIが提案するコードの意図を理解するには、使われている英単語の意味を知る必要があります。

3. エラーを的確に伝えられる

❌ "It doesn't work"(動かない)
✅ "Getting 'undefined' error when accessing user.name property"
   (user.nameプロパティにアクセスすると'undefined'エラーが出る)

学習の優先順位

このコースでは、以下の順番で学習を進めます:

1. 超頻出単語(第1章)

  • エラーメッセージでよく見る単語
  • 基本的な動詞・名詞
  • コマンドでよく使う単語

2. 使い分けが重要な単語(第2章)

  • 似た意味の動詞の使い分け
  • 対になる単語のペア
  • 命名規則と省略形

3. 専門的な単語(第3章)

  • システム設計用語
  • パフォーマンス関連用語
  • トラブルシューティング用語

まとめ

プログラミング英語で重要なのは:

  1. 文法より単語力:専門用語の意味を知ることが最優先
  2. 読む力を鍛える:エラーメッセージやドキュメントを理解する
  3. 微妙な違いを理解:似た単語でも動作が異なることを知る
  4. 曖昧な表現を避ける:具体的で明確な単語を選ぶ

次のレッスンでは、このコースの効果的な学習方法と、楽しく学べるクイックテストシステムについて説明します。