Dmitry回帖:
我不仅看过源代码,而且还做过很多调试工作。我发现的问题大多数都与处理Windows上的路径(也就是字符串处理)有关。
他表示不再纠缠于“C与C++孰优孰劣”的讨论,而是介绍了一下自己的出发点:
“我的目的是使用Git。当有些功能无法使用时,我想能够在尽可能最短时间和花费最小的力气进行改正并贡献改正的代码。对我来说,这只是我主要工作的一种消遣而已。
而Git用C编写这一事实,对这一目的毫无好处。建议使用C++是现有C代码基础的唯一出路。所以,虽然C++可能从学术上来讲并非最佳选择,但是唯一切合实际的选择。
“除了其他已经尝试过了的政体之外,民主是政体的最差形式。”
——温斯顿 丘吉尔
现在,我认识到自己只是一个不太活跃的贡献者,但我希望自己的声音能够被人听到。而那些承担开发和维护Git主要重任的人也应该发出自己的声音。”
此后,Torvalds没有再发言,大概是认为自己已经大获全胜。而另外一些Git贡献者继续对Dmitry进行反驳,可以看出,Torvalds的看法并不是他的私见。Theodore Tso说:
“我认为字符串处理是C++会找来大麻烦的地方之一。糟糕的程序员(原文为idiot)会这样写代码:
a = b + "/share/" + c + serial_num;
|
其中你肯定无法弄清到底分配了多少内存,因为有类型强制转换、重载的操作符(感谢上帝,在C++中你可以重载逗号操作符!),而当这种东西出现在内循环中,结果将是性能上的大灾难,而且原因还不明显!”
另外还有同学讽刺,说的确有不少C++程序员贡献代码,但是反而需要核心的C程序员花费更多时间去修改和删除。 |