2026年8月7日に加筆・統合しました
「プログラミングを始めるための環境構築」と「プログラミング言語の種類と特徴」の2本を1本にまとめ、言語の選び方と、最初につまずきやすい点を足しました。
この記事は言語選びからHello Worldまでをまとめたものです。その後いろいろな環境で手を動かすなかで、最初につまずくのはコードそのものより環境構築だと改めて感じたので、実際に踏んだ罠と、エラーの読み方の章を足しました。
この記事について
プログラミングをやってみたい。でも何の言語を選んで、何を入れればいいのかが分からない——eightも最初はそこで止まりました🥺
この記事では、言語の選び方 → 道具の用意 → 最初の1行を動かすまで、順番に見ていきます😊
プログラミングとは
プログラミングとは、簡単に言えばコンピュータへの指示書を書くことです。その指示書をソースコード、書く作業をコーディングと呼びます。
指示書は人が読める言葉で書きますが、コンピュータはそのままでは分かりません。間に翻訳するものが必要で、これが言語ごとに違います。「環境構築」と呼ばれている作業の中身は、ほとんどがこの翻訳するものの用意です。
★どの言語を選ぶか
言語は何十種類もあるので、全部は学べません。選び方は2つあります。
- 作りたいものから選ぶ … スマホアプリ、Webサイト、AI、ゲームなど、目的で使う言語はだいたい決まります
- 学びやすさから選ぶ … 特に作りたいものが決まっていないなら、こちらで選んで構いません
迷ったら
eightのおすすめは PythonかC言語です。Pythonは書く量が少なくすぐ動かせるので、続けやすい。C言語は難しいですが、仕組みが見えやすいので、あとで他の言語を触るときに効いてきます。
ただ、いちばん確実なのは目指す分野で使われている言語を調べることです。
主な言語の特徴
| 言語 | 主な使いどころ | 特徴 |
|---|---|---|
| C言語 | 組み込み機器・OSなど土台に近い部分 | メモリの扱いを自分で決められる。難しいが仕組みが見える。入門記事 |
| C++ | ゲーム・処理速度が要る場面 | C言語にオブジェクト指向を足したもの。機能が多く覚えることも多い |
| Java | 企業の業務システム・Androidアプリ | 一度書けばいろいろな環境で動く。堅い作りで大人数の開発に向く |
| Python | AI・データ分析・自動化 | 読みやすく短く書ける。ライブラリが豊富。入門記事 |
| JavaScript | Webサイトの動き | ブラウザがあれば動かせる。Node.jsでサーバ側にも使える |
| Swift / Kotlin | iOS / Androidアプリ | それぞれの公式言語。作るものが決まっているなら選択の余地は少ない |
習得の難しさの目安
| 難しさ | 言語 | なぜそうなるか |
|---|---|---|
| 🟢 易しい | Python・JavaScript | 細かい決まりごとが少なく、書いてすぐ動かせる |
| 🟡 普通 | Java・Swift・Kotlin | 型など決まりごとが増えるが、道具が助けてくれる |
| 🔴 難しい | C言語・C++・Rust | メモリの扱いなど、面倒を見てくれる範囲が狭い |
ここでいう「難しい」は覚えることの多さではなく、間違えたときに自分で気づけるかどうかの差です。易しい言語ほど、間違いをその場で教えてくれます。
エディタを用意する
コードを書くソフトです。メモ帳でも書けますが、専用のものを使うと色分け・入力補完・間違いの指摘が効いて、ぐっと楽になります。
おすすめは Visual Studio Code(VS Code)です。無料で、どの言語にも使えます。
- 公式サイトからダウンロードして、インストーラーを実行する
- 起動したら、日本語表示の拡張機能を入れる
- 使う言語の拡張機能も入れる(Python なら Python 拡張、など)
動かすものを用意する
翻訳して動かすものは、言語ごとに違います。
| 言語 | 入れるもの | 確認のしかた |
|---|---|---|
| Python | python.org からインストーラー | python --version |
| C言語 | Windows: MinGW / Mac: Xcode Command Line Tools | gcc --version |
| JavaScript | ブラウザだけでも動く。Node.js があると便利 | node --version |
入れたら必ず版を表示させて確認してください。ここで表示されない場合、そのあと何をやっても動きません。
Hello Worldを書く
最初の1行は、画面に文字を出すだけのプログラムです。「書いたものが動いた」を確かめるのが目的なので、内容は何でも構いません。
Python(hello.py として保存 → python hello.py)
print("Hello, World!")
JavaScript(hello.js → node hello.js)
console.log("Hello, World!");
C言語(hello.c → gcc hello.c -o hello → ./hello)
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
つまずいたときは
最初につまずくのは、たいてい同じところです。
| 症状 | よくある原因 |
|---|---|
| 「コマンドが見つかりません」 | 入れたものの場所がパソコンに登録されていない。インストール時の「PATHに追加」を確認 |
| ファイルが見つからない | 今いるフォルダが違う。cd で保存先へ移動してから実行する |
| 日本語が文字化けする | ファイルの文字コードがUTF-8になっていない |
| コードは合っているのに動かない | 拡張子が .py.txt のように二重になっている |
★エラーの文は、読めば書いてある
英語で長く出るので身構えてしまいますが、たいてい「何行目で」「何が」おかしいかが書かれています。そのまま検索すれば、同じところでつまずいた人の記録が見つかります。読み飛ばさないのが、いちばんの近道でした😅
【追記】最初の壁はコードではなく「環境」だった
Hello World まで書けたら、次は自分のやりたいものに進みます。そこでほぼ全員がぶつかるのが「本に書いてあるとおりに打ったのに、動かない」という壁です。原因の多くはコードではなく、環境のほうにあります。
罠1:同じ名前のコマンドが、複数入っている
Python がその代表です。1台のパソコンの中に、次のようなものが同時に存在していることがあります。
- OSが最初から持っているPython
- 公式サイトから入れたPython
- バージョン管理ツール(pyenv など)で入れたPython
- アプリに同梱されているPython
python3 と打ったときにどれが動くかは、PATH という設定の順番で決まります。ここがずれていると、ライブラリを入れたはずなのに「そんなものは無い」と言われるという、いちばん混乱する形で出ます。入れた先と、動いている本体が違うからです。
まず確認するのは「いま動いているのはどれか」です。
# いま動いている python3 の場所を出す(macOS / Linux)
which python3
python3 --version
# その python3 が、どこのライブラリを見に行くかを出す
python3 -c "import sys; print(sys.executable); print(sys.path)"ライブラリを入れるときは、コマンド名ではなく、いま動いている本体を指定して入れると食い違いません。
# × これだと、別のPythonに入ることがある
pip install requests
# ○ いま使っている python3 に対して入れる
python3 -m pip install requests罠2:Windowsの python3 が「本物ではない」ことがある
Windows には、python3.exe という名前の0バイトのファイルが置かれていることがあります。これは Microsoft Store への案内を出すだけのダミーで、Python の本体ではありません。
やっかいなのは、コマンドを探す仕組みがこれを「見つかった」と判断してしまうことです。その結果、実行しても無反応、あるいはストアの画面が開くだけ、という状態になります。実際にこれを踏んで原因を突き止めるまでに時間を使いました(MCPで外部ツールを繋ぐ回で詳しく書いています)。
python3 が効かないときは、py -3 や python を試してください。ファイルの大きさが0バイトならダミーです。設定 →「アプリ実行エイリアス」から python3.exe をオフにすると、本物のPythonに当たるようになります。【追記】エラーメッセージは「下から」読む
プログラムが止まったとき、画面には長い文字がずらっと出ます。最初はどこを見ればいいのか分かりませんが、読む順番には型があります。
Traceback (most recent call last):
File "hello.py", line 12, in <module>
total = price * count
^^^^^^^^^^^^^
TypeError: can't multiply sequence by non-int of type 'str'- いちばん下の1行を読む。ここに「何が起きたか」が書いてあります(この例では「文字どうしを掛け算しようとした」)
- その少し上の File と line を見る。どのファイルの何行目かが書いてあります
- 真ん中は飛ばしてよい。ここは「どこを通ってそこに来たか」の経路で、慣れるまでは読まなくて構いません
よく出るものを並べておきます。名前を知っているだけで、対処がだいぶ速くなります。
| 出てくる言葉 | 意味 | だいたいの原因 |
|---|---|---|
| SyntaxError | 文法が壊れている | 括弧やクォートの閉じ忘れ。指摘された行の1つ上を疑う |
| IndentationError | 字下げがそろっていない | タブと空白が混ざっている |
| NameError | 知らない名前が出てきた | 変数名の打ち間違い、定義する前に使っている |
| ModuleNotFoundError | ライブラリが見つからない | ★入れた先と動いている本体が違う(前章の罠1) |
| TypeError | 種類が合わない | 文字と数字を混ぜている。input() の結果は文字です |
| FileNotFoundError | ファイルが無い | 実行している場所が思っている場所と違う |
エラー文をそのまま貼ると、自分のファイル名やユーザー名まで一緒に検索してしまい、結果が出ません。自分の環境に固有の部分(パス・変数名)を消して、エラーの種類とメッセージ本文だけで検索してください。なお、ユーザー名やパスには個人情報が入っていることがあるので、人に見せるときも同じように消しておくと安心です。
【追記】最初の1本をどう選ぶか
言語の比較表は本文にありますが、実際に迷うのは言語そのものより「何を作るか」です。作りたいものが決まると、言語は半分自動的に決まります。
| やりたいこと | 最初の1本 | 最初の到達点 |
|---|---|---|
| 面倒な作業を自動化したい | Python | フォルダ内のファイル名を一括で変える |
| Webページを動かしたい | JavaScript | ボタンを押すと表示が変わる |
| スマホアプリを作りたい | Swift(iPhone)/Kotlin(Android) | 画面を1枚出して、ボタンを置く |
| ゲームを作りたい | C#(Unity) | 四角を1つ動かす |
| 機械を動かしたい | C | LEDを1回光らせる |
大事なのは、最初の到達点を「1画面ぶん」まで小さくしておくことだと思っています。「アプリを作る」だと終わりが見えませんが、「四角を1つ動かす」なら今日終わります。そこまで行けば、次に何が分からないかが自分で分かるようになります。
そして、動かないときはコードを疑う前に環境を疑う。これが、遠回りに見えていちばんの近道でした。
まとめ
- 言語は作りたいものから選ぶのがいちばん確実。決まっていなければ Python か C言語
- 難しさの差は覚える量より「間違いに自分で気づけるか」
- エディタは VS Code。無料でどの言語にも使える
- 翻訳するものを入れたら、必ず版を表示させて確認する
- 最初の1行が動けば環境は完成。エラーの文は読めば書いてある
環境ができたら、あとは書いて動かすだけです。C言語 か Python の入門記事から続けられます😊
それでは、今回はここまで。最後までありがとうございました😊