如果 python 突然变成 静态类型的 语言?

2016-08-05 12:11:02 +08:00
 quxw

在看 type hint ,引发一个脑洞 如果 python 突然变成 静态类型的 语言,会变快吗? 语法简洁的特点会消失吗? 或者其他?

7437 次点击
所在节点    程序员
56 条回复
ethego
2016-08-07 15:48:09 +08:00
@noli 我说过了,你混淆了值类型和静态类型的概念
noli
2016-08-07 16:30:00 +08:00
@ethego 你从哪里判断我混淆了?因为我问有多少人反对 python 是静态类型?
ethego
2016-08-07 17:03:57 +08:00
@noli 嘴硬,如果你没有混淆,那你 25 楼给出的程序和本贴有关吗?
bdbai
2016-08-07 17:16:24 +08:00
@franklinyu 反射这个例子确实举得不好。 DLR 这一点可以吧。
noli
2016-08-07 19:45:01 +08:00
@ethego 的确无关,所以我问你这叫什么类型。
franklinyu
2016-08-08 02:34:50 +08:00
@ethego 但是我还是比较喜欢像 C++ 那样,让我能够指定使用 value type 还是 reference type 。(中文是叫「值类型」和「引用类型」么?)有一部分性能问题可以用 C++11 的 move semantics 解决,剩下的我会显式指定成引用 /指针。
franklinyu
2016-08-08 03:02:42 +08:00
@bdbai {{44L}}:我不了解微软的「动态语言运行时( Dynamic Language Runtime )」,仅仅对 Objective-C 的运行时原理略知一二。你认为,「运行时」的存在会影响这个语言的「动态 /静态类型」的属性;我猜测,是因为我们可以往现有的类里面增加特性?如果是这样,那我认为「可以在变量被定义以后修改变量的 attribute 」并不会让这个语言变成动态类型语言。
quxw
2016-08-08 13:48:39 +08:00
![从一本书里翻出来的采访]( https://raw.githubusercontent.com/quxiaowei/7788/master/IMG_0895.JPG "从一本书里翻出来的采访")
quxw
2016-08-08 13:51:50 +08:00
quxw
2016-08-08 13:56:00 +08:00
quxw
2016-08-08 14:11:31 +08:00
ethego
2016-08-14 20:25:58 +08:00
@franklinyu 最后你还是会发现你绝大多数时候都在用指针,毕竟引用类型没有什么明显的问题,值类型就不一样了,在用值类型的时候你必须清楚地知道你在干啥
ethego
2016-08-14 20:29:43 +08:00
@franklinyu 在 java 中,值类型仅被用于一种优化: inline (内联)。任何时候对引用类型的需求都更高,那为什么不默认引用类型?
franklinyu
2016-08-16 08:13:11 +08:00
@ethego {{52L}}:「引用类型没有什么明显的问题,值类型就不一样了,在用值类型的时候你必须清楚地知道你在干啥」這個我覺得見仁見智吧,我一般都用值類型,很少建立指針。就算偶爾建立指針,用的也是 smart pointer 。
franklinyu
2016-08-16 08:13:55 +08:00
樓上的 @quxw 是網卡了麼
franklinyu
2016-08-16 08:16:15 +08:00
Guido 說得挺對的,所以 C++11 加入了 auto

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

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

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

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

© 2021 V2EX