为啥c语言(c++,java之类命令式的)始终那么流行,那么多年来始终是主流

为什么XX强的书那么坑,发行量都超千万?为什么vc++6.0那么难用,还有那么多初学者乐意跳坑?不管是面向对象还是过程还是函数式还是XXXX,这些语言存在的目的是为了提高生产力,你喜欢用什么就用什么好了。大一不要纠结这些细节,我学了这半天感觉还有n多门语言。。学太多也没用。。。精通一门其他的一样会一门最好,主流的语言你可以不喜欢但是要保证最起码看得懂,就好比不喜欢英语但是要会用一样。不欢迎和我进一步讨论,最近很忙。。谢谢。
■网友
人需要考虑的越少,机器需要考虑的越多,运行的速度越慢纯函数式语言本身过于抽象,虽然代码简洁,但是整理出这么一句代码的用时很长,并不会提高开发速度递归算法和使用的语言并没有任何关系,题主搞清楚概念
■网友
从底层往上看,在冯诺依曼架构的机器上,用以内存地址和寄存器为操作单位的单条指令组成程序是非常自然的事情。而如果你学过汇编,你就会发现,C语言是这个样子是非常自然的一件事情。它只是对汇编做了一些包装;就像汇编是对机器语言做了简单的包装一样(好吧还是有点不一样的,实现起来复杂得多,但的确很自然)。所以呢,你觉得不自然的地方,是因为你是从数学,从顶层往下看。那么看到的就会是像haskell,lisp这样直观的语言。如果从底层往上看,C语言也一样的直观。——————————————————————突然发现还没回答问题因为计算机是从底层而非上层开始发展的,虽然lisp很早就出现了,但当时的计算机性能并不足以让它有很好的表现,死扣每一点内存和时间的程序员们肯定更欣赏C这样的语言。C/C++与机器码的紧密联系让它们成为了超高性能要求领域直到现如今不可替代的语言。其中C的主要领域是操作系统和驱动,C++的主要领域是图像处理,3D渲染之类的。Java虽然经常被说慢,但那是在编译型语言里面。在所有语言里,java的性能能进第一梯队。而与此同时它有大量的工业级开源库可供使用,又与设计模式有着极其紧密的联系,使其成为大规模的应用中最合适的语言(不要看有些小的功能用别的语言写好像比java漂亮很多也快很多,到大规模高要求的时候,由于其稳定成熟的体系,java的开发速度同样很快)。以上三种语言,它们在各自领域内短期内是不可替代的(因为替代它们需要付出太高昂的成本)。
■网友
C语言坑,坑在它的内存管理,而不是坑在过程式;同样作为过程式语言的Python就非常简洁、易用


    推荐阅读