Menu
Coddy logo textTech

ソースコードとは?

ソースコードとは、プログラマーがPython、Java、Cなどの言語で書いた、人が読めるプログラムのテキストです。プレーンテキストのファイルとして保存され、コンパイラやインタプリタによってコンピュータが実行できる命令に変換されます。

執筆: Kevin Spektor, 共同創業者、CTO

更新日: 2026年9月24日

.py、.c、.java で終わるファイルをテキストエディタで開けば、そこに見えるのがソースコードです。中身は買い物メモと同じ種類のファイルで、文字、数字、空白、改行でできています。それがプログラムになるのは、テキストがプログラミング言語の規則に従って書かれていて、ツールがそれをプロセッサへの命令に変換できるからです。

ソースコードはどんな見た目か

次は完全なPythonプログラムです。コメントも含めて、すべての行がソースコードです。コメントはコンピュータには無視され、次にコードを読むプログラマーのためにあります。

Total: 12

同じプログラムをCで書いたものもソースコードです。言語が違い、規則が違うだけです。

#include <stdio.h>

int main(void) {
    int price = 4;
    printf("Total: %d\n", price * 3);
    return 0;
}

実際のアプリケーションは、こうしたファイル数千個でできています。Linuxカーネルのソースコードは3,000万行を超え、小さなWebアプリでも数百ファイルになることは珍しくありません。各ファイルには、どの言語で書かれているかをツールに伝える拡張子が付いています。

拡張子言語
.pyPython
.c, .hC
.cpp, .hppC++
.javaJava
.jsJavaScript
.goGo
.rsRust

ソースコードはプレーンテキスト

ソースコードにはフォントも色も隠れた書式もありません。エディタで見える色は、読みやすくするためにエディタが付けているもので、ファイルには保存されていません。コードをVS Codeのようなコードエディタで書き、Microsoft Wordでは書かないのはこのためです。ワープロは書式データや「スマート」な引用符を保存するので、言語が読めないファイルになり、たいていは構文エラーで拒否されます。

ただのテキストなので、あるプログラムが別のプログラムのソースを文字列として持ち、それを実行することもできます。

<class 'str'>
3 lines of text
Total: 12

最後の行までは、source は普通の文字列です。exec がそれをPythonに渡し、Pythonがテキストを読んで実行します。これがソースコードの一生の縮図です。最初はテキスト、次に命令です。

ソースコードが動くプログラムになるまで

コンピュータのプロセッサはPythonもCも読めません。実行できるのは機械語だけで、これは特定の種類のCPU向けのバイナリ命令です(多くのノートPCやサーバーではx86-64、スマートフォンやApple Silicon搭載のMacではARM)。そのため、何かが翻訳しなければなりません。主な方法は2つです。

  1. コンパイラはプログラム全体を事前に翻訳します。 gcc hello.c -o hello を実行すると、Cのソースを読み込み、機械語の詰まった新しいファイル hello を書き出します。その後 hello.c を削除しても、hello は動きます。
  2. インタプリタはソースを直接実行します。 python3 hello.py を実行するとPythonインタプリタが起動し、hello.py を読んでその命令を実行します。別のプログラムファイルは作られないので、毎回ソースが必要です。

多くの言語は2つを組み合わせています。Javaのソースは javac でバイトコード(.class ファイル)にコンパイルされ、それをJava仮想マシンが実行します。詳しい比較はコンパイラとインタプリタの違いのページにあります。

ソースコード、オブジェクトコード、機械語

この3つの用語は、同じプログラムの異なる段階を指します。

用語読むのは誰か例
ソースコード人とコンパイラapp.py の中の total = price * 3
オブジェクトコードリンカgcc -c hello.c で作られる hello.o
機械語(実行ファイル)CPULinuxやmacOSの hello、Windowsの hello.exe

コンパイル済みの実行ファイルをテキストエディタで開くと、読めない記号が並びます。テキストではなくバイナリだからです。Macでは、上の hello プログラムの先頭4バイトは16進数で cf fa ed fe で、これはMach-O形式の実行ファイルを示す目印です。こうした生の値は進数変換ツールで確かめられます。

