愚問をてってれーするの楽しすぎるでしょβ

ESRのエッセイに唆されてPythonする初心者が半端な勉強ログを書き散らす場所 ICT文化にどうしても住みたいという遠大な啓示が下った人の住処/気持ちよさのためだけに/お客様のお忘れになった恥の概念が母胎に届いているようです

Cはどこにある?Pythonはどこにある?

いろいろインストールしたけどCが無い、そう思っていた。Cは、結局どこにあるの?ファイルはどれ?

暫定的には結論から言うと、C用のコンパイラとCの文法をもって、そこにCを存在させることができるようになるらしい。

Pythonはどこにあるのか?という問いも改めて問題になってきた。Cでできている、というだけのざっくりとした印象で理解した気になっていたので、困った。Pythonという機能はPEPなども含めて存在する、ということになるだろうし、その機能を支える機能にまで敷衍していけばドキュメントや文化も含めてPythonが存在するとかいう話になってしまって、的を射ない。

そうじゃなくて、言語実装者がどういった手順で実装していくのかを描いた、実際のコードなんかも含むエッセイみたいなものないかな。それで、とりあえず納得したい。(待てよ、CやっていったらC-Pythonの内部表現(って言い方でいいのか)を読めるんじゃないか?Pythonソースコードってどこにあるんだ?)


更に、PythonとCを比較した話をすると、コンパイラにはプリプロセッサの指示が要って、インタプリタにはヘッダを与える必要がなく、せいぜいmoduleのimport関数と、文字コードの指定だけで済むのも不思議。

そういえば文字コードは、コンパイラ/インタプリタへの指示?カーネルへの指示?カーネルにベット。ファイルに付随する、拡張子文字コードの指示。カーネルっぽい。

Pythonよりも、内部表現への興味が満足されやすい。char型が1バイトだとか、int型が2-4バイトだとかいう情報は、Pythonではあり得なかった。

コンパイル(あるいはbuild)の結果.exeファイルがHDD上に得られ、それをrunつまり実行する指示を出して初めてコードが動く。

恐らくPythonでは.exeファイルを作らない。そしてそれが、インタプリタ言語だという事なんだろうと思う。多分、メモリの上に全て置いておいて、HDDにタッチしない。

完全に妄想だけで書いているので、なんとなく、罪滅ぼしにこれを読んだ、CPU - Wikipedia。要はこの辺から分かってないと分からないんだろうなという感じがする。これも妄想。

CPUはプログラムによって様々な数値計算情報処理、機器制御などを行う。CPUは通常はハードウェアであるプロセッサにより実現され、現代のプロセッサの大多数はマイクロプロセッサである。最近の製品では一つのCPUがコア化され、その複数が一つのマイクロチップに実装されプロセッサ・パッケージ内に収められているもの(マルチコア型)も多い。

「CPU」と「プロセッサ」と「マイクロプロセッサ」は、ほぼ同義語として使われる場合も多い。本来は「プロセッサ」は処理装置の総称、「CPU」はコンピュータ上で中心的なプロセッサ、「マイクロプロセッサ」はマイクロチップに実装されたプロセッサである。

複数コンパイラの中からひとつを選ぶ、ということも、実際に目にしてやってみて、どういうことだか分かりたい。