有没有可能所有的编程语言或者框架都在朝着同一个方向发展

2022-08-27 18:16:10 +08:00
 luffy

比如在 n 年前某个主流编程语言 A 还没有闭包这个特性,另一个编程语言 B 加入了闭包, A 语言在下个版本也开始跟进。

或者,曾经一些编程语言还不支持 type, 后来也慢慢加入 type.

再比如,以前不支持宏,现在很多编程语言也都已经支持

以前不支持函数式开发的,现在这些函数式特性也都慢慢加入了。

就是整体的趋势发展好像是,大家都在互相借鉴,只要是主流的,普遍觉得好的特性,也都会慢慢被加入。 所以看起来都在朝同一个方向前进?

2046 次点击
所在节点    程序员
10 条回复
2NUT
2022-08-27 18:31:12 +08:00
确实是的,语言越来越相近, 但目前生态还是很明显的区别,泾渭分明

最终语言越来越近, 直到 编译器 抹平了差异,最终大家都是 llvm 中间表示 的方言

最后因为编译技术的发展, 生态也实现了统一.
yyf1234
2022-08-27 18:39:26 +08:00
好的东西都是趋同的
pursuer
2022-08-27 18:53:31 +08:00
大道至简怎么讲(笑

感觉现在入坑语言,学习相关生态(库)才是最麻烦的
wu67
2022-08-27 20:08:41 +08:00
我只能说代码编程一大抄. 除了少数的顶尖人士, 其他的相当大部分都不过是你抄我我抄你, 顶多针对公司业务改一改
kingjpa
2022-08-27 21:04:47 +08:00
是啊,就连浓眉大眼的 php 竟然也加入了强类型和注解,令人不解。
luffy
2022-08-27 21:18:17 +08:00
@kingjpa 这点倒是意外了, 很久没关注了
cmdOptionKana
2022-08-27 21:33:33 +08:00
很正常,眼睁睁看着一个有用的特性,只要该特性带来的好处大于坏处,为什么不加上?

一个语言就像我们普通人的一间房子,看见别人有空调、冰箱、净水器、洗碗机…… 只要有钱,多数家庭都会选择给家里添上,这是很合理的做法。

动态语言加 type hint, 最大的原因是现代化 IDE/editor 的发展,使 type hint 的好处被放大。
flyingghost
2022-08-28 01:40:21 +08:00
人类很多事情的发展趋势都是类似,像一棵生长的树:
各分支独立发展 -> 某些分支特性优秀,互相取长补短 -> 各分支趋同,同时有少数分支取得优势地位 -> 英雄主动统一江湖 /事实标准统一江湖 -> 单主流笨重缓慢保守乏味,变成泥足巨人,出现不满,新的分支 -> 回到开头循环
msg7086
2022-08-28 05:22:59 +08:00
即使如此,语言背后的风格习惯也是不会改变的。
最终你还是会看到两个长得很像但用起来手感却天差地别的语言。
(没错我就是在说 Py 和 Rb 。)
aguesuka
2022-08-28 10:39:31 +08:00
过去时 -- 现代编程语言的最基本的要求
* nullsafe
* 第一公民函数
* 作用域安全
* 泛型
* 类型推导
* 元编程或者说自省能力
* 去分号
* 包, 模块, 可见修饰符

进行时
* 天然的异步
* 类型后置
* 模式匹配
* immutable 的支持
* 使用处理异常 monad
* 限制 override 和 overload

未来
* Structural type 代替大部分 Nominal type
* 变量所有权
* Strictly positive 的代数数据类型(ADT)
* 更严格的子类型, 比如说我们可能不需要 top type, 也就是所有类型的父类型
* 安全的元编程


太长不看: 现代编程语言就是在保证工程性的前提下, 尽量减少 runtime error, 并保持简洁的语法.

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

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

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

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

© 2021 V2EX