V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Comyn
V2EX  ›  程序员

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

  •  
  •   Comyn · 2022-09-21 11:45:17 +08:00 · 7180 次点击
    这是一个创建于 796 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大家一起维护一门编程语言不行吗,比如面对 ios 编程要使用 swift 或者 oc,java,python 这些语言不能做的原因是什么
    72 条回复    2022-09-22 14:32:30 +08:00
    eason1874
        1
    eason1874  
       2022-09-21 11:47:31 +08:00   ❤️ 1
    大自然已经告诉我们,维持物种多样性才能维持生态平台,一刀切接近不了所有问题,一个物种泛滥只会导致生态灾难
    HugoChao
        2
    HugoChao  
       2022-09-21 11:47:44 +08:00   ❤️ 24
    经典回顾之盼秦皇归
    Leonard
        3
    Leonard  
       2022-09-21 11:47:52 +08:00   ❤️ 4
    技术上来说,因为要解决的问题不同;商业上来说,用自己的编程语言更可控
    Leviathann
        4
    Leviathann  
       2022-09-21 11:51:50 +08:00   ❤️ 1
    你喜欢 for 循环还是 map filter ?
    Building
        5
    Building  
       2022-09-21 11:52:43 +08:00
    你猜为什么不直接用 1 和 0 编程就好了,更简单
    lookStupiToForce
        6
    lookStupiToForce  
       2022-09-21 12:08:26 +08:00   ❤️ 21
    因为巴别塔不是上帝推倒的,是人类因为互相理解了之后真心发觉对方都是傻逼而自己主动炸掉的
    yoa1q7y
        7
    yoa1q7y  
       2022-09-21 12:19:40 +08:00
    另一批不喜欢这种语法的怎么办,那不难受死了
    ShinomiyaKaguya
        8
    ShinomiyaKaguya  
       2022-09-21 12:20:45 +08:00 via iPhone
    为什么有这么多语言存在,全世界人都说中文不好吗🐶
    Kasumi20
        9
    Kasumi20  
       2022-09-21 12:31:57 +08:00
    因为 java,python 太烂!
    msaionyc
        10
    msaionyc  
       2022-09-21 12:52:49 +08:00
    我觉得对这些,要用发展的眼光看待问题
    villivateur
        11
    villivateur  
       2022-09-21 13:02:36 +08:00
    为什么要用这么多金属金银铜铁锡,所有材料都用钢不行吗?
    elepcris
        12
    elepcris  
       2022-09-21 13:04:14 +08:00 via iPhone   ❤️ 1
    因为计算机领域还处于一个飞速发展的阶段,硬件技术不断更新,需求也不断在变,所以软件肯定得跟上。
    但是原来部署在生产环境的又不能不管不要了。
    那只有重新开发新的软件,让新思维,新项目可以充分发挥。编程语言肯定是其中之一。

    我想这也是为什么普通程序员吃的是青春饭,你掌握的那些技术随着你的年龄都过期了。
    而想要跟上技术的革新,是很难的,横向众向的跨越度都太大了。而且很多技术都只有英文的资料。想要跟上其实挺难的。
    所以真正厉害的程序员应该是很吃香的。因为付出的得比别人多得多。你的经验得在不断变化中看清未来的趋势。
    wdwwtzy
        13
    wdwwtzy  
       2022-09-21 13:13:03 +08:00
    神马?有这么多语言?在我国不是只有 java 一种语言吗?
    taogen
        14
    taogen  
       2022-09-21 13:17:25 +08:00
    1. 鱼与熊掌不可兼得。没有银弹!不存在完美的编程语言,只有最适合的编程语言。每种编程语言有它的优缺点.
    2. 船大难掉头。一个成熟的编程语言想要做出很大的改变是很难的。改变也要基于它自身的底层特性和它的生态。不如重新写一个新的语言。
    shyangs
        15
    shyangs  
       2022-09-21 13:19:00 +08:00
    只要有 中文 和 Java 就夠了.
    leegradyllljjjj
        16
    leegradyllljjjj  
       2022-09-21 13:20:00 +08:00
    因为在另外一个平行宇宙有人大呼:为什么这个编程语言这么多问题,不重新设计一个
    majula
        17
    majula  
       2022-09-21 13:25:29 +08:00
    很久以前,全世界只有一门编程语言。

    人们商量说,让我们一起编写一个操作系统吧,这样就能一起通往天堂。

    不料,上帝看到后说:如果人类会同一门编程语言就开始干这种事情,很难想象还有什么他们不敢做的。

    于是,上帝创造了各种不同的编程语言,让人们无法互相理解,常常为“哪个编程语言最好”、“什么编程范式最好”等话题争吵不休。

    “天堂操作系统”计划也就此破产。
    em70
        18
    em70  
       2022-09-21 13:27:20 +08:00
    我们的世界不能让不爱学习的人来决定
    Alias4ck
        19
    Alias4ck  
       2022-09-21 13:32:27 +08:00
    多样性可以减少内卷
    cssk
        20
    cssk  
       2022-09-21 13:38:58 +08:00 via iPhone
    你咋不天天吃同一个菜呢,穿同一件衣服呢
    yvescheung
        21
    yvescheung  
       2022-09-21 13:40:13 +08:00
    你说的不就是 C 语言?有了 C 你想做啥都行,要是还是嫌不够硬核那就写汇编
    苹果为啥不用 java ,python ,因为 NeXT 选 Objective-C 的时候他俩还没出生,另外再看看 python 的效率和谷歌用 java 写安卓后和甲骨文的官司,苹果完全没理由再去用它们,自己写 swift 一切可控
    jtsai
        22
    jtsai  
       2022-09-21 13:49:23 +08:00
    因为世界在进步
    xiangyuecn
        23
    xiangyuecn  
       2022-09-21 14:15:16 +08:00
    问就是 DIV+CSS
    Comyn
        24
    Comyn  
    OP
       2022-09-21 14:20:11 +08:00
    @cssk #20 为什么要用这种口气回复尼
    BingoXuan
        25
    BingoXuan  
       2022-09-21 14:20:47 +08:00   ❤️ 1
    只有一种编程语言,那就是逻辑。只不过我们在用不同编程语言去玩不同的编程语言游戏。
    rocksolid
        26
    rocksolid  
       2022-09-21 14:23:45 +08:00
    编程语言不是 rmb 不会所有人都喜欢
    stackexplode
        27
    stackexplode  
       2022-09-21 14:29:59 +08:00   ❤️ 1
    假设一个语言可以做所有的事情,一定要具备至少 C/C++这样的内存 /内核基本访问的能力(更别说汇编了),这种语言对 UI 开发等等的场景注定是不够好用的
    runze
        28
    runze  
       2022-09-21 14:31:34 +08:00
    因为需求和适用范围不同,就算是简单的"以文本格式保存设置",都有 ini 、json 、xml 、yaml 、toml 等几十种方案,何况是表达行为与思想呢?
    chai2010
        29
    chai2010  
       2022-09-21 14:31:55 +08:00
    屁股决定脑袋,每个人都不希望被别人卷,同时又希望卷死别人。比如 C++之父就不希望推广 Rust ,反之同理。有了 X86 汇编语言为何还需要 X86-64 ,有了 ARM 汇编语言之后为何还需要 ARM64 ?

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

    也许现在就是十几年后,是不是可以这么说。
    liubaicai
        39
    liubaicai  
       2022-09-21 16:19:01 +08:00
    归根结底还是生产力水平较低,软硬件不达标,等未来说不定就有一种运行效率高,兼容性强,编写简单,可读性强,语法方便。上可写 web 下可写 os 的编程语言
    mxT52CRuqR6o5
        40
    mxT52CRuqR6o5  
       2022-09-21 16:20:44 +08:00   ❤️ 1
    语言之间的在特性层面的主要区别:是否有 gc 、是否有 runtime 、是否动态、强弱类型。
    这些特性都挺对立的,没法说可以既有 gc 又可以没有 gc 这样的,在不同的场景需要不同特性的语言
    liuidetmks
        41
    liuidetmks  
       2022-09-21 16:20:52 +08:00
    为什么有这么多武器?坦克 ,飞机,步兵战车,驱逐舰,航母?
    为什么不统一成一个武器? 能飞,又能下水,还能路上跑,高杀伤,高机动,高防护
    ryougifujino
        42
    ryougifujino  
       2022-09-21 16:39:35 +08:00
    因为做不到既要又要
    puzzle9
        43
    puzzle9  
       2022-09-21 16:53:17 +08:00
    我看看不惯你 我自己花个圈 自己玩
    haolongsun
        44
    haolongsun  
       2022-09-21 16:55:09 +08:00
    为什么有这么多语言,都是不满足另一个语言,然后才创造的新语言,世上万物都是不停向前的,分久必合,合久必分。
    cmsyh29
        45
    cmsyh29  
       2022-09-21 16:59:35 +08:00
    独尊儒术 罢黜百家? CN 有些思想真的有毒
    Comyn
        46
    Comyn  
    OP
       2022-09-21 17:07:44 +08:00
    @cmsyh29 #45 这和 CN 思想扯不上任何关系
    seakingii
        47
    seakingii  
       2022-09-21 18:08:52 +08:00
    都怪 PYTHON

    要是 PYTHON 性能强,能原生编译,我愿意只用 PYTHON....
    bthulu
        48
    bthulu  
       2022-09-21 18:28:59 +08:00
    @Leviathann 都支持不久好了, 喜欢什么用什么
    lookStupiToForce
        49
    lookStupiToForce  
       2022-09-21 18:47:49 +08:00
    @seakingii #47
    Julia 请(虽然我不喜欢
    另外新版本的 python 相比老版本已经提速很多了,如果还在用 python 3.8 及以下请尽可能升级
    因为未来只会更快(。
    FrankHB
        50
    FrankHB  
       2022-09-21 18:51:29 +08:00
    因为太菜,低级复制一大坨,以至于技术上没法当做一种。
    当然要扯财产权之类的问题另说。
    seakingii
        51
    seakingii  
       2022-09-21 19:01:11 +08:00   ❤️ 1
    @lookStupiToForce

    我也不喜欢 Julia

    > Julia(日本 AV 女优)
    kett
        52
    kett  
       2022-09-21 19:18:26 +08:00
    具体问题具体分析,每种语言都有自己的适用范围。
    charlie21
        53
    charlie21  
       2022-09-21 20:50:27 +08:00
    有没有一个通用的办法能找到这类帖子的某些特征?

    为什么有这么多编程语言存在 /t/881829
    UI 那么多年了,为什么没有一个标准能一统天下? /t/881306
    zachgenius
        54
    zachgenius  
       2022-09-21 21:45:13 +08:00
    "这世界为什么有这么多种生物? 地球上只有人类不行吗"
    "这世界为什么有这么多种语言? 全世界只讲汉语普通话不行吗?"
    yeqizhang
        55
    yeqizhang  
       2022-09-22 00:07:35 +08:00 via Android
    因为抄来抄去,因为后面的大佬和公司觉得现有语言不符合自己的想法,就写个新的更好的不一样的
    bestmos
        56
    bestmos  
       2022-09-22 00:08:17 +08:00
    @bthulu 问题就该改为 为什么有这么多作用重复的函数存在
    akira
        57
    akira  
       2022-09-22 00:14:18 +08:00
    有个人和你想法一样,于是他想发明一种新的语言来结束这种状况,更可怕的是,他居然做出来了
    于是这个世界又多了一种语言。。。。
    msg7086
        58
    msg7086  
       2022-09-22 00:56:20 +08:00   ❤️ 3
    现在世界上有 69 个编程语言
    某:我要做一个能一统天下的编程语言
    现在世界上有 70 个编程语言
    Ionian
        59
    Ionian  
       2022-09-22 00:59:24 +08:00
    给你自由不要,非要垄断独裁
    dobelee
        60
    dobelee  
       2022-09-22 01:00:35 +08:00
    V 站有不少人曾经也有同样的疑问,并立志要一统天下。

    于是又多了个门语音。
    Kylin30
        61
    Kylin30  
       2022-09-22 01:02:08 +08:00
    文人相轻
    dangyuluo
        62
    dangyuluo  
       2022-09-22 08:06:55 +08:00
    就跟为什么有这么多种电锯一个道理,不同的地方用不同的工具,各有所长
    julyclyde
        63
    julyclyde  
       2022-09-22 08:45:32 +08:00
    按说是一个很有重量级的评职称的方法
    但却很少有人用这个来评职称
    为什么呢?
    janus77
        64
    janus77  
       2022-09-22 09:39:01 +08:00
    要不你来做一个?
    结果:统一一个语言 ×
    多出一个语言,大概率还没什么人用 √
    fengfisher3
        65
    fengfisher3  
       2022-09-22 09:40:29 +08:00
    这个问题用,为什么有那么多种车?就可以解释清楚了。
    Daiwf
        66
    Daiwf  
       2022-09-22 10:56:10 +08:00
    发明一种语言很费劲,发明语言的人或者公司能看到什么比较明显的利益么。
    sun1993
        67
    sun1993  
       2022-09-22 11:01:25 +08:00
    @Comyn 我觉得有一定关系,我们的思想根基就是崇尚权威,追逐主流,多样性和包容性向来是不被接受的(虽然现代新生代开始追求多元,但这仍然不是主流思想,大部分时候会被自己的家长“矫正”过来);另:我曾经也和你一样有过这种想法,觉得老外有病搞出来那么多高级语言
    cais
        68
    cais  
       2022-09-22 11:15:56 +08:00
    普通程序员改代码:这哪个傻逼写的代码,还不如我重写。
    大佬程序员改代码:这傻逼语言,还不如我直接开发一套语言。
    raptor
        69
    raptor  
       2022-09-22 11:36:43 +08:00
    历史上最接近万能开发语言的是 C++,学习一下你就知道了。
    qfdk
        70
    qfdk  
       2022-09-22 12:06:58 +08:00 via iPhone
    56 个民族 56 句话.....
    knva
        71
    knva  
       2022-09-22 14:04:24 +08:00
    动不动就既要又要,你行你上
    metalbuild
        72
    metalbuild  
       2022-09-22 14:32:30 +08:00   ❤️ 1
    认真回答你吧 主要是将近 40 ~ 50 年代出现的原始的编程语言没有分得太细 很多时动起来可以 但往往会因为一个小 detail 搞挂整个程序 那会的编程不严谨 goto 随意用
    后来有个人 - Edsger Wybe Dijkstra 用 if, while 替换 goto 就是 structured programming 的起源
    再后来有人为了 local variables 可以持续存在又搞了 Object-oriented programming
    然后还有个 functional programming 为的是 value of a variable 不要乱改

    各路语言的发展离不开一个核心 就是纪律 所以每个语言总有人喷 因为其中你能明确感受到自己失去能编什么的自由 人是一种会规避社会秩序的生物 所以又会有人搞新语言 一个新语言要保证兼容又要回到标准化的路 这又使人不爽了因为又回到不能编什么的处境 新语言就会一直如此冒出来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4103 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:20 · PVG 13:20 · LAX 21:20 · JFK 00:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.