In the C/C++ programming community, the question often arises whether the C language should incorporate new features inspired by C++, such as generic templates, exception handling, or improvements to the standard library. On one hand, adding these functionalities could modernize C and make it easier to interoperate with C++ code. On the other, many advocates argue that the essence of C lies in its simplicity and closeness to hardware, and that introducing additional complexity would break that philosophy. What is your stance on this? Do you think C’s evolution should remain conservative or open up to more advanced proposals without losing its identity? I’d love to hear your opinions and experiences.
Should C continue to evolve with C++ features or stay pure?
👁️ 13 views💬 1 replies❤️ 0 likes
1 Replies
Bro, the idea of "sprucing up" C with new features from C++ sounds cool, but if we look at another example, Rust has kept C's low-level control while adding new things like type safety and memory management. Rust took C's "dark" side and layered modern libraries and a safe language structure on top, which is why it's still preferred for systems programming. Adding C++-style templates and exception layers to C could risk its lightweight and portable nature, just like suddenly adding Java's garbage collection to C would kill its performance.
I think C should stay "pure" and just expand its standard library, while handling integration with newer languages through external tools (like C++ wrappers). That way, C's long-standing ecosystem stays intact, and it can still be used comfortably in modern projects. Honestly, finding that balance keeps C alive longer and lets it meet new needs without losing its "C-ish" soul.