オープンソースとクローズドソース

誰がソースコードを読めるかは、技術の問題であると同時に法律の問題でもあります。オープンソースのソフトウェアは、誰でも読み、変更し、共有できるライセンスでソースを公開しています。Python、Linux、Firefoxはオープンソースです。クローズドソース(プロプライエタリ)のソフトウェアは、コンパイル済みのプログラムだけを配布します。Microsoft WindowsやAdobe Photoshopはクローズドソースで、そのソースコードは企業秘密です。

ソースコードは本と同じように著作権でも保護されています。インターネットで見つけたコードだからといって、再利用してよいとは限りません。自分のプロジェクトに何かをコピーする前に、LICENSE という名前であることが多いライセンスファイルを確認してください。

よくある誤解

  • 「ページのソースを表示すれば、Webサイトのソースコードが見える」 見えるのは、ブラウザが受け取ったHTML、CSS、JavaScriptです。サイトのサーバー側(Python、Java、PHPなどで書かれた部分)はサーバーの外に出ないので、見ることはできません。
  • 「デコンパイラを使えば元のソースが戻ってくる」 デコンパイラはコンパイル済みのプログラムから読めるコードを組み立て直しますが、コメントは消え、名前も失われていることが多いので、結果はソースの推測であって、作者が書いたファイルではありません。
  • 「コードとソースコードは同じ意味」 ソースコードは人が書いたものです。「コード」はもっと広く、機械語、バイトコード、自動生成されたコードも含みます。
  • 「ソースコードは英語で書かなければならない」 if や print のようなキーワードは英単語ですが、変数名、コメント、文字列はどの言語でも書けます。Python 3のソースファイルは標準でUTF-8なので、prix = 4 も # 合計を計算する も有効です。

次に読むもの

ソースコードは実行前にチェックされ、多くの初心者が最初に出会うのが構文エラーです。ソースコードを実行する2つの方法の違いを知るには、コンパイラとは何かを読んでからコンパイラとインタプリタの違いに進んでください。自分のソースコードをブラウザで書いて実行するならPythonプレイグラウンドを使うか、Pythonコースを始めましょう。

よくある質問

ソースコードの具体例を教えてください
プログラマーがプログラミング言語で書いたファイルは、すべてソースコードです。app.py のようなPythonスクリプト、main.c のようなCのファイル、Webページに含まれるJavaScriptなどがそうです。print("Hello") の1行だけを .py ファイルに保存したものでもソースコードです。FirefoxやLinuxのようなプログラムは、何百万行ものソースコードでできています。
「コード」と「ソースコード」は何が違いますか?
ソースコードは、人がプログラミング言語で書いたプログラムです。「コード」はもっと広い言葉で、機械語、バイトコード、自動生成されたコードなど、ツールがソースコードから作るものも含みます。普段の会話ではプログラマーはソースコードのことを「コード」と呼び、文脈で意味がわかります。
プログラムのソースコードはどうやって入手しますか?
自分のプロジェクトなら、ソースコードは自分が書いたファイル一式で、たいていGitリポジトリで管理しています。オープンソースソフトウェアはソースが公開されていて、GitHubやGitLabに置かれていることが多いです。クローズドソースのプログラムは通常入手できません。手元にあるのはコンパイル済みの実行ファイルだけで、デコンパイラを使っても元のコメントや名前のない近似しか得られません。
HTMLはソースコードですか?
はい。HTMLはプログラミング言語ではなくマークアップ言語ですが、開発者が書く .html ファイルはWebページのソースで、ブラウザもそれを表示する機能を「ページのソースを表示」と呼んでいます。CSSファイルや、ページが読み込むJavaScriptファイルも同じです。
ソースコード管理とは何ですか?
ソースコード管理(バージョン管理とも呼びます)は、プロジェクトのソースファイルへの変更をすべて記録しておくことです。誰が何を変えたかを確認し、以前のバージョンに戻り、複数人の作業をまとめられます。最も広く使われているツールはGitで、GitHubやGitLabなどのサービスがGitリポジトリをオンラインでホストしています。
Coddy programming languages illustration

Coddyでコードを学ぼう

始める