プログラミングを学び始めると、コードがどのように動いているのか、実行環境はどうなっているのかといった疑問が出てきます。特にPythonやC言語を触り始めた段階では「入力の仕組み」「コンパイラの役割」「OSとプログラミング言語の関係」などが混ざって理解しづらくなることがあります。本記事では、それらの基本構造を整理して解説します。
Colabと本家Pythonの入力の違いとは
Google Colaboratoryではinput関数を使うと、専用の入力ボックスが表示されます。
これはブラウザ上で動作しているため、ユーザーインターフェースとして入力欄が用意されているためです。
一方、ローカル環境のPythonでは、ターミナル(黒い画面)上で標準入力として値を受け取るため、入力ボックスではなくキーボード入力待ちになります。
プログラムはどうやって動くのか(コンパイラとインタプリタ)
プログラムは人間が書いたコードをそのまま実行できるわけではありません。
C言語は「コンパイラ」によって一括で機械語に変換されてから実行されます。
Pythonは「インタプリタ」によって1行ずつ解釈しながら実行される仕組みです。
コンパイラと機械語の基本イメージ
コンパイラは人間の書いたソースコードをCPUが理解できる0と1の機械語に変換する役割を持ちます。
この機械語はCPUごとに異なり、直接ハードウェアを動かす命令になります。
そのためC言語は高速ですが、環境依存があるという特徴があります。
Windowsは何の言語で動いているのか
Windowsそのものは特定の1つの言語で作られているわけではありません。
主にCやC++などの低レイヤー言語で開発されており、一部はアセンブリ言語も使われています。
また、アプリケーションはPythonやJavaなど様々な言語で作ることが可能で、OSがそれを実行できる仕組みを提供しています。
プログラミングでできることの現実的な範囲
PythonやC言語を使えば、大量のテキストファイルを一括処理したり、ファイル名を連番に変更することは可能です。
これは物理的に不可能ではなく、コードの書き方と知識次第で実現できます。
実務でも自動化スクリプトとして広く使われている典型的な用途です。
学習のためのキーワード整理
今回の内容をさらに深く理解するためには「インタプリタ」「コンパイラ」「機械語」「バイナリ」「標準入力」「OSカーネル」「API」「システムコール」などのキーワードが重要です。
これらを順に学ぶことで、プログラムがどのように動いているかが体系的に理解できるようになります。
まとめ
プログラミングは単なるコードではなく、OSやコンパイラ、機械語といった複数の層で成り立っています。
Colabとローカル環境の違いも、この仕組みの違いから生まれています。
基本構造を理解すると、できることの範囲や仕組みが一気にクリアになります。


コメント