Các nhà phát triển hạt nhân thường là loại người, những người cảm thấy hạnh phúc hơn, khi nó rõ ràng ngay lập tức từ nguồn, những gì mã thực sự làm.
C ++ có nhiều tính năng hơn, trong đó ẩn những gì mã làm nhiều hơn mã C đơn giản ẩn nó: quá tải, phương thức ảo, mẫu, tham chiếu, ném ... C ++ cũng có nhiều cú pháp hơn bạn phải nắm vững để thậm chí hiểu được C ++ mã sử dụng nó.
Tôi nghĩ rằng sức mạnh của C ++ là các công cụ rất mạnh để tạo ra các thư viện và khung công tác, sau đó làm cho việc phát triển ứng dụng trở nên nhanh chóng. Rất thường xuyên, nhà phát triển ứng dụng C ++ sẽ hoàn toàn bị mất trong các bộ phận chứa đầy mẫu của thư viện, ngay cả khi anh ta rất thành thạo trong việc tạo các ứng dụng sử dụng thư viện đó. Và viết đúng thư viện C ++ là một nhiệm vụ lập trình rất khó khăn và chỉ được thực hiện để cung cấp một khuôn khổ tuyệt vời cho lợi ích của nhà phát triển ứng dụng. Các thư viện C ++ không đơn giản trong nội bộ, chúng (hoặc có thể ...) chỉ mạnh mẽ nhưng đơn giản theo quan điểm của các lập trình viên ứng dụng.
Nhưng API kernel không thể là API C ++, nó phải là API không biết ngôn ngữ, vì vậy hầu hết những thứ hay ho trong C ++ sẽ không thể sử dụng trực tiếp trên giao diện đó. Hơn nữa, kernel không thực sự được chia thành các phần "thư viện" và "ứng dụng" được phát triển độc lập, với nhiều nỗ lực hơn để đi đến một thư viện, để tạo ra một khối ứng dụng dễ dàng.
Ngoài ra, bảo mật và tính ổn định là quan trọng hơn trong hạt nhân và các phương thức ảo năng động hơn nhiều và do đó khó phân tách và xác minh hơn nhiều so với các cuộc gọi lại đơn giản hoặc các cơ chế giống C khác.
Nói tóm lại, trong khi bạn tất nhiên có thể viết bất kỳ chương trình C nào bao gồm kernel là C ++, phần lớn sức mạnh của C ++ không được sử dụng tốt trong kernel. Và nhiều người sẽ tranh luận rằng các công cụ lập trình sẽ ngăn bạn làm những việc bạn không nên làm. C ++ thì không.