主题:庆祝Python跃居世界第四程序语言 -- 空格
共:💬100 🌺284
复 取决于工作领域
C++想兼顾性能和语法的简洁,结果搞出难学习、难实现、易出错的语法标准。
比如说重载。这玩意就为了程序员看起来方便,引入了极其复杂的name mangling机制,这一隐式转换的过程又没有被标准化,弄得各个编译器编译出来的东西互不兼容,C++的库也没有办法向后兼容到C,结果又必须引入export关键字。它看起来使程序员做的事情少了,实际上为了理解到底调用了哪个重载函数他们必须花费更多的时间,也增加了出问题的可能。其实这一过程应当能显式地控制,用类似C1X里面的type-generic macros,把重载的表显式地写在程序里面。
更不要说模板了。这玩意一引入,哪个地方写错一个字符,哗啦哗啦好几页的出错信息。C++标准里面也没有对模板调试的内容,弄得IDE也处理不了,编译器出来的东西也没法读。
光讨论设计上怎么自洽,怎么简洁,不考虑如何去实现它,也不考虑他的客户也就是广大程序员会怎么用,这是设计者的失败
- 相关回复 上下关系8
压缩 3 层
🙂但是混合语言编程有些挑战了 1 python 字32 2011-03-09 23:41:23
🙂C++的复杂度并不是由于VC/MFC的关系吧 江城如画里 字543 2011-03-07 19:03:07
🙂我倒觉得Java和C#出来的没一个不是垃圾 类反词典 字86 2011-03-07 20:24:33
🙂C++过度设计了
🙂说点不同意见 1 透明 字454 2011-03-07 23:51:22
🙂C++的重载可以做到这个吗 sunsol 字39 2011-03-12 02:06:44
🙂可以 透明 字642 2011-03-12 02:34:49
🙂我也并非完全反对重载 10 gcc296 字2012 2011-03-08 07:52:45