
初心者のための用語辞典:プログラミングでよく出る難しい言葉をやさしく解説
「API?非同期?フレームワーク?」——まずは言葉から怖くなくしよう!
各用語は 一言定義 → 例 → つまずき の順で、コピペできるミニコード付き。末尾に 学習の次の一歩も案内しています。
A. コードの基本
変数 / 定数(variable / constant)
値を入れる箱。変数は中身を変えられ、定数は変えない約束。
// JavaScript
let count = 0; // 変数
const TAX = 0.1; // 定数(上書き禁止)
つまずき:スコープ(届く範囲)で同名がかぶると混乱します。
型(type)
「これは数?文字?」というデータの種類。言語により厳しさ(静的/動的)が違う。
// Java
int n = 10; // 整数
String s = "Hi"; // 文字列
つまずき:型変換(数 ⇄ 文字)で意図しない計算結果になりがち。
関数 / メソッド(function / method)
「入力を受けて処理し、結果を返す小さなプログラム」。メソッドは「オブジェクトにぶら下がる関数」。
// JS
function add(a, b){ return a + b; }
add(2,3); // 5
「パラメータ(定義側)」と「引数(呼び出し側)」を混同しない。
オブジェクト / クラス / OOP
関連するデータ+処理を1つにまとめる考え方。クラスは設計図、オブジェクトは実体。
// Java
class User { String name; void hello(){ System.out.println("Hi "+name); } }
User u = new User(); u.name = "Masa"; u.hello();
用語:カプセル化/継承/ポリモーフィズムはOOPの3本柱。
非同期(asynchronous)
待ち時間(通信など)の間に他の処理を進められるやり方。
// JS: async/await
async function getUser(){
const res = await fetch('/api/user');
return await res.json();
}
並行/並列やスレッドと混同しやすい。非同期=必ずしも並列ではない。
例外 / 例外処理(exception / try-catch)
想定外のエラーが起きたときに処理を安全に中断・回復する仕組み。
// Java
try { Files.readString(Path.of("config.txt")); }
catch (IOException e) { System.err.println("設定が読めません"); }
握りつぶさず、原因をログに残す。ユーザーには丁寧なメッセージを。
正規表現(regex)
文字のパターンで検索・置換する記法。
// JS: メールっぽい文字列をざっくり検出
/.+@.+\..+/.test("hi@example.com") // → true
過度に複雑にしない。テスト用文字列で小さく試す。

B. Webの基礎
HTTP / HTTPS
ブラウザとサーバの会話ルール。HTTPSは暗号化して安全。
GET /index.html HTTP/1.1
Host: example.com
フォームやクリップボードAPIはHTTPS前提が多い。
API / REST
アプリ同士が決まりごとで情報をやりとりする窓口。RESTはURLとHTTPメソッドで操作を表す考え方。
# 例:/users を操作
GET /users # 取得
POST /users # 作成
PUT /users/1 # 更新
DELETE /users/1 # 削除
CRUD(Create/Read/Update/Delete)と対応づけて覚える。
DOM / CSS セレクタ
ブラウザがHTMLを木構造として扱う仕組み(DOM)。CSSセレクタはその木から要素を選ぶ。
// JS: id="msg" を書き換える
document.getElementById('msg').textContent = 'Hello';
特異性(specificity)が強いと上書きしにくい。クラス中心で設計を。
CORS
他サイトのAPIを使うときの安全ルール。サーバ側が許可ヘッダを返す必要あり。
Access-Control-Allow-Origin: https://your.site
ローカルで動くのに本番で失敗→許可オリジンの設定漏れが定番。
SPA / SSR
SPAはページ遷移をJSで行う単一ページ型。SSRはサーバでHTMLを作って返す。
SEOや初期表示はSSR有利。用途で使い分け。
C. データ/DB
JSON / YAML / XML
データの表現形式。JSONはブラウザと相性◎、YAMLは設定ファイルでよく使う。
// JSON
{"name":"Masa","age":21}
YAMLはインデント命。タブ/スペース混在でエラーに。
SQL / RDB
行と列で管理する関係データベースを操作する言語。
SELECT name FROM users WHERE age >= 20 ORDER BY age DESC;
インデックス(検索の近道)とトランザクション(処理のひとまとめ)は最重要。
NoSQL / キャッシュ
RDB以外のDB(文書型・キー値など)。キャッシュは結果の一時保存で高速化。
正解は1つじゃない。読み書き頻度/一貫性/スキーマで選ぶ。
D. ツール/開発プロセス
Git / GitHub
ファイルの履歴管理ツール。GitHubはその置き場所。
git init
git add .
git commit -m "first"
git remote add origin URL
git push -u origin main
最短ガイド:Gitの超入門
ビルド / 依存管理(Maven/Gradle/npm/pip)
コードを動く形にまとめるのがビルド。他人のライブラリを使うのが依存管理。
# Node.js
npm init -y
npm install axios
Javaなら:Maven/Gradle超入門
CI/CD
コードをpushすると自動でテスト・ビルド・デプロイまで回る仕組み。
まずは小さく:テスト→ビルドだけでも価値が大きい。
Lint / フォーマッタ
Lintは品質チェック、フォーマッタは自動整形。保存時に実行すると楽。
// VS Code settings.json(例)
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}

E. 設計/アーキテクチャ
フレームワーク vs ライブラリ
ライブラリはあなたが呼ぶ道具、フレームワークは呼ばれる側(流れを握る)。
自由度はライブラリ>フレームワーク。学習コストは逆になりがち。
MVC / 責務分離
UI(View)、ロジック(Controller)、データ(Model)を分ける考え方。
1ファイルに全部書かない。役割ごとに場所を決める。
ステートレス
サーバが前回の状態を覚えない作り。スケールしやすい。
ログイン状態はトークンや外部セッションで扱う。
依存関係 / DI
部品同士の「頼り合い」。DIは外から部品を差し込むことで結合をゆるくする。
F. 計算・アルゴリズム
アルゴリズム / データ構造
解き方の手順(アルゴリズム)と、データの置き方(データ構造)。
// JS: スタック(後入れ先出し)
const stack = [];
stack.push(1); stack.push(2); // [1,2]
stack.pop(); // 2
計算量(Big-O)
データが増えたときに処理がどれだけ重くなるかの目安。
// O(n): 配列の合計
let sum = 0; for (const x of arr) sum += x;
ガーベジコレクション
不要になったメモリを自動回収する仕組み。Java/JSは自動、Cは手動に近い。

学習の次の一歩(おすすめルート)
- VS Code を導入(日本語化・拡張・保存時整形)
- Progateで概念を俯瞰 → ドットインストールで手を慣らす
- 模写コーディング(Codejump)→ 自作LP を1週間で完成
- Gitの超入門(学習ログを残す)
- ビルドと依存管理(チーム開発の入口)