为什么有这么多编程语言存在

2022-09-21 11:45:17 +08:00
 Comyn
大家一起维护一门编程语言不行吗,比如面对 ios 编程要使用 swift 或者 oc,java,python 这些语言不能做的原因是什么
7628 次点击
所在节点    程序员
72 条回复
yvescheung
2022-09-21 13:40:13 +08:00
你说的不就是 C 语言?有了 C 你想做啥都行,要是还是嫌不够硬核那就写汇编
苹果为啥不用 java ,python ,因为 NeXT 选 Objective-C 的时候他俩还没出生,另外再看看 python 的效率和谷歌用 java 写安卓后和甲骨文的官司,苹果完全没理由再去用它们,自己写 swift 一切可控
jtsai
2022-09-21 13:49:23 +08:00
因为世界在进步
xiangyuecn
2022-09-21 14:15:16 +08:00
问就是 DIV+CSS
Comyn
2022-09-21 14:20:11 +08:00
@cssk #20 为什么要用这种口气回复尼
BingoXuan
2022-09-21 14:20:47 +08:00
只有一种编程语言,那就是逻辑。只不过我们在用不同编程语言去玩不同的编程语言游戏。
rocksolid
2022-09-21 14:23:45 +08:00
编程语言不是 rmb 不会所有人都喜欢
stackexplode
2022-09-21 14:29:59 +08:00
假设一个语言可以做所有的事情,一定要具备至少 C/C++这样的内存 /内核基本访问的能力(更别说汇编了),这种语言对 UI 开发等等的场景注定是不够好用的
runze
2022-09-21 14:31:34 +08:00
因为需求和适用范围不同,就算是简单的"以文本格式保存设置",都有 ini 、json 、xml 、yaml 、toml 等几十种方案,何况是表达行为与思想呢?
chai2010
2022-09-21 14:31:55 +08:00
屁股决定脑袋,每个人都不希望被别人卷,同时又希望卷死别人。比如 C++之父就不希望推广 Rust ,反之同理。有了 X86 汇编语言为何还需要 X86-64 ,有了 ARM 汇编语言之后为何还需要 ARM64 ?

另一方面,竞争才有发展,而国内就是因为编程语言太少了,农民吃饭的家伙还只能靠国外输入。
总之希望国产语言能再多一些: https://github.com/chai2010/china-programming-languages
Comyn
2022-09-21 14:36:12 +08:00
@chai2010 #29 希望国内的编程语言能推广起来吧
lyhiving
2022-09-21 14:48:39 +08:00
@Comyn 语言部分国界,不要意识形态。好用性能好生态完善的语言自然多人用
chai2010
2022-09-21 15:09:39 +08:00
@lyhiving 语言本身就是国界的产物,如果有得选择我肯定愿意选择社区在国内的语言
Comyn
2022-09-21 15:20:54 +08:00
@lyhiving 由于特殊原因如果你不会特殊手段的话,你去访问如 maven,npm,gradle 这些很慢
cyningxu
2022-09-21 15:42:04 +08:00
人是多样性的,不同的人有不同的喜好和需求。这个问题就如同“为什么有这么多主食,大家都吃白米饭不好吗?”一样没有道理。
fournoas
2022-09-21 15:47:39 +08:00
国人对大一统有一种病态的偏执
dinghmcn
2022-09-21 15:48:12 +08:00
@ShinomiyaKaguya #8 我认为你这个举例不恰当,世界用同一种语言是优势肯定利大于弊,语言单从沟通交流这个主要用途来说越通用越好,参照普通话
deng81416754
2022-09-21 16:09:29 +08:00
因为都想统一呀。 二哥不服大哥
LindsayZhou
2022-09-21 16:17:05 +08:00
我正在看 Hare 语言的,几个月前刚发布的,吸收了一些 Golang 的思想。开发者正在用它写操作系统内核。
现在还只是玩具语言的程度。
为什么学的话,也许十几年后会流行起来, 现在只是因为开心和好玩,还可以学一点底层的思想。

也许现在就是十几年后,是不是可以这么说。
liubaicai
2022-09-21 16:19:01 +08:00
归根结底还是生产力水平较低,软硬件不达标,等未来说不定就有一种运行效率高,兼容性强,编写简单,可读性强,语法方便。上可写 web 下可写 os 的编程语言
mxT52CRuqR6o5
2022-09-21 16:20:44 +08:00
语言之间的在特性层面的主要区别:是否有 gc 、是否有 runtime 、是否动态、强弱类型。
这些特性都挺对立的,没法说可以既有 gc 又可以没有 gc 这样的,在不同的场景需要不同特性的语言

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

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

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

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

© 2021 V2EX