【そーすこーど】

ソースコード とは?

最終更新:
💡 プログラムの元となる、言語で書かれたコード

プログラムの処理等を、プログラミング言語で表した元となるコード。実行形式への変換、インタープリター、コードの公開とライセンスの違いを解説します。

📌 このページのポイント
ソースコード:言語で書かれた元のコードプログラミング言語で処理などを表す人が書くことも、ツールが生成することもあるC等の代表例コンパイル等リンク実行ファイルを実行CPythonの例バイトコードへ変換インタープリターで処理一行ずつそのままとは限らないコードの公開と利用許諾は別。ライセンスを確認実行方法は、言語と実装で異なる環境やライブラリーが別途必要な場合もある
左右は代表的な実行方式の比較で、続けて実行する手順ではありません。C等では前処理やアセンブルもあり、CPythonのバイトコードは実装の詳細です。コードが見えるだけではOSSとは限りません。
ひよこ ひよこ
アプリの裏側にある文章のこと?
ペンギン先生 ペンギン先生
プログラミング言語で、処理やデータの扱いなどを表したコードだよ。人が書くことも、ツールが生成することもある。普通の文章だけでなく、その言語の規則に沿って書かれているんだ。
ひよこ ひよこ
それをCPUが、そのまま読む?
ペンギン先生 ペンギン先生
Cなどでは、コンパイル等で別の形式へ変換し、リンクで必要な部分を組み合わせて実行ファイルを作る方法があるよ。CPUが直接実行する機械語と、ソースコードは同じものではないんだ。
ひよこ ひよこ
Pythonなら、一行ずつ読むだけ?
ペンギン先生 ペンギン先生
代表的な実装のCPythonでは、ソースからバイトコードを作り、インタープリターが処理するよ。インタープリターを使う言語でも、内部に変換の段階がある。言語や実装によって仕組みは違い、「一行ずつそのまま実行」とは限らないんだ。
ひよこ ひよこ
公開されていたら、自由に使える?
ペンギン先生 ペンギン先生
見られることと、利用・変更・再配布が許可されることは別だよ。ライセンスを確認しよう。OSIのオープンソースの定義も、ソースへアクセスできるだけでなく、再配布や変更などの条件を求めているんだ。
ひよこ ひよこ
ソースを入手したら、すぐ動かせる?
ペンギン先生 ペンギン先生
対応する言語処理系、ライブラリー、設定、ビルド手順などが必要な場合があるよ。ソースだけで環境がそろうとは限らない。README等の案内を確認し、コードを公開する時は秘密鍵や認証情報が含まれていないかも確かめよう。
もっと詳しく知りたい人へ

ソースファイルと実行ファイルは、いつも一対一?

複数のソースやライブラリーを組み合わせて一つの実行ファイルを作ることもあります。逆に、一つのプロジェクトから複数の成果物を作る場合もあります。ソースの数と実行ファイルの数は同じとは限りません。

画像や設定も、ソースコード?

プロジェクトにはコードのほか、画像、文書、設定なども含まれます。プログラムのソースコードという時は、主に処理を表すコードを指します。「ソース一式」が何を含むかは、プロジェクトやライセンス上の文脈も確認します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ソースコード」って出てきたら「プログラムの元となる、プログラミング言語で書かれたコード」と思えばだいたいOK!
📖 おまけ:英語の意味
「Source Code」 = 元となるコード
💬 Sourceは元や源、Codeはコードを意味します。ソースコードは、プログラムを実行する前の説明書というたとえで考えられますが、人のための操作マニュアルとは異なります。

参考資料

← 用語集にもどる