読者です 読者をやめる 読者になる 読者になる

私が歌川です

@utgwkk が書いている

KMC の春合宿で Python の処理系の講座をした

技術

先日 KMC で春合宿があり,そこで Python の処理系に関する講座をしました.

www.slideshare.net

内容

プログラミング言語を実行体系で分類すると,次の2つに分けられるのではなかろうかと思います*1

また,型付けで分類すると,次の2つに分けられます.

  • 静的型付け言語
  • 動的型付け言語

C言語コンパイラの実装に関する情報は巷に溢れており,また書籍も数多くあります. 一方で Pythonインタプリタに関する詳細な情報は,もちろんあるのですが,気にせずに使っている人が大半かと思われます*2

そこで,Python の処理系がどう実装されており,どう動いているのか,をスライドにまとめ,春合宿の講座として行いました.

要点をまとめると,

になります. バイトコードコンパイルして仮想機械で実行する,という体系は,最近のプログラミング言語の処理系に多いようです(Java, C#, Ruby など). しかしながら,インタプリタ言語は今でもコードを逐次実行しており,そのために遅いのではないか,と思っている方が少なくないと思います. そんな人にも資料を読んでもらい,実際の実行体型に肉薄してもらえればと思います*3

反省とか

*1:どちらにも標準で対応している言語もあります.

*2:それはC言語でも同じ???

*3:遅い原因は他にありそう.