我玩 Typscript 已经有一段时间了,我得说,结合 nodejs 比当前的 CPython 实现更快以满足我的 Web 开发需求的事实,我更倾向于用它做更多的事情。
事实上,我已经用它制作了几个基本的应用程序,甚至是桌面应用程序。我喜欢 Typescript 的地方在于它具有可选的静态类型。这通常使编码变得更容易,更不用说智能感知在您想要快速编码并运行原型时非常棒。我在开发过程中也遇到了更少的错误。
但问题就在这里,我已经使用 Python 一年了,我喜欢这种语言,而且我更习惯于它的语法。然而,我越来越多地看到可选的静态类型对于 Python 来说是一个很棒的加分项。所以,我做了一些研究,我首先尝试了解静态类型现在的情况。就像其他人一样,我使用搜索引擎来查找。
以下是我阅读过的一些信息来源:
如果您看一下这里的实现(摘自上面的链接):
from StringIO import StringIO
def foo(f: StringIO) -> str:
f.write("hello")
return f.getvalue()
f1 = StringIO("booh+")
print foo(f1) # prints "booh+hello"
现在,这看起来与 Typescript 中的实现非常相似。但是,如果您查看日期,它会一直追溯到2004。
然后,我又看了一张 BDFL,Guido 制作的幻灯片:
再一次,你看到了同样的言论。但是,我无法找到有关此的任何新信息。
我还查看了@this SO answer on enforcing static types。
那么,我想问一下,在Python中添加可选静态类型是什么情况或状态?或者我们是否需要为 Python 3 发明类似 Typescript 的东西?
我相信可选的静态类型很重要,因为在我自己非常有限的经验中,我已经看到像 Typescript 和 C# 这样的东西更好地工作,因为在制作复杂的类或制作大型项目时,我已经看到静态类型已经走了很长时间帮助我更快且无错误地编写代码的方法。我确信我没有这里的大多数开发人员那么好,但这是我的看法。这就是为什么我觉得这个问题很重要。我的意思是,如果您可以使用 Python 提供的优美语法选择像 C# 这样的语言,那么 Python 可能势不可挡(耶!)。
我对此进行了一些研究,但没有得到任何实质性的东西,所以我希望 SO 的一些出色而明智的成员能够阐明这个问题。