Розробники ядра часто є тими людьми, які відчувають себе щасливішими, коли з джерела відразу видно, що насправді робить код.
У C ++ є багато інших функцій, які приховують те, що код робить більше, ніж звичайний код C приховує це: перевантаження, віртуальні методи, шаблони, посилання, кидки ... C ++ також має набагато більше синтаксису, який ви повинні освоїти, щоб навіть зрозуміти C ++ код, використовуючи його.
Я думаю, що сила C ++ - це дуже потужний інструмент для створення бібліотек та фреймворків, які потім роблять розробку додатків одразу. Дуже часто розробник додатків C ++ повністю втрачається в заповнених шаблонами внутрішніх частинах бібліотеки, навіть коли він дуже компетентний у створенні програм за допомогою цієї бібліотеки. А написання права на бібліотеку C ++ є дуже складним завданням програмування, і це робиться лише для того, щоб забезпечити чудову основу на користь розробника додатків. Бібліотеки C ++ не є просто внутрішніми, вони є (або можуть бути ...) просто потужними, але простими з точки зору програмістів програми.
Але API ядра не може бути API C ++, він повинен бути мовно-агностичним API, тому більшість приємних речей у C ++ не можуть бути безпосередньо використані в цьому інтерфейсі. Крім того, ядро насправді не поділяється на "бібліотеку" та "додаток" частини, розроблені самостійно, з більшими зусиллями логічно збираючись в одній бібліотеці, щоб спростити створення маси додатків.
Крім того, безпека та стабільність є більш критичними всередині ядра, і віртуальні методи набагато більш динамічні, і тому їх набагато складніше виділити та перевірити, ніж звичайні зворотні виклики чи інші механізми, подібні С.
Коротше кажучи, хоча ви, звичайно, можете писати будь-яку програму C, включаючи ядро як C ++, більшість потужностей C ++ недостатньо використовується в ядрі. І багато хто стверджує, що засоби програмування повинні заважати вам робити те, чого не слід робити. C ++ не хотів.