デカ文字Python

デカ文字&短文でPythonを簡潔にまとめたブログ

初めてのPython-第2章

f:id:pokita:20180426195830j:plain

今回はプログラミング用語の解説章。
最初はつまんないから読み飛ばしていたけど、プログラミングコード書くのに煮詰まってるいまは、読み直したらむしろ楽しかった。大枠を理解できたら他の言語を勉強するときにも役に立つしオススメ。

まず言語は大きく分けて、コンパイル言語とインタプリタ言語に分かれる。

 

コンパイル言語

実行時、一度コンパイルという作業を行い、コードを書いたテキストデータを一度バイナリファイルに変換した後、それをコンピューターのCPUにぶち込む。

短所

変換作業は面倒だし、作られるバイナリファイルもOSがLinuxWindowsか等で動作が異なるなど互換性がない。

長所

その速さ。なにせ直接コンピューターのCPUに働きかけることができる。

コンパイル前のコードと、コンパイル後のバイナリデータを別々で管理できるのも魅力。

 

インタプリタ言語

実行時、コードがインタプリタ(翻訳?)と呼ばれるプログラム実行ソフトウェアで解析され実行されるというもの。

短所

コード→インタプリタバイトコード化→インタプリタ→バイナリデータ→実行というプロセスを実行するのがあくまでもインタプリタ仮想マシン)である、という点においてコンパイル言語に速さで劣る。

長所

コンパイルする必要なく、テキストファイルのまま実行できるため、コンパイル環境と実行環境が同一であり、それぞれの環境におけるバージョンの相違点考慮する必要がない。


という違いらしい。なるほど、実行環境の違いであって、文法上の違いではないのか。


2章ではほかに、PythonシステムであるCPython,Jthyon,IronPython等の、Pythonコードを書いた後の、その実行までの流れの違いが書いてあった。


バイトコードコンパイルした後、バイトコード仮想マシンにぶち込むまでの流れが上の話。


PMVの機能強化の役割を担うPsyco(実行時オブジェクトの型情報を集めて機械語に効率的にコンパイルする)フローズンバイナリ等の追加機能の話もあった。

なんでもブローズンバイナリ化すれば、配布の際に便利だとか。相手の端末にPythonが入ってなくとも、ブローズンバイナリ内にはバイトコードと共に実行環境たるPMVが内蔵しているんだもの。

 

……Pythonのいいところってなんでしたっけ?