【#も読】Pythonの型 / 増分計算 / 並列処理 (@kanade_k_1228)のトップ画像

【#も読】Pythonの型 / 増分計算 / 並列処理 (@kanade_k_1228)

投稿日時:
Kanadeのアイコン

Turing株式会社 / ソフトウェアエンジニア

Kanade

Xアカウントリンク

「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか?


はじめまして。今回から「も読」に参加させていただくことになりました Kanade (@kanade_k_1228) です。よろしくお願いします。

Python の型チェッカーの話

Ruff に搭載される新しい型チェッカー Red-knot について

Python では以下のように型アノテーションを記述できますが、

def add(x: int, y: int) -> int:
return x + y

実際に型をチェックする機能は Python 本体には含まれておらず、mypy や pyright、pyre といった外部ツールに任されています。言語としては「型の文法」をサポートしつつ「型検査機構」を標準では提供しないという、なかなか興味深い作りになっています。

ツールごとに型システムの対応範囲が微妙に異なるため、同じ型アノテーションでもチェック結果が違うことがあります。私は最近 mypy から高度な type narrowing ができる pyright に移行しています。

ここ数年の Python を取り巻く状況は、かつての AltJS(TypeScript や CoffeeScript など)戦国時代を思い起こさせます。JavaScript が TypeScript に進化(?)したように、Python も数年後には違う姿になっているかもしれませんね。

今回紹介した記事では、Python の開発ツール「uv」や「ruff」を手がける Astral 社が新たに型チェッカーを開発していることが紹介されています。著者の shiba さんが Astral 社に join することになった経緯が語られたこちらの記事も興味深く、おすすめです。

OSS 活動してたら Ruff の会社で働くことになった話

増分計算の話

Incremental Computation | Rado's Radical Reflections

こちらのブログでは、React のような純粋関数の宣言的なコードを書きながら、不要な再計算を避けるため「計算結果を自動的にメモ化」していくフレームワークが紹介されています。こうした仕組みは “Incremental Computation” と呼ばれ、記事中で理論的背景や論文も取り上げられています。

この記事のつづきを読もう
新規登録/ログインしたらできること
  • すべての記事を制限なく閲覧可能
  • 限定イベントに参加できます
  • GitHub連携でスキルを可視化
ログイン
アカウントをお持ちでない方はこちらから新規登録