Pengembang kernel seringkali adalah tipe orang, yang merasa lebih bahagia, ketika langsung terbukti dari sumbernya, apa yang sebenarnya dilakukan oleh kode.
C ++ memiliki lebih banyak fitur, yang menyembunyikan apa yang kode lakukan lebih dari sekadar kode C menyembunyikannya: overload, metode virtual, templat, referensi, lemparan ... C ++ juga memiliki lebih banyak sintaks yang harus Anda kuasai untuk bahkan memahami C ++ kode menggunakannya.
Saya pikir kekuatan C ++ adalah alat yang sangat kuat untuk membuat perpustakaan dan kerangka kerja, yang kemudian membuat pengembangan aplikasi menjadi mudah. Sangat sering pengembang aplikasi C ++ akan benar-benar hilang dalam jeroan template yang dipenuhi perpustakaan, bahkan ketika ia sangat kompeten dalam membuat aplikasi menggunakan perpustakaan itu. Dan menulis hak pustaka C ++ adalah tugas pemrograman yang sangat menantang, dan hanya dilakukan untuk memberikan kerangka kerja yang bagus untuk kepentingan pengembang aplikasi. Pustaka C ++ tidak secara internal sederhana, mereka (atau dapat ...) hanya kuat namun sederhana dari sudut pandang pemrogram aplikasi.
Tetapi kernel API tidak bisa menjadi C ++ API, itu harus API agnostik bahasa, jadi sebagian besar hal-hal baik di C ++ tidak akan langsung dapat digunakan di antarmuka itu. Selain itu, kernel tidak benar-benar dibagi menjadi bagian "perpustakaan" dan "aplikasi" yang dikembangkan secara independen, dengan lebih banyak upaya secara logis pergi ke satu perpustakaan, untuk membuat pembuatan aplikasi yang mudah.
Selain itu, keamanan dan stabilitas lebih penting di dalam kernel, dan metode virtual jauh lebih dinamis dan karenanya lebih sulit untuk mengisolasi dan memverifikasi, daripada panggilan balik biasa atau mekanisme C-seperti lainnya.
Singkatnya, walaupun Anda tentu saja dapat menulis program C apa pun termasuk kernel sebagai C ++, sebagian besar kekuatan C ++ tidak digunakan dengan baik di kernel. Dan banyak yang berpendapat, bahwa alat pemrograman seharusnya mencegah Anda melakukan hal-hal yang seharusnya tidak Anda lakukan. C ++ tidak mau.