• 请不要在回答技术问题时复制粘贴 AI 生成的内容
SystemLight
V2EX  ›  程序员

为什么主流编程语言来来回回就那么不到十几种,有很多还是衍生出来的,有什么好用但是不火的语言么?

  •  5
     
  •   SystemLight ·
    SystemLight · Mar 13, 2021 · 16791 views
    This topic created in 2065 days ago, the information mentioned may be changed or developed.
    110 replies  •  2021-03-15 14:24:45 +08:00
    1  2  
    ❮ ❯
    Jirajine
    Jirajine
    Mar 13, 2021 via Android❤️2
    1
    F#可以算是好用不火。
    其他的要么就是偏学术不适合应用,如 Haskell 。要么就是还处在开发早期,如 zig 、Crystal 、v 等。
    rb6221
    rb6221
    Mar 13, 2021❤️1
    2
    php ruby
    msg7086
    msg7086
    Mar 13, 2021
    3
    如果好用,那大家为什么不用呢。
    Ruby 算一种好用但是不火的语言么?(虽然硅谷几年前满地都是用 Ruby 起家的公司。)
    EKkoGG
    EKkoGG
    Mar 13, 2021
    4
    优秀和流行本来就是两个概念啊。时也,命也
    puzzle9
    puzzle9
    Mar 13, 2021
    5
    ruby 一直想去尝试
    可能因为 laravel 中的 要优雅
    hronro
    hronro
    Mar 13, 2021
    6
    @Jirajine #1
    v 就算了吧
    qsmd42
    qsmd42
    Mar 13, 2021
    7
    十几种为什么嫌少...大概有生之年你都学不完
    simple2025
    simple2025
    Mar 13, 2021
    8
    @msg7086 感觉动态语言最大的问题,就是性能弱,什么性能不是大问题都是扯淡的,大公司服务端真的很少用动态语言,特别是国内
    baobao1270
    baobao1270
    Mar 13, 2021
    9
    我觉得 C# 就是好用不火……
    littlewing
    littlewing
    Mar 13, 2021 via iPhone
    10
    c
    agdhole
    agdhole
    Mar 13, 2021
    11
    国内 c# 吧,得益于微软的运营,都跑完了
    DoctorCat
    DoctorCat
    Mar 13, 2021
    12
    VB6 好用… 过气儿了
    msg7086
    msg7086
    Mar 13, 2021
    13
    @chenqh
    所以初创公司特别喜欢用这些。
    初期根本没多少客户,撑死几千几万个用户,一台机器怎么也能跑下来了。
    但是能用两三个程序员干出大公司几十个程序员的活,这得省下多少钱啊。
    等你拉到了几百万投资以后,再用别的语言去逐步替换性能瓶颈就行了。
    试错成本会低很多。

    大公司正好相反,更关注招人的成本而非用人的成本,宁愿找十个写 Java 的人也不愿意找一个写 Ruby 的人。
    因为招 Java 好招,一块石头扔到马路上都能砸到几个会写 Java 的。
    Ruby 呢,你叫破喉咙都不一定招到一个。
    国内的 Ruby 程序员怕不是就 Ruby-China 上经常在线的那几个了……
    Python 好招一点,但是 Python 语言的表达力我觉得还是有一些欠缺。

    所以国内 PHP 流行啊,又好招,又能一把梭……
    fxjson
    fxjson
    Mar 13, 2021 via Android❤️1
    14
    ruby 项目一大就完犊子了,语法糖太多,不利于维护,国内人员又少,所以就这样了
    stupil
    stupil
    Mar 13, 2021
    15
    @Jirajine f# 现在还在更新吗?
    lightjiao
    lightjiao
    Mar 13, 2021 via iPhone❤️4
    16
    C#真的好用,最近在研究 async/await,能想出这种封装的人,真的太厉害了
    woctordho
    woctordho
    Mar 13, 2021 via Android❤️1
    17
    Lisp 大法好(
    agagega
    agagega
    Mar 13, 2021 via iPhone
    18
    必须 Ruby (其实在国外也挺火的)
    zhuangzhuang1988
    zhuangzhuang1988
    Mar 13, 2021 via Android
    19
    @stupil 更新啊,一直更新的 最近更新了 ide 体验 各种报错修复提示

    语言多没用 要有杀手应用。还要有配套的 ide 设施,而且安装不能复杂,而且要照顾 3 大平台,f#在三大平台 5 分钟可以准备好,ide 体验 ocaml 我一直放弃中。。。
    QingXuJiaZhi
    QingXuJiaZhi
    Mar 13, 2021 via Android
    20
    语言设计优秀的很多,但由于不火,第三方库太少,就会导致不好用。因此不火很难好用。
    treblex
    treblex
    Mar 13, 2021❤️3
    21
    Haxe 可以构建针对 JavaScript,C ++,C #,Java,JVM,Python,Lua,PHP,Flash 的跨平台应用程序,并允许访问每个平台的本机功能。Haxe 拥有自己的 VM ( HashLink 和 NekoVM ),但也可以在解释模式下运行。

    前身是基于 flash 的

    看起来挺牛批的,似乎用的人不多
    zhuangzhuang1988
    zhuangzhuang1988
    Mar 13, 2021 via Android
    22
    scala 有杀手级的 spark 外加后来的 idea 插件支持
    ruby 有杀手级的 rails 外加后来的 idea 家的 ide 支持
    simple2025
    simple2025
    Mar 13, 2021
    23
    @msg7086 欠缺有怎么样,golang 连个泛型都没有,国内大公司还不是用的飞起,慢就是原罪,

    golang 没泛型,没继承,整天 if err != nil, 但是 golang 是个好语言
    titan2006
    titan2006
    Mar 13, 2021 via iPhone
    24
    易语言 虽然跟 vb 差不多但汉语非常好懂
    GG668v26Fd55CP5W
    GG668v26Fd55CP5W
    Mar 13, 2021 via iPhone❤️1
    25
    最近在学 lua,整个解释器不到 200k
    yazinnnn
    yazinnnn
    Mar 13, 2021❤️1
    26
    流行的语言中,越像 lisp 的越不火,js 除外(
    PopRain
    PopRain
    Mar 13, 2021
    27
    C#, 不过也仅仅是国内无脑鄙视微软产品;国外用的应该不少,看看热度排名 java 的一半总有了
    lenbias34
    lenbias34
    Mar 13, 2021❤️1
    28
    Zig 感觉还不错. 超级低成本的 intercorp with C(可以在 zig 代码中直接使用 C header 文件); comptime 是一个设计亮点; 还有丰富的交叉编译; 可以编译出很小很小的二进制文件, 这一点国外有好多搞嵌入式开发的都从 Rust 转到 Zig
    whee1
    whee1
    Mar 13, 2021
    29
    erlang 算不算,最近還有了 jit 。
    zhuangzhuang1988
    zhuangzhuang1988
    Mar 13, 2021
    30
    @PopRain 还有做 游戏的 C#最好了
    ReferenceE
    ReferenceE
    Mar 13, 2021 via Android
    31
    C#,好用但是会失业
    quiet1991
    quiet1991
    Mar 13, 2021
    32
    感觉还沉浸在黑与白、好与坏的二元思想中。选择使用什么语言跟选择一样工具类似,比如扳手,螺丝刀,都要综合考虑,好用只是一个方面而已。
    Kasumi20
    Kasumi20
    Mar 13, 2021
    33
    Kotlin 啊,它应该取代 Java
    iwh718
    iwh718
    Mar 13, 2021 via iPhone
    34
    p er l
    neetrorschach
    neetrorschach
    Mar 13, 2021
    35
    @lightjiao 最近在开发一个 excel 插件,第一次接触 async/await 。为了异步调用 http 接口。虽然能照着写出功能来,但还不怎么明白。特别是一旦调用一个异步方法后本方法也需要变成异步。有些奇怪这个传递机制为什么这么设计。
    TangMonk
    TangMonk
    Mar 13, 2021 via iPhone
    36
    Ruby 不错,我一直用。但是最多只能做做小项目,大了不好招人也不好维护。
    namelosw
    namelosw
    Mar 13, 2021❤️2
    37
    Elixir, 开发效率约等于 Ruby.
    做网站并发大于 Java.
    上手比 Ruby 简单, 完全不像其他函数式语言难学得一批.
    还有跟 Rails 质量同级的框架, 写过 Rails/Django 的一天内培训完成, 第二天直接干活.
    surbomfla
    surbomfla
    Mar 13, 2021
    38
    @chenqh golang 的优点盖过缺点了.
    shijingshijing
    shijingshijing
    Mar 13, 2021
    39
    C#和 Visual Studio 的组合,真是可惜了一门好的语言+宇宙最强 IDE 。
    ourgoder
    ourgoder
    Mar 13, 2021
    40
    Pascal
    jiyinyiyong
    jiyinyiyong
    Mar 13, 2021
    41
    两个问题连在一起, 有点意识流...

    > 为什么主流编程语言来来回回就那么不到十几种,有很多还是衍生出来的,

    主流语言看起来那么多种, 因为榜单上统计出来放出来一般也就 10 种 50 种 凑个数,
    最终头部, 看看什么平台用什么语言, 大的平台就那么几个, 就倾向那么几种了.

    造编程语言的原因很多, 早年从没有编程语言, 当时写汇编, 听说很痛苦,
    当时造语言的原因就是想要更容易写, 像 Fortran 加控制结构, Lisp 按照 lambda calculs 做抽象之类的,
    貌似 C 语言出来以前工业就用着好多种了, 加上搞理论研究的那帮人动不动造很多的教学研究语言..
    然后研究加上工程经验积累下来这么多年, 各种功能排列组合也就多得要死了...

    知乎有人问过了 https://www.zhihu.com/question/20104312

    > 有什么好用但是不火的语言么?

    先看平台吧...

    我的话玩 ClojureScript, 玩 Nim, 然后打算挖一下 Haskell.
    cgpiao
    cgpiao
    Mar 13, 2021 via iPhone
    42
    ruby,kotlin
    stimw
    stimw
    Mar 13, 2021
    43
    可能因为一个语言生态发展到一定程度后,没有啥致命打击基本不会死,尽管这个语言设计本身在一众语言中不出类拔萃,奈何用的人太多了...
    love
    love
    Mar 13, 2021
    44
    ruby 当年大火时我学了,但从来没用过,因为这语言设计得有点随心所欲,不是我喜欢的风格,就弃了,后来的发展也证明了不行。

    C#就在一个公司用过半年,之前用过 java/php/python,设计中规中矩该有的都有,功能比 java 功能全但然并卵,实际用起来差距不大(我非常非常讨厌 C#编程风格,当然这是个人品味)。

    现在用 typescript,当前我最喜欢的语言(胜过前欢 python )

    至于函数式语言,尝试用几次,门槛太高,一开始感觉不到好处,没一次入门成功。
    ollyshit
    ollyshit
    Mar 13, 2021
    45
    C#这么火?他不是不能跨平台吗
    wanguorui123
    wanguorui123
    Mar 13, 2021
    46
    C#不火但好用也跨平台
    handuo
    handuo
    Mar 13, 2021 via Android
    47
    Clojure 国内用得不多吧
    yazoox
    yazoox
    Mar 13, 2021
    48
    @love 为什么说“函数式语言”门槛高?
    QingXuJiaZhi
    QingXuJiaZhi
    Mar 13, 2021
    49
    @yazoox 纯函数式学起来不算难(但有转换思维方式的阵痛期),写起来很爽,但回头看代码和维护、或看别人的代码时脑力负担比较大,好累啊。
    charlie21
    charlie21
    Mar 13, 2021
    50
    它一定是有重大缺陷才不火的。
    Marxism
    Marxism
    Mar 13, 2021
    51
    @lightjiao 这不是 js 里面的概念吗
    Leviathann
    Leviathann
    Mar 13, 2021
    52
    @Marxism C# 12 年就有了
    Jackeriss
    Jackeriss
    Mar 13, 2021 via Android
    53
    Python,还不够火(我老 py 吹了)
    Owenjia
    Owenjia
    Mar 14, 2021
    54
    好用不火 OCaml 算是一个吧,虽然过去多核一直是个问题……
    B4PLpPSsR4voMdx0
    B4PLpPSsR4voMdx0
    Mar 14, 2021
    55
    你看楼上就有在“吹”(中性)各种语言的了,想看他们打一架,比如 F#、C#、Haxe 等等。。。
    Wincer
    Wincer
    Mar 14, 2021
    56
    这必须是 elixir 啊
    irytu
    irytu
    Mar 14, 2021 via iPhone
    57
    Julia 算么
    Chancel
    Chancel
    Mar 14, 2021
    58
    @baobao1270 名字能分 6 成的锅,说实在的我觉得就是叫 TMD 都比 c#强
    levelworm
    levelworm
    Mar 14, 2021
    59
    我觉得是语言太多,不是太少。。。当然大家有兴趣创造自己的语言无可厚非。
    no1xsyzy
    no1xsyzy
    Mar 14, 2021
    60
    @chenqh golang 不是纯静态语言,其 interface{} 能够显著增强类型动态特性。
    同时,golang 性能也有问题,要觉得运行时性能重要,那应该都用 C/C++ 或者 Rust 。

    https://www.solidot.org/story?sid=67028
    > ( Discord )此前用 Go 语言开发了名为 Read States 的服务,但因为性能问题该服务难以满足产品需求,Go 实现的 Read States 每隔数分钟就会出现延迟飙升 …… Rust 实现的版本在没怎么优化的情况下性能就超过了优化过的 Go 实现版本。
    no1xsyzy
    no1xsyzy
    Mar 14, 2021❤️1
    61
    语言的流行是其应用的流行(正确的废话)
    C 的流行是 Unix 的流行
    JS 的流行是 Web 前后端分离的流行
    Ruby 的流行是 ROR 的流行
    Java 的流行是 Spring 的流行?

    唯有 Golang 的流行是因为 Google 当年还不错的风评。
    尤其刚被墙的时点国内总有一种 Google 领先一万年的想法(距离产生美)
    FightPig
    FightPig
    Mar 14, 2021
    62
    ruby 啊,看来大家都这么认为,不过我 rails 用了十几年了,做外包爽的一比,
    ManjusakaL
    ManjusakaL
    Mar 14, 2021
    63
    Elixir ?
    yzbythesea
    yzbythesea
    Mar 14, 2021
    64
    楼上强吹的什么 ruby,perl,elixir,clojure 我在生产环境都用过,一个月保准提桶跑路。有些代码 “好用” 不是数据性能层面的,更不是写个 hello world 然后自我感觉良好。
    HeapOverflow
    HeapOverflow
    Mar 14, 2021 via iPhone
    65
    Elm 和 mint

    想了解其他小众编程语言可以去 GitHub 的#programming-language 这个 tag 下看一看:
    https://github.com/topics/programming-language
    xuegy
    xuegy
    Mar 14, 2021
    66
    MATLAB
    我知道码农们都看不上这玩意,尤其是下标从 1 开始。但是讲道理大部分码农根本就写不出比它计算速度更快的东西。
    lightjiao
    lightjiao
    Mar 14, 2021 via iPhone
    67
    @Marxism
    async/await 这个封装最初的发明是 C#,不过很多语言和库都借鉴了这个设计
    lightjiao
    lightjiao
    Mar 14, 2021 via iPhone❤️1
    68
    @neetrorschach
    刚把一个很重要的相关概念翻译完,希望能对你有所帮助
    https://lightjiao.github.io/posts/020.csharp-configureawait/
    noreplay
    noreplay
    Mar 14, 2021 via Android
    69
    @no1xsyzy Java 不是因为 Android 火了一把吗?
    mikulch
    mikulch
    Mar 14, 2021 via iPhone
    70
    @love 你多大啦
    ryd994
    ryd994
    Mar 14, 2021 via Android
    71
    因为规模效益
    语言再好用,没有现成的库,什么都得自己写,那谈何好用呢?

    也有例外:汇编和 C
    因为他们不是因为好用才用得多,而是因为贴近硬件。用汇编和 C 的人要的就是什么都自己写,为了性能。
    pursuer
    pursuer
    Mar 14, 2021 via Android
    72
    @no1xsyzy
    golang 流行很大原因还有直接打包可执行文件,对使用端友好。虽然从模块化角度,我也不喜欢把所有东西塞进一个可执行文件的做法。
    janxin
    janxin
    Mar 14, 2021
    73
    说一个知道不是很多的,vlang,体积小编译快,官方自带 UI 、Web 和 ORM
    canyue7897
    canyue7897
    Mar 14, 2021 via iPhone
    74
    C 不算冷门吧。。。大学入门就是这玩意儿。。常年霸榜前二。。说第三就委屈了。。如果加上 C 衍生出来的 C 系。。妥妥第一
    knightdf
    knightdf
    Mar 14, 2021
    75
    lua
    araaaa
    araaaa
    Mar 14, 2021 via iPhone
    76
    scala
    ysicing
    ysicing
    Mar 14, 2021
    77
    scala 吧
    ByteRan
    ByteRan
    Mar 14, 2021
    78
    C#
    areless
    areless
    Mar 14, 2021
    79
    lua 看起来很冷门,但到处有 lua 写的脚本,luajit 效率很高,出来也早。openresty 的函数都是非堵塞的,特别特别好用。cdn 或者 waf 、API 网关常用的基本都是 lua 写的。ruby 只有 ROR 引领了敏捷开发,被各种其它语言模仿后就没优势了,ruby 的代码跟 lua 一样,看起来特别舒服。还有 coffeescript 也是非常好用,代码美观,却不火的语言,TS 后就彻底消声灭迹了
    lonenol
    lonenol
    Mar 14, 2021
    80
    站在工作的角度上来看:

    不火 == 生态不行 == 不好用
    ch2
    ch2
    Mar 14, 2021
    81
    没有库你用啥
    Adalwin
    Adalwin
    Mar 14, 2021❤️1
    82
    我来说一个

    Dart

    https://dart.dev/

    不喜欢的人肯定会说它的嵌套什么的,但是其实不知道这个嵌套其实是所有 UI 都存在的事情。还有自己的写法也有影响,

    我喜欢是因为它的 Inference 机制。

    你的所有代码可以像 JS 一样的去写,但是出于性能考虑,最好是像 Java 那样去写。

    还有很多很有意思的点,只有真正用的 /会用的人才会知道。

    太多人都是在那里唧唧歪歪而已。
    ak007
    ak007
    Mar 14, 2021
    83
    如果论解决问题,与及低成本开发,推荐:易语言。。。这语言部分场景切实好用,也切实不火。。。但真的很解决实际问题!
    Procumbens
    Procumbens
    Mar 14, 2021
    84
    这学期刚学了 Prolog,好不好用说不上,觉得还是很有趣的。不火是肯定不火,即使在 V2,绝大多数程序员估计也都没听说过这语言。
    这是一门逻辑式语言(logic programming),与过程式、面向对象、函数式语言的思想都不同。有兴趣的可以看看👀
    Chingim
    Chingim
    Mar 14, 2021
    85
    @yazoox 范畴论, 幺半群, 自函子, functor, monad, applicative 等等
    函数式编程需要懂的东西更多一点
    Lemeng
    Lemeng
    Mar 14, 2021
    86
    不过是有原因的。要么不好学,要么不好用
    xarthur
    xarthur
    Mar 14, 2021 via iPhone
    87
    @Chingim 其实我觉得这些东西是类型系统的魔法。如果学 lisp 系不知道也没什么关系(
    viruser
    viruser
    Mar 14, 2021
    88
    @ak007 易语言不火的原因我知道,语言开发停滞,社区混杂不堪,语法表现能力差,易语言能做的事情别的语言也能做,而且做的更好。
    mmdsun
    mmdsun
    Mar 14, 2021
    89
    好用但不火的语言 肯定是 C#和 F#了. 举几个现在主流语言的特

    现在的语言的 async , await,yield 等关键字
    扩展函数
    Linq 过滤语法
    包括现在火热的 Reactive 反应式编程, Reactive Extensions

    你会发现这些都是 C# 先有的....
    .NET 只是国内不火. 北美用这个比较多 , 现在开源 + 全平台支持. (web, android,ios linux ,watch 设备)
    zjsxwc
    zjsxwc
    Mar 14, 2021 via Android
    90
    好用但不火?
    好用必然会火,
    至少是在它那个领域是火的,或者还处于火的路上,

    那么我觉得只有 kotlin 了,比 java 与 c#好用!
    wolfan
    wolfan
    Mar 14, 2021 via Android
    92
    假设一下,未来你要开发的一个计时器,然后 A 用 a 语言,B 用 b 语言,C 亦之 c 。
    当你招 A 开发好了,A 离职,B 入职,那么 B 要么重写要么学 A,当 C 入职后 C 又怎么办?
    语言不在多在精在通。
    jinsongzhao
    jinsongzhao
    Mar 14, 2021 via Android
    93
    最终目的就是省时省力省代码,框架 /工具包 /安全性非常好的语言,要么非常流行要么总死不掉。
    xumng123
    xumng123
    Mar 14, 2021 via iPhone
    94
    c 和 c++
    neoblackcap
    neoblackcap
    Mar 14, 2021
    95
    @Owenjia OCaml 其实还算用得多,Jane Street,Facebook 不就用了
    tabris17
    tabris17
    Mar 14, 2021 via iPhone
    96
    强烈推荐 nim
    louishwh
    louishwh
    Mar 14, 2021 via iPhone
    97
    @hronro v 纯粹吹牛逼
    hronro
    hronro
    Mar 14, 2021
    98
    @Adalwin #82

    怎么会还有人吹 Dart ?

    你说的 Inference 机制是指 Type Inference ?这个稍微现代一点的语言都有啊?

    Dart VM 和 Dart EXE 在性能上和 JavaScript 差不多,但表达力上比 TypeScript/Kotlin 差远了,如果不是 Flutter 强行绑定 Dart,拉了 Dart 一把,估计现在 Dart 早凉透了
    tyrealgray
    tyrealgray
    Mar 14, 2021 via Android❤️1
    99
    @treblex haxe 没有好的 ide,我们公司前端项目用了几年,最后淘汰了换成 ts 了
    no1xsyzy
    no1xsyzy
    Mar 14, 2021
    100
    @noreplay 我忘记了 Android (不写 Java
    @pursuer 这是(语言的通用实现的)“特性”,我强调的是外部因素而非语言(或其通用实现)的因素更多。
    Racket 也能静态打包,因为运用了 ChezScheme 编译速度也是非常快的,然而与 Golang 热门程度差距巨大
    AppImage 更是使得任何语言都能单文件打包,但也未能有 Golang 相同的结果。
    而且这一说法解释不了国内外 Golang 热门程度差距。刚屏蔽 Google 那会一堆迷 Google 的(王垠也受到蕴染了 :doge:
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1478 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 210ms · UTC 06:19 · PVG 14:19 · LAX 22:19 · JFK 01:19
    ♥ Do have faith in what you're doing.