Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> when you can implement the vast majority of C++ features in native C

No, you absolutely cannot, even in principle. C++ is not "C with classes" and some syntactic sugar like it started out. That's not been the case for many years already.

Also, even the features you can implement - you won't; you don't have the person-years for that. You will have to, need to, use libraries. For those you need to compare the libraries available for C and for C++, and C comes up quite short (not just because C libraries are also usable in C++...)



So which feature can you not implement? The only I can think of which you'd have real problems are anonymous functions/lambdas. Most other features I think you can implement. It won't look the same, but it will serve the same purpose.


Things coming to mind:

Pointers which can't be NULL (aka. references)

Exceptions which also clean up intermediate frames (the exception itself can be done with longjmp, but no destructors which could be run)


Pointers that can't be null are usually implemented by struct embedding. That's typical for Linux kernel code, for example.


Destructors. It is the defining feature of the language; everything else in the language extends their reach. They are the key to full exercise of code paths, and thus reliable code.

A programmer who makes full use of destructors is simply a better programmer than one who doesn't.


"No, you absolutely cannot, even in principle."

Which is why it has been done for my 2D Second Life clone?

Some of us can very easily implement C++ stuff in native C.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: