|
发表于 2009-10-19 13:33:08
|
显示全部楼层
现代计算机科学已经证明,一个图灵完备的语言能够实现任何已知的编程特性。
因此,不论是面向对象也好,范型也好,函数式编程也好,动态函数与动态对象也好,C都是可以实现的。关键问题在于:
1。是否能够以优雅的方式实现,并且导致优雅的,可读性高的,易于维护的代码?
2。是否能够使程序对于低水平少经验的程序员也容易操控?
这两点是很重要的,因为在常规的项目中你不可能维系一个稳定的,大量的资深程序员队伍,在绝大多数的软件项目中,一定会有新手存在,程序语言对于新手容易把握其实是很重要的。
C++的设计本意是为了取代C,但它实际上现在主要用于游戏编程。
Java设计的本意是为了跨平台,但它实际上现在主要用于服务器编程。
上面两者说明语言设计者可能是技术高手,但并不是市场的高手,它并不明白市场上最需要的是什么语言作用在什么领域。
回楼主一个:其实我认为C++的ABI问题才是阻碍C++流行的根本问题,是因为C的ABI相比C++而言太规矩太标准太容易使用,才能被最广泛的应用。而C++在这个问题上,输了大量的基础库的支持。
这是一篇讲述ABI问题的较浅显文章:
http://developers.sun.com/solari ... CC_abi_content.html |
|