PyCon JP 2024

Pythonと相互運用可能な静的型付け言語Erg
2024-09-28 , 20F Track2

本発表では、静的型付けプログラミング言語Ergを紹介します。この言語の最大の特徴は、完全な静的型付けを達成したままPythonとの相互運用性を持つことで、TypeScriptのPython版のような言語であるといえます。

本発表では、Ergがどのような言語機能を持っているのか、ErgがどのようにしてPythonとの相互運用性を達成しているのか、そして現状どの程度のことができるのかを紹介します。

そして、Ergに興味はあるけれどPythonから今すぐ乗り換えるのは難しい・やっぱりPythonを書くのが好きという人のために、Erg型検査器をベースにして開発されたPython用型チェッカー/Language Serverであるpylyzerの紹介も行います。


予定稿

  • なぜ新しいプログラミング言語が必要なのか
    Pythonは素晴らしい言語ですが、決して銀の弾丸ではなく、ある観点からは弱点があることを指摘します。そして、その弱点を補う新しい言語の必要性を示します。
  • Ergの言語機能について
    前章で指摘したPythonの弱点を補うため、Ergがどのような言語機能を持つか概観していきます。
  • 型システム
    Erg独自の言語機能の中でも最も特徴的なのが、静的型システムです。ErgはPython APIの柔軟さを保ったまま静的型付けの恩恵を受けるため、非常に強力な型システムを搭載しています。この型システムについて、ざっくりと概観します。
  • 現状どの程度のことができるか
    現代のプログラミングは、もはや言語処理系本体だけで完結するものではありません。パッケージマネージャやLanguage Serverなど、周辺ツールすなわちエコシステムがどれほど整備されているかが非常に重要です。
    Ergは"battery included"の精神を受け継ぎ、これらの開発ツールを標準で同梱しています。これらのツールは現状どれほどのことができているのかをみます。
  • pylyzerの紹介
    pylyzerはErgの型検査器を流用して開発されたPython向け型チェッカー/Language Serverです。
    本章ではpylyzerを紹介し、既存ツールとの比較も行います。
  • FAQ
  • 今後の開発予定
  • まとめ

Why did you choose this topic?:

プログラミング言語Ergの設計・開発者として、Ergの存在とその便利なところ、またPythonとの深い関わりをPythonコミュニティの皆さんにも広く知ってほしいと考えたため。

Knowledges and know-how the audience can get from your talk:
  • プログラミング言語Ergの基礎知識
  • ErgとPythonの相互運用ノウハウ
  • モダンな静的型システムについての基礎知識
Prior knowledges speakers assume the audience to have:

Pythonの基礎知識

Audience experiment:

Beginner

Language of presentation:

日本語

Language of presentation material:

日本語

See also: