[阅读: 614] 2007-01-11 10:19:09
--C的缺点。。。。
# cloudwu 发表于2007-01-11 14:15:28 IP: 218.72.14.*
我现在每天都用 C (非 C++)写程序,觉得 C 有诸多不足,但是并不讨厌它。
其实单就低阶语言来说的话,C 语言也不完美。在作为实现其它语言的工具时(比如用来实现函数式语言,或是把 java 这样的语言写出的代码静态翻译成 C 等等),局限性很多。比如对堆栈的控制性太弱,在语言级无法准确的操控堆栈。这使得 gc (基于根扫描)的实现,尾调用的优化非常困难。
我最近读了篇 paper 很有共鸣。
http://www.hpl.hp.com/personal/Hans_Boehm/gc/
虽然现在我们在低阶开发上把 C 当万能药在用,但它毕竟不能包治百病。如果真要证明 C 语言已经不适用了,前面的文章的比较角度就错了。至于反驳,也不够理直气壮。
单说 gc , C 语言本身就不适合实现高性能的 gc 模块,寄托于未来有个天才写出一个 gc 库来是不现实的。那不会是一个 java 实现的那种 gc , 这是 C 语言本身的硬伤。
想用 C 库形式来实现性能足够的 closure 更是天方夜潭。
最后倒是 C++ ,颇让我觉得有种恨铁不成钢的感觉。高不成低不就,现在已经不大用了。