Çekirdek geliştiricileri genellikle, kaynaktan hemen anlaşıldığı zaman, kodun gerçekte ne yaptığını daha mutlu hisseden insanlardır.
C ++, kodun düz C kodundan daha fazlasını gizlediğini gizleyen daha birçok özelliğe sahiptir: aşırı yükler, sanal yöntemler, şablonlar, referanslar, atar ... C ++, C ++ 'ı bile anlamak için ustalaşmanız gereken çok daha fazla sözdizimine sahiptir kodunu kullanarak.
C ++ 'ın gücü, daha sonra uygulama geliştirmeyi bir çırpıda yapan kütüphaneler ve çerçeveler oluşturmak için çok güçlü bir araç olduğunu düşünüyorum. Çoğu zaman C ++ uygulama geliştiricisi, o kütüphaneyi kullanarak uygulama oluşturma konusunda çok yetkin olsa bile, bir kütüphanenin şablonla dolu iç kısımlarında tamamen kaybolurdu. Ve bir C ++ kütüphanesi doğru yazmak çok zor bir programlama görevidir ve sadece uygulama geliştiricisinin yararına mükemmel bir çerçeve sağlamak için yapılır. C ++ kütüphaneleri dahili olarak basit değildir, uygulama programcıları açısından sadece güçlü ancak basittir (veya olabilirler).
Ancak çekirdek API bir C ++ API olamaz, bir dil agnostik API olmalıdır, bu yüzden C ++ 'daki güzel şeylerin çoğu doğrudan bu arayüzde kullanılamaz. Ayrıca, çekirdek gerçekten bir kütüphane uygulaması oluşturmayı kolaylaştırmak için mantıksal olarak bir kütüphaneye giderek daha fazla çaba ile bağımsız olarak geliştirilen "kütüphane" ve "uygulama" parçalarına bölünmemiştir.
Ayrıca, güvenlik ve kararlılık bir çekirdek içinde daha kritiktir ve sanal yöntemler düz geri çağrılardan veya diğer C-benzeri mekanizmalardan çok daha dinamiktir ve bu nedenle yalıtılması ve doğrulanması çok daha zordur.
Kısacası, elbette C ++ olarak bir çekirdek de dahil olmak üzere herhangi bir C programı yazarken, C ++ 'ın gücünün çoğu çekirdekte iyi kullanılmaz. Ve birçoğu, programlama araçlarının yapmamanız gereken şeyleri yapmanızı engellemesi gerektiğini savunuyor. C ++ olmaz.