比如在 n 年前某个主流编程语言 A 还没有闭包这个特性,另一个编程语言 B 加入了闭包, A 语言在下个版本也开始跟进。
或者,曾经一些编程语言还不支持 type, 后来也慢慢加入 type.
再比如,以前不支持宏,现在很多编程语言也都已经支持
以前不支持函数式开发的,现在这些函数式特性也都慢慢加入了。
就是整体的趋势发展好像是,大家都在互相借鉴,只要是主流的,普遍觉得好的特性,也都会慢慢被加入。 所以看起来都在朝同一个方向前进?
1
2NUT 2022-08-27 18:31:12 +08:00 1
确实是的,语言越来越相近, 但目前生态还是很明显的区别,泾渭分明
最终语言越来越近, 直到 编译器 抹平了差异,最终大家都是 llvm 中间表示 的方言 最后因为编译技术的发展, 生态也实现了统一. |
2
yyf1234 2022-08-27 18:39:26 +08:00 via iPhone
好的东西都是趋同的
|
3
pursuer 2022-08-27 18:53:31 +08:00 1
大道至简怎么讲(笑
感觉现在入坑语言,学习相关生态(库)才是最麻烦的 |
4
wu67 2022-08-27 20:08:41 +08:00
我只能说代码编程一大抄. 除了少数的顶尖人士, 其他的相当大部分都不过是你抄我我抄你, 顶多针对公司业务改一改
|
5
kingjpa 2022-08-27 21:04:47 +08:00
是啊,就连浓眉大眼的 php 竟然也加入了强类型和注解,令人不解。
|
7
cmdOptionKana 2022-08-27 21:33:33 +08:00
很正常,眼睁睁看着一个有用的特性,只要该特性带来的好处大于坏处,为什么不加上?
一个语言就像我们普通人的一间房子,看见别人有空调、冰箱、净水器、洗碗机…… 只要有钱,多数家庭都会选择给家里添上,这是很合理的做法。 动态语言加 type hint, 最大的原因是现代化 IDE/editor 的发展,使 type hint 的好处被放大。 |
8
flyingghost 2022-08-28 01:40:21 +08:00
人类很多事情的发展趋势都是类似,像一棵生长的树:
各分支独立发展 -> 某些分支特性优秀,互相取长补短 -> 各分支趋同,同时有少数分支取得优势地位 -> 英雄主动统一江湖 /事实标准统一江湖 -> 单主流笨重缓慢保守乏味,变成泥足巨人,出现不满,新的分支 -> 回到开头循环 |
9
msg7086 2022-08-28 05:22:59 +08:00
即使如此,语言背后的风格习惯也是不会改变的。
最终你还是会看到两个长得很像但用起来手感却天差地别的语言。 (没错我就是在说 Py 和 Rb 。) |
10
aguesuka 2022-08-28 10:39:31 +08:00 1
过去时 -- 现代编程语言的最基本的要求
* nullsafe * 第一公民函数 * 作用域安全 * 泛型 * 类型推导 * 元编程或者说自省能力 * 去分号 * 包, 模块, 可见修饰符 进行时 * 天然的异步 * 类型后置 * 模式匹配 * immutable 的支持 * 使用处理异常 monad * 限制 override 和 overload 未来 * Structural type 代替大部分 Nominal type * 变量所有权 * Strictly positive 的代数数据类型(ADT) * 更严格的子类型, 比如说我们可能不需要 top type, 也就是所有类型的父类型 * 安全的元编程 太长不看: 现代编程语言就是在保证工程性的前提下, 尽量减少 runtime error, 并保持简洁的语法. |