プログラミング英語で重点的に学ぶべきこと
前回のレッスンで、プログラミングに英語が必要な理由を理解しました。では、具体的に何を、どのように学べばよいのでしょうか?
文法より単語力が重要な理由
プログラミングで使う英語の特徴
プログラミングで使う英語は、日常会話とは大きく異なります:
// プログラミングでの英語
if (user.isActive) {
sendNotification(user.email);
}
// 日常会話なら...
// "If the user is active, please send a notification to their email address."
プログラミングでは:
- 単語や短いフレーズが中心
- 複雑な文法は不要
- 専門用語の意味を知ることが重要
なぜ単語力なのか
-
コマンドは単語の組み合わせ
git add . git commit -m "Fix bug" git push origin main
各単語の意味が分かれば、コマンドの動作が理解できます。
-
エラーメッセージも単語がカギ
Error: Cannot find module 'express'
Cannot
= できないfind
= 見つけるmodule
= モジュール(部品)
→ 「expressというモジュールが見つからない」と理解できます。
-
変数名・関数名は単語の組み合わせ
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記事でも指摘されているように、以下の表現は避けるべきです:
-
get/set の乱用
// ❌ 曖昧 getData() setData() // ✅ 具体的 fetchUserProfile() updateUserProfile()
-
check の多用
// ❌ 何をチェックするか不明 checkUser() // ✅ 明確 validateUser() // 妥当性を検証 verifyUser() // 正しさを確認 userExists() // 存在を確認
-
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章)
- システム設計用語
- パフォーマンス関連用語
- トラブルシューティング用語
まとめ
プログラミング英語で重要なのは:
- 文法より単語力:専門用語の意味を知ることが最優先
- 読む力を鍛える:エラーメッセージやドキュメントを理解する
- 微妙な違いを理解:似た単語でも動作が異なることを知る
- 曖昧な表現を避ける:具体的で明確な単語を選ぶ
次のレッスンでは、このコースの効果的な学習方法と、楽しく学べるクイックテストシステムについて説明します。