是否存在可编译为python的类型化语言



这可能是一个显而易见的问题,但作为一名JavaScript开发人员,我看到了围绕TypeScript的所有炒作,我也有点同感。

虽然公认是Python的局外人,但我想知道,Py没有类似选项(例如类型化Python(的原因是什么?如果它受到大多数JS开发人员的热烈欢迎,为什么Py没有出现呢?还是有?

谢谢!

这是一个需求问题。TypeScript需要显式类型,而JavaScript具有隐式类型。这意味着它将在运行时转换数据类型。如果操作结果很明显,这就不是什么大问题(Python使其比JavaScript更明显(。

例如,如果你从一个数字中减去一个包含数字的字符串,你会得到什么?JavaScript会将该字符串转换为数字并减去它,而Python会抛出一个错误。这对JavaScript来说一开始似乎很方便,但以后可能会导致难以调试的错误。

JavaScript

>>> 22 - "2"
20

Python

>>> 22 - "2"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'int' and 'str'

由于这些设计考虑,对带类型的JavaScript的需求自然会更高,而Python(据我所知(没有。

还要注意的是,JavaScript作为网络编程语言占据主导地位,这意味着你现在几乎必须使用某种JavaScript才能获得动态内容。

Python更适合在本地机器上运行,在那里你也可以运行C、C++等。那么,你为什么要制作一种高级语言,它可以编译成另一种高级的语言,而不是C、C++、汇编等,这样可以显著提高性能呢?

这并不是说没有到python的转换器,可能有,但需求相当低。

最新更新