Python互換の静的型付け言語「Erg」
ARANK
承前Ergは私が数年前から開発を始め、つい一昨日公開したばかりのプログラミング言語です。 はじめにPythonは概ね素晴らしい言語です。オフサイドルールを世に知らしめた(?)、その可読性の高い文法。Numpy, SciPyを始めとする機械学習、科学技術計算用の膨大なライブラリ。しかしPythonにもいくつかの弱点が存在します。まず、動的型付け であること。それ自体は弱点というより良し悪しなのですが、明らかに動的型付けでは手に余るPythonプロジェクトが世に溢れています。次に、一貫性、利便性に欠けるオブジェクトモデル 。# この挙動はつい最近まで修正されていませんでした i = 256 assert i is 256 j = 257 assert j is 257 # AssertionError: # これは未だにそうです l = ["a"] * 3 l[0] = "b" print(l) # ["b", "a", "a"] l = [[1]] * 3 l[0][0] = 2 print(l) # [[2], [2], [2]] Pythonに詳しくない人にとって、これらのコードの挙動を予測するのは非常に困難だと思われます。また、CPythonはオブジェクト管理に際してGIL(Global Interpreter Lock)を採用しており、近年重要度が増してきている並行プログラミングを著しく制限します。そして、これはPython自身の問題…
1 comments
ちゃんとしたキャストあるのいいな
Python互換の静的型付け言語「Erg」
zenn.dev/mtshiba/articl…