C有什么替代品吗?

Mat*_*ner 11 c programming-languages

C++经常被吹捧为C的演变,但事实并非如此.为我正在寻找的那种语言画一个类比:

  • Perl,Python,Ruby,Groovy
  • C++,D
  • Java,C#
  • C,Fortran,Modula-2?,Pascal ?, Go ?, Rust?

任何提议或实现的语言是否适合与C相同(巨大)的利基,旨在作为替代方案,同时保持对操作系统,高性能,嵌入式和其他角色的所有适用性?

Chr*_*son 6

我认为这个问题和后续讨论的问题是很少有语言可以取代其他语言.当然,当你试图澄清和捍卫你的一些分组时,他们共享相似的功能集或完成类似的事情,但最终,我认为没有人会坐下来写一种旨在取代另一种语言的语言.更有可能的是语言设计者想要实现一个目标,并且会选择已经做到这一点的某些语言的各个方面.例如,看看Go它的设计目的是为了超高性能系统编程,可以说,与C竞争.但是,如果你看一下关于项目任务的常见问题解答,他们不会寻求替换C,而只是扩充它并解决它面临的问题(例如依赖管理来命名)(所以也许这就是你的答案)正在寻找.

事实上,无论某事物是否是其他东西的演变,完全取决于你从中检验和评估进化的视角.C++可以被认为是C的演变,因为它引入了一个新的特性集(OO编程),许多人认为它在系统设计中向前迈进了一步,同时仍然保留了与C代码类似的语法和兼容性.然而,它并不完全是一种进化,因为它也缺少一些使C成为当今语言的特性. 没有一种语言可以做任何事情(除了可能是Lisp ;-)我小孩,我小孩)并且永远不会.没有一种语言没有权衡.使Web开发变得简单的抽象是同样的抽象,使得低级系统开发变得不可能(或者过于困难).所以我真的认为很难说X是Y的演变.相反,我会说"我想做W而且我知道我可以使用语言X但是有一些东西可以更好地实现我的A,B和C目标?" 不幸的是,编程语言不是黑白的,不能像这样做出类似的陈述,就像你在编程中做出的每一个决定一样,它是关于权衡的.


sta*_*ker 5

下面的图片会比我写的更多:

图片

  • 最新的2500种语言http://www.levenez.com/lang/ (3认同)

Inc*_*ito 5

也许谷歌的Go语言将是.至少,这就是我期望Google的Go团队希望它会成为的.

  • Yeah Go似乎是我听到的最接近C后代的东西.唯一的疑问是它在嵌入式领域的作用. (2认同)
  • 我简直不敢相信自动内存管理的语言可以与C并排.事实上,我不相信."并排"我并不是指表现.我的意思是语义. (2认同)
  • @trinithis:好点,自动垃圾收集非常不喜欢 (2认同)