Дык собственно сам Линус объясняет:evpo wrote:Как я понял, основная причина в том, что они мысленно "компилируют" Си код. Другими словами, они представляют какой ассемблер будет сгенерирован компилятором из написанного ими Си кода.berlagaB wrote: Шучу, шучу. Я сам очень уважаю и люблю С++. Но селяви такова какова и причины, почему кернелистны не слишком завязаны на С++, весьма убедительны. Хоть и не беспорны.
Из этого я делаю вывод, что знание Си подразумевает знание ассемблера порождаемого из Си кода. То есть, в объявлении можно писать C/assembler.
Я сам недавно оптимизировал мной написанный модуль на C++ и не мог продвинуться дальше пока не начал читать ассемблер.
"Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed:
- the whole C++ exception handling thing is fundamentally broken. It's
_especially_ broken for kernels.
- any compiler or language that likes to hide things like memory
allocations behind your back just isn't a good choice for a kernel.
- you can write object-oriented code (useful for filesystems etc) in C,
_without_ the crap that is C++."
Основное пожалуй exception handling