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

感觉未来不会再有新的编程语言投入广泛应用了

  •  3
     
  •   szzhiyang · 2021-05-26 14:06:03 +08:00 · 9921 次点击
    这是一个创建于 1038 天前的主题,其中的信息可能已经有所发展或是发生改变。
    研发团队、金主、标准库、第三方生态、包管理、工具链、IDE 、杀手锏、网民舆论等各方面的不足都在制约着新兴编程语言的发展,而且会形成恶性循环。在编程语言方面,我们可能不会有更多选择了。

    不光是编程语言,配置文件语言也是如此。
    88 条回复    2021-05-27 21:34:03 +08:00
    vacuitym
        1
    vacuitym  
       2021-05-26 14:10:21 +08:00
    当年 C 语言出来的时候大家也这样认为的
    felixcode
        2
    felixcode  
       2021-05-26 14:12:39 +08:00   ❤️ 1
    标题吸睛,只有观点,没有论证。
    szzhiyang
        3
    szzhiyang  
    OP
       2021-05-26 14:18:54 +08:00
    @vacuitym 现在的编程语言生态和当时不可同日而语。
    FOTSOFT
        4
    FOTSOFT  
       2021-05-26 14:21:25 +08:00   ❤️ 8
    人类之所以有进步,是因为下一代不听上一代的话;而且在特定的时代的变迁里面,科学的进步和社会的动向,皆影响年轻人产生新的思想,要不然人类哪会有进步?
    asdasdasdzxc
        5
    asdasdasdzxc  
       2021-05-26 14:22:55 +08:00
    全新的架构和设计模式诞生出新的语言就不一样了,Java 的面向对象编程,在企业开发渐渐的就淘汰了 C,这就是一个典型,但是未来不好说
    LANB0
        6
    LANB0  
       2021-05-26 14:26:15 +08:00   ❤️ 50
    1900 年 4 月 27 日,英国著名物理学家威廉.汤姆生(即开尔文男爵)在英国皇家学会发表了题为“在热和光动力理论上空的十九世纪的乌云”的演讲。他在回顾物理学所取得的伟大成就时说,物理大厦已经落成,所剩只是一些修饰工作。
    dcoder
        7
    dcoder  
       2021-05-26 14:28:50 +08:00
    当然会有...
    当有个人或者公司 定义且推广开一门新语言就行了.
    能不能推广开,看这个人或者公司的能量有多大.
    基于利益, 新崛起的强力公司很有意愿干这事儿.
    3dwelcome
        8
    3dwelcome  
       2021-05-26 14:31:42 +08:00
    当年 SVG 出来的时候,谁都不看好。结果现在借着浏览器的东风,变成了前端图标解决方案。

    只要语言受众人群多,自然会有追捧者。

    如果 google 现在开始,在 chrome 里内置 dart 语言,若干年后就会毫无悬念,成为主流。
    play78
        9
    play78  
       2021-05-26 14:32:27 +08:00
    go 语言不也开始流行,在云计算领域大放光彩。生态也在逐步完善。
    iloveayu
        10
    iloveayu  
       2021-05-26 14:37:44 +08:00   ❤️ 1
    以后量子计算机来了,你不玩玩 Q sharp 啥的?
    sugarkeek
        11
    sugarkeek  
       2021-05-26 14:39:14 +08:00
    我觉得不是,新场景新需求新思想都会带了新东西。单单我接触的区块链就带来了 solidity,vypy,应用和选择都挺好的呀。我觉得保持学习才是真的,停滞不前只能被淘汰
    masterclock
        12
    masterclock  
       2021-05-26 14:39:36 +08:00   ❤️ 8
    “所有能被发明的东西都已被发明出来了!”
    ”Everything that can be invented has been invented.”
    ——1899 年美国的专利局局长查尔斯.H.杜埃尔( Charles H. Duell )(黑锅)
    sugarkeek
        13
    sugarkeek  
       2021-05-26 14:40:17 +08:00
    @sugarkeek vyper,输入法的锅
    lululau
        14
    lululau  
       2021-05-26 14:44:38 +08:00 via iPhone
    这个结论不管对不对,至少能下这个结论的人一定是学了很多语言,会很多技术,对行业方方面面都有相当了解,难道就我一个觉得 lz 应该是个大神级的人物吗,哈哈哈😂😂
    dorentus
        15
    dorentus  
       2021-05-26 14:46:54 +08:00 via iPhone
    那你说说哪个语言是最好的语言?
    coffeedeveloper
        16
    coffeedeveloper  
       2021-05-26 15:00:14 +08:00   ❤️ 1
    @3dwelcome #8 dart 语言是曾经计划把 VM 弄进去过 chrome 的,后来取消了这个支持和计划而已。可以参考: https://techcrunch.com/2015/03/25/google-will-not-integrate-its-dart-programming-language-into-chrome/

    没记错的话,应该是有过几个测试版
    seakingii
        17
    seakingii  
       2021-05-26 15:05:05 +08:00
    一个时代有一个时代的语言.哪天 AI 普及了,会有一种更适合 AI 编程的语言
    Jirajine
        18
    Jirajine  
       2021-05-26 15:05:26 +08:00   ❤️ 4
    完全不认同。就现在来说,zig 、julia 、crystal 都有相当的潜力成为主流语言。

    并且在未来 wasm 成熟以后,必然会出现以完全取代 js 为第一目标编译到 wasm 的语言,相应的 ocaml/reasonml/rescript 等也有不错的潜力。
    charlie21
        19
    charlie21  
       2021-05-26 15:06:56 +08:00
    恭喜
    不要再他妈的降低编程门槛了
    murmur
        20
    murmur  
       2021-05-26 15:08:03 +08:00
    区块链这种东西才是应该淘汰的,除了搞乱金融秩序就没半点用途
    echo1937
        22
    echo1937  
       2021-05-26 15:20:07 +08:00   ❤️ 1
    主流开发语言的变迁,其实是主流开发领域的变迁。

    很多语言的发展都是借着风口起来的,典型例子就是 Go,Php,Java,OC ( Swift )。
    xiri
        23
    xiri  
       2021-05-26 15:43:52 +08:00
    每个时代都会有人发表这样的言论,但最后总是会被事实打脸
    theprimone
        24
    theprimone  
       2021-05-26 15:45:13 +08:00
    福山有话说
    vacuitym
        25
    vacuitym  
       2021-05-26 15:46:03 +08:00
    @szzhiyang 只是你觉得
    taowen
        26
    taowen  
       2021-05-26 15:46:49 +08:00   ❤️ 1
    支持一下楼主,确实是这样的。新技术比旧技术如果没有数量级的提升,普及是非常困难的。新编程语言能提供的提升太有限了。现有的编程语言已经枚举了各种组合了。更多的是保持现有的主流的语法,在工具链上进行加强。
    Actrace
        27
    Actrace  
       2021-05-26 16:15:08 +08:00
    @seakingii AI 编程早就普及了,只不过很多人都是 AI 之一。除了产品经理。
    UncleJar
        28
    UncleJar  
       2021-05-26 16:15:43 +08:00   ❤️ 1
    Rust
    araraloren
        29
    araraloren  
       2021-05-26 16:20:50 +08:00   ❤️ 1
    我觉得你在水经验。。
    hahastudio
        30
    hahastudio  
       2021-05-26 16:21:54 +08:00   ❤️ 1
    有一点我觉得很对,现在语言玩的是生态,你要有好的工具链、大项目、大公司背景、广泛支持才行
    但我觉得只要还没有大一统的语言存在,各个大公司肯定还是会为了争夺份额推出新语言
    谁不想整一个新的 C/C++/Java/Javascript 成为新的标准呢
    monkeyNik
        31
    monkeyNik  
       2021-05-26 16:25:51 +08:00
    想多了,即便没有新行业新方向,依旧会有其他语言出现,例如 go 、rust 一类,与其说它解决了 xx 问题,不如说是公司战略的一部分。通过语言与自身产品进行绑定来圈地的。
    mxT52CRuqR6o5
        32
    mxT52CRuqR6o5  
       2021-05-26 16:35:54 +08:00
    量子计算 /神经网络可能出会有新语言把
    star7th
        33
    star7th  
       2021-05-26 16:50:25 +08:00   ❤️ 1
    这是好事,我非常开心看到这样的情况发生。它证明编程发展得越来越成熟了,不需要总是在基础设施这个问题上反复造轮子。编程语言本应该成为稳定的下层基础设施,为上层提供更好的服务。
    FlyingDough
        34
    FlyingDough  
       2021-05-26 16:59:45 +08:00
    量子物理和相对论问世以前甚至还有人觉得物理学已经发展到了尽头呢。
    FlyingDough
        35
    FlyingDough  
       2021-05-26 17:00:47 +08:00   ❤️ 2
    弱小和无知不是生存障碍,傲慢才是。
    ytll21
        36
    ytll21  
       2021-05-26 17:38:34 +08:00
    @murmur 不要这么说,至少以太坊的理念还是很有开创性的,当初看到闪电贷的时候,整个人都被震住了
    snw
        37
    snw  
       2021-05-26 17:50:56 +08:00 via Android
    大公司可以砸钱(参考 Google 砸出 Chrome/Chromium ),非营利社区可以砸爱。
    thevita
        38
    thevita  
       2021-05-26 18:44:42 +08:00
    抛开什么语言, 新的东西会出现本质是因为产生了新的需求,人类历史不停止,新需求就层出不穷,

    「研发团队、金主、标准库、第三方生态、包管理、工具链、IDE 、杀手锏、网民舆论等各方面的不足都在制约着新兴编程语言的发展,而且会形成恶性循环。在编程语言方面,我们可能不会有更多选择了。”」

    这种说法,我大概只能脑补成「目前可用的编程语言能较好的满足当前的主要需求了,剩下的生态位已经养不起一个独立的项目和团队了」

    但基于这样的观点就来妄断未来,我只能说,人类还是太傲慢了!!!
    newee
        39
    newee  
       2021-05-26 18:45:53 +08:00
    语言很多啊
    移动端 Android 有 java/kotlin IOS 有 Objective-C/Swift 跨平台的 flutter 又有 dart 语言。
    不可能没有新的,只会层出不穷。
    就怕你学不过来。

    就算是主流的 Java 语言,你对每个版本迭代更新的新特性都掌握了吗?为什么要迭代这么多新版本,加这么多新特性?如果你不止是调用 API 的程序员,让你去设计语言会加上什么新特性?
    shayuvpn0001
        40
    shayuvpn0001  
       2021-05-26 18:49:35 +08:00
    从语言到框架再到 IDE,前端一天给你换一套都不是个事儿。
    Leviathann
        41
    Leviathann  
       2021-05-26 18:51:37 +08:00 via iPhone   ❤️ 1
    我倒是觉得因为现在各大语言抄新特性抄的贼快

    也许你有新奇的很好用的特性,但几个月个把年后就是我的了

    Java 甚至都有 pattern matching 的提案
    sagaxu
        42
    sagaxu  
       2021-05-26 19:13:10 +08:00 via Android
    640K ought to be enough for anybody.
    msaionyc
        43
    msaionyc  
       2021-05-26 19:39:54 +08:00 via iPhone
    640K ought to be enough for anybody
    MakHoCheung
        44
    MakHoCheung  
       2021-05-26 19:43:26 +08:00
    @Leviathann 模式匹配 java16 都可以用了
    di94sh
        45
    di94sh  
       2021-05-26 19:53:10 +08:00 via iPhone   ❤️ 1
    参考 sicp 的元语言抽象,当有新的事物需要使用元语言抽象的时候新的语言就会出现,比如 golang 抽象了携程
    hallDrawnel
        46
    hallDrawnel  
       2021-05-26 20:00:49 +08:00
    可能量子计算普及后,现有语言描述能力就不一定能行了。
    wyx119911
        47
    wyx119911  
       2021-05-26 20:19:30 +08:00
    @murmur #20 这是不对的,区块链在金融领域外已经有很多实际落地应用了。而且央行的数字人民币这玩意也叫没用吗
    FOTSOFT
        48
    FOTSOFT  
       2021-05-26 22:51:00 +08:00
    @murmur 凡事都有两面性,区块链领域里能提供的一些方案,制约了某些中心化太强的机构及行为,简单粗暴地突破常规规则,使得某部分的金融获得之前没有的自由空间,而想灭又没办法,往后或许会不得不收敛滥行为。这算不算半点用途?
    levelworm
        49
    levelworm  
       2021-05-26 22:58:38 +08:00
    @FOTSOFT 说的好。很多时候用新的东西,不是因为他好,而是因为更有 ownership 的感觉,否则整天就是给别人擦屁股谁愿意?宁可用新的、需要很多时间来磨合的,也不愿用成熟的,老的。当然这事儿对公司来说未必是好事就是了,但是对技术人员来说,谁不想自己有一小块地盘?
    levelworm
        50
    levelworm  
       2021-05-26 22:59:14 +08:00
    @Jirajine 特别期待有能够取代 js 的,不知道您觉得哪种语言有潜力?
    raycool
        51
    raycool  
       2021-05-26 23:39:16 +08:00
    “无论对谁来说,640K 内存都足够了”
    Jirajine
        52
    Jirajine  
       2021-05-27 00:07:39 +08:00
    @levelworm #50 最近刚出来的 grain 可以关注下 https://grain-lang.org
    再就是上面说的 ocaml 系 resonml/rescript,以及现在转译到 js 的静态语言,如 elm 、purescript 等也可能有新的 wasm 后端,typescript 的变体 assemblyscript 也算一个。
    除了这些专门为前端设计的语言以外,传统语言中像 kotlin 、swift 、dart 等都很适合写 UI,在工具链完善后也有相当不错的潜力。
    jim9606
        53
    jim9606  
       2021-05-27 00:53:53 +08:00
    你指望再出一门像 C 那样覆盖所有领域的语言,那确实不太可能。
    但限定一个领域出个新语言应该是一直会有,例如在一个狭窄的领域发明一种 DSL 来简化逻辑表达还是很稀松平常的事。
    CallmeDredd
        54
    CallmeDredd  
       2021-05-27 00:55:37 +08:00 via Android
    物理学的大厦已经建成,未来的物理学家只需要做些修修补补的工作就行了
    nanxiaobei
        55
    nanxiaobei  
       2021-05-27 01:39:08 +08:00
    具体问题具体分析,类比总会偏差,在这里举物理学那个并不能说明什么。

    计算机语言是人造,而物理学是发现,这是本质的不同。
    FOTSOFT
        56
    FOTSOFT  
       2021-05-27 02:02:16 +08:00
    @nanxiaobei 就像楼上聊的 量子领域,假设能够较好配合量子领域的方案就是用语言,而所用到的语言也许本身就存在,只是没有发现而已,IT 行业的持续迭代才有助于发现这个语言。再则,比如 js 要适应未来的应用,有可能会有翻天覆地的变化,而这时的 js 就已经是新语言。
    SingeeKing
        57
    SingeeKing  
       2021-05-27 03:07:13 +08:00 via iPhone
    各种领域特定语言很有市场的
    kuangwinnie
        58
    kuangwinnie  
       2021-05-27 04:53:37 +08:00
    17 世纪也觉得物理不会有新的东西了。。。
    ericgui
        59
    ericgui  
       2021-05-27 07:35:35 +08:00
    世界是向前发展的,不是停滞的

    即便是同一门语言,现在的样子和十年前也非常不一样了,你怎么能指望没有新的语言出来呢?
    zxCoder
        60
    zxCoder  
       2021-05-27 08:28:46 +08:00
    @murmur (还可以水论文
    shroxd
        61
    shroxd  
       2021-05-27 08:51:54 +08:00 via iPhone
    我高中的时候也觉得物理学就这点内容,很简单啊
    xianxiaobo
        62
    xianxiaobo  
       2021-05-27 08:55:22 +08:00
    也不一定,拼夕夕不就杀出来了吗
    lucybenz
        63
    lucybenz  
       2021-05-27 09:06:32 +08:00
    新势力一直在被制约着,但也总能突破
    ImACat
        64
    ImACat  
       2021-05-27 09:26:24 +08:00   ❤️ 1
    我学的某门课上提到过:
    # Why there are so many programming languages?
    Application domains have distinctive/ conflicting needs:
    - Scientific Computing(FORTRAN I)

    - good float point performance

    - good arrays support

    - parallelism

    - Business Application(SQL)

    - Persistence

    - report generation

    - data analysis

    - System programming(C /Cpp)

    - control of resources

    - real-time constraints

    # Why are there new programming languages?
    Application domains have distinctive/ conflicting needs:因为需求还没有被满足,所以会有新语言出来。

    Programmer training is the dominant cost for a programming language.

    1. Widely languages are slow to change

    2. Easy to start a new language

    If the productivity of a language is greater than its Traning Cost, the developer is willing to change.

    And if a new language could fill a void, it would be easier to get adopted.

    New languages tend to look like old languages That can reduce the Traning Cost,
    ImACat
        65
    ImACat  
       2021-05-27 09:27:27 +08:00
    taowen
        66
    taowen  
       2021-05-27 09:28:48 +08:00
    https://www.zhihu.com/question/28772815/answer/1907971744 推荐关注一下 julia 在 eDSL 方面的潜力。不用发明新的语言,但是可以实现很多新发明语言才能实现的事情。
    nevin47
        67
    nevin47  
       2021-05-27 09:43:55 +08:00
    我觉得 LZ 是在水铜币。。。。

    连硬件领域,RISC-V 都孵化了新语言 chisel,未来随着新需求的产生,新语言一样会层出不穷的
    pkoukk
        68
    pkoukk  
       2021-05-27 09:44:45 +08:00
    github 上一大堆新语言,一门语言并不一定是通用型语言,它只需要在某一个方面有优势就可以
    coosir
        69
    coosir  
       2021-05-27 09:52:57 +08:00
    未来希望可以实现每个人可以根据自己的喜好定制一套语法,自己也不用学那么多种编程语言。
    每个人的不一样,但最终都可以编译到各个端执行,或者作为脚本执行。
    xdeng
        70
    xdeng  
       2021-05-27 09:57:09 +08:00
    都 1202 年了 怎么会有这种想法
    fredli
        71
    fredli  
       2021-05-27 10:01:09 +08:00
    Apple -> Swift, Google -> Kotlin, MS -> ?
    LANB0
        72
    LANB0  
       2021-05-27 10:06:12 +08:00
    @nevin47 chisel 应该算是一种硬件描述语言吧,这和编程语言已经不是一个概念了
    no1xsyzy
        73
    no1xsyzy  
       2021-05-27 10:07:33 +08:00
    @fredli Kotlin 不是 JB 的吗,只不过 Google 转过去了

    MS 搞了 TypeScript,倒是算不得什么新语言
    fredli
        74
    fredli  
       2021-05-27 10:10:29 +08:00
    @no1xsyzy Google 不强推,Kotlin 会有人用么?
    TypeScript 又是啥,几个开发者?
    LANB0
        75
    LANB0  
       2021-05-27 10:11:45 +08:00
    @fredli MS-》 C#,Q#
    lusi1990
        76
    lusi1990  
       2021-05-27 10:18:33 +08:00
    当年物理学家也是这么认为的
    TORYOI
        77
    TORYOI  
       2021-05-27 10:22:01 +08:00
    没有什么是可以一直不变的
    neptuno
        78
    neptuno  
       2021-05-27 10:25:21 +08:00
    每个月都有的钓鱼贴
    no1xsyzy
        79
    no1xsyzy  
       2021-05-27 10:28:45 +08:00
    @no1xsyzy 这就要问是先有鸡还是先有蛋了 —— 是先有人用 Google 才转还是 Google 强推才有人用?
    同样 JVM 语言,Google 为什么不推 Scala 、Clojure 呢?

    TypeScript 是 JavaScript 超集,71k star,比 CPython 38k star 多(
    ljzxloaf
        80
    ljzxloaf  
       2021-05-27 10:43:22 +08:00
    好家伙,v2 给你玩透了
    nevin47
        81
    nevin47  
       2021-05-27 11:19:44 +08:00
    @LANB0 #72 对,严格意义上 Chisel 好像还不是图灵完备的。不过我只是想举个例子,新语言还是会层出不穷的,基础架构和需求都是在不断演进的,这决定了配套语言肯定也会逐步发展的
    fredli
        82
    fredli  
       2021-05-27 13:11:49 +08:00
    @LANB0 MS 就这?死差不多了
    fffang
        83
    fffang  
       2021-05-27 13:20:24 +08:00
    Rust 算吗?
    xylxAdai
        84
    xylxAdai  
       2021-05-27 13:34:33 +08:00
    你觉得不重要。
    你认为顶层的年轻计算机科学家会只是做一些给 c++和 java 这些语言做修补和完善的工作?
    只要这个世界上还存在野心和思考,想取得新的成就,新的编程语言和新的秩序就是必然的。
    xylxAdai
        85
    xylxAdai  
       2021-05-27 13:36:17 +08:00   ❤️ 2
    你觉得怎样根本不重要,更别说你提不出任何有意义的论据了。你说的这些的确有一定道理,但是只是在当下的环境下有部分道理。
    当环境改变,新的计算机科学家到了标准委员会,你认为顶层的年轻计算机科学家会只是会做一些给 c++和 java 这些语言做修补和完善的工作?
    只要这个世界上还存在野心和思考,人们想取得新的成就,新的编程语言和新的秩序就是必然的。
    xylxAdai
        86
    xylxAdai  
       2021-05-27 13:37:33 +08:00
    @xylxAdai 为什么 V2EX 这么容易 504
    coolmenu
        87
    coolmenu  
       2021-05-27 19:38:43 +08:00
    这种拍脑袋的观点,楼主能不能写点完善的因果推论,就这么大言不惭的说出这个论断?
    anthow
        88
    anthow  
       2021-05-27 21:34:03 +08:00
    未来的事谁也说不准。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2880 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 13:48 · PVG 21:48 · LAX 06:48 · JFK 09:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.