- 主题:[转载]Linus Torvalds 称 C++ 是一种很烂的语言
屁股决定脑袋,Linus主要是针对kernel programming而言的。
C++的有些特性并不适合kernel programming,最明显的例子是exception,其次是vtbl这种码农不可控的东西。
OOP刚兴起的年代,C++能兼容C,能完成C能搞的大部分工作,还有OOP支持,流行是正常的。
C++设计为基本全兼容C,本就不是为了解决C的那些问题而生的(或者说只是为了解决用C搞OOP编码开发效率太低的问题)
--
修改:z16166 FROM 221.218.161.*
FROM 221.218.161.*
Rust的出现,可能证明这样的东西并不存在
Rust解决了c/cpp的一些不好的地方,但是搞起来麻烦,一样被喷。
【 在 allegro 的大作中提到: 】
: 我一直在等待有一位救世主的出现,会提出一套新的,简洁的,优美的模型,代替并拯救现在臃肿的C++。
: 现在的C++在我心中的形象就是“要你命3000”。
: .
--
FROM 221.218.161.*
clang不能编译linux kernel的原因,主要是因为kernel使用了gcc特有的extension。
还有assembler、linker的原因。
另外,clang不支持C的下面三种特性:
o Variable length arrays inside structures
o Nested Functions
o Explicit register variables
https://linuxembedded.fr/2019/08/my-first-linux-kernel-built-with-clang-compiler
【 在 lambdai 的大作中提到: 】
: c一样有很多在语言层面不可控的
: 不过操作系统这个圈子的还可以影响编译器圈,使得c的整体环境变得更加可控
: 否则的话,为什么clang很长时间内不能编译内核?你能说是clang没有实现c的规范吗?
: ...................
--
修改:z16166 FROM 123.115.161.*
FROM 123.115.161.*