Typescript 如此成功,为何没有发展出所谓 “Typthon”?

3 天前
JYLu  JYLu
作为编程新手,我爱 Python 。我认为这是一个简洁好用的语言,生态丰富,官方文档细致,社区活跃。我本人目前在读研,是做应用数学里面算法方向的,做算法实验的时候,Python 简洁的语法和高质量的数值计算库使得实验编码的效率大大提高。

然而 Python 的类型有点过于灵活,这使得我在写程序的时候不时感到担忧,比如担心传参的时候传入非法的数据然而 IDE 却不能提醒我。类似地,这种强大的灵活性有时也使得调试 Python 程序变得很困难。比方讲假如你的程序里有不止一处语法错误,这些语法错误可能只能在运行时才能被发现。而且似乎运行一次只能找出一处错误,你需要不断地运行才能查找到所有的语法错误。

鉴于 Javascript-> Typescript 的大获成功,为什么没有发展出所谓的 “Typthon” ?既有 Python 简易的语法,又有很好地的 Python 的互操作性从而可以轻松地继承 Python 丰富的生态和活跃的社区,借助编译器使得调试维护程序更加轻松,岂不美哉?

既然 Microsoft 肯开发 Typescript , 何不也考虑一下“Typthon”呢?感觉会是大庇天下程序员俱欢颜的大好事啊。
6431 次点击
所在节点   程序员  程序员
85 条回复
Leviathann
Leviathann
3 天前
以前有个语言叫 coffeescript
Leviathann
Leviathann
3 天前
python 现在也有类型标记
JYLu
JYLu
3 天前
@Leviathann Coffeescript 似乎不是太流行。不过你举的这个例子为什么说明没有发展出 “Typthon” 呢?
povsister
povsister
3 天前
因为用屁眼通红的人,一般都是小项目或者 demo 性质,大多忙于搬砖哪有空搞这些有的没得。
DOLLOR
DOLLOR
3 天前
你想要的是 typescript 那样的生态,还是类似的语法?
如果说是语法,python 本来就有 type hints 。想写类型标注,现在就可以开始,还不用预先编译。不需要再发明什么 typthon 。
https://docs.python.org/3/library/typing.html
JYLu
JYLu
3 天前
@povsister 现在也有用 Python 写大型项目的了吧,Typescript 不就是这么出来的么?干这种编程语言改造工作的肯定不是只能写小项目的等闲之辈。Microsoft 大佬如云,他们自己也用的很多,按理说应该是有这种条件的。
JYLu
JYLu
3 天前
@DOLLOR 但是类型标注和 Typescript 那样的类型系统的差距还是很大的呀。不仅是类型的问题,还有编译器对于调试和维护相对复杂的代码也是很有帮助的。
cmdOptionKana
cmdOptionKana
3 天前
我想到了一个原因:前端是没得选,迫不得已需要 Typescript 来曲线救国。但后端( Python 所在的领域)有一大堆静态语言,你选择 Python 只是偏好,而不是必须。

对于公司来说,“偏好”不太重要,有现成的静态语言直接拿来用就行,因此各家公司对 Typthon 的兴趣不大。而个人又没那个时间精力。
cmdOptionKana
cmdOptionKana
3 天前
而且,搞个 Typthon ,最后编译为 Python 代码,还得忍受运行效率低。那还不如直接用 Go, Rust, Java 之类的,既有静态编译,运行效率又高,何苦执着 Python 。
JYLu
JYLu
3 天前
@cmdOptionKana #9 您说的这个似乎有点道理。可能是觉得编译成 Python 不太划算,那么有没有可能编译成比 Python 更低级更快的机器码什么之类的?以及为什么 JavaScript 能一统前端江湖,后端却没有,感觉前端的花样反而比后端多呀。
zk8802
zk8802
3 天前
看看 Nuitka 。
szzhiyang
szzhiyang
3 天前
因为已经有 Go 语言了。
Trim21
Trim21
3 天前
你把 type checker 开 strict ,不用 any 不用 cast ,也能体会到写静态语言的感觉
nanajj
nanajj
3 天前
需要有足够的动力开发,和足够的驱动力让人使用。 比如 Kotlin 是好,但让 Java 的转动力没 JS 到 TS 那么强。要足够成功,CoffeeScript 就是一个失败的例子。

最最最重要的,前端真的没得选,只能在 JS 路径上找最优解。 后端,PHP 、Java 、Python, C#,GO 甚至 Rust c++ erlang 等等, 你想要什么风格的就有什么风格的
tanhui2333
tanhui2333
3 天前
天堂有路你不走,地狱无门自来投
JYLu
JYLu
3 天前
@tanhui2333 劳烦您明确赐教。
tanhui2333
tanhui2333
3 天前
@JYLu 回错地方了,不好意思
chonh
chonh
3 天前
mojo?
loading
loading
3 天前
JavaScript 基础语法亘古不变,Python 还没稳定。
xgdgsc
3 天前
真没那么多人喜欢 Python 的语法缩进和 OOP ,你这标题一开始我还以为是 https://github.com/Suzhou-Tongyuan/jnumpy/tree/main/TyPython 这个 julia 和 python 交互的包呢。 最近 colab 支持了 julia 可以试试 https://juliahub.com/blog/julia-now-available-on-google-colab

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1120232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX