为什么没有一种令绝大部分程序员满意的编程语言?


Author: Kimmy

为什么没有一种令绝大部分程序员满意的编程语言?

知乎链接


因为所有编程语言都是Domain Specific的[1]。

这个Domain可大可小,小到该应用所承载的业务,大到整个团队的组成和公司的整体环境。就像我们本来可以通过非常简单的postgrest顺手搭一些直接映射DB Schema的RESTful API,但考虑团(zhao)队(bu)发(dao)展(ren),不得不走Spring包一遍。

所以,每个语言的存在就是为了满足特定的需求:可能是快速实现和验证一个新的编程语言的idea,你可以用Racket/Haskell;如果考虑只是要兼容团队智商稳定发展,那Java是完美的选项;如果是撸一个业务简单但追求高并发性能的后端服务,选Go就好了[2]。

而且你没有发现这些编程语言的团队和社区也是超这个角度靠拢的嘛。JCP一直在完善各种应用性的标准;Rust直接标榜自己是系统级编程语言;D语言也在尝试努力砍掉(至少是尽量少用)GC相关的东西,往高性能和系统开发靠拢。虽然因为能做所有的事情很重要,但没有一个杀手级的应用和场景,这种高大全的东西也没人赶乱用啊(你看看隔壁的wg21/C++)[3]。


  1. Kimmy's First Law of Programming Language
  2. 各种语言层出不穷,C++ 如何改变越来越萎缩的局面?
  3. 如何设计编程语言-Kim Leo

创建时间:2018-12-25 最近更新时间:2023-11-03