23. September, 2007
23. September, 2007
in by Michael Neumann

Every real programmer should definitively know C. It’s a nice (arguable), small, and for sure understandable language which runs on most if not all machines (or at least a cross-compiler exists). Great operating systems like Linux or BSD are written in C. Languages like Ruby or Python are written in C as well. So what about C++?

Well, C++ is a really big beast! It has a lot of features not found in C:

  • Strong(er) typing (I think C99 has this as well)
  • Classes and namespaces
  • Templates
  • Exceptions

But well, as I said, C++ is big, and I heard someone saying that there is not even one compiler around that implements every little detail of C++. Uh, if there is not even one compiler that fully supports C++, how can there be any one guy who understands every little detail of C++? Except Bjarne of course, the creator :).

While C++ has a lot of features, it misses something very important: A garbage collector! That’s an absolute MUST HAVE for any real application.

Another big annoyance in my opinion in C++ is that you usually split your classes into a header (.h) and an implementation file (.cc), which doesn’t help readability.

If you use CplusRuby you get everything that C++ can do, with plain C and Ruby, plus a garbage collector, and a lot of more features. In the next version, I’ll implement templates, which is something that I really need to improve performance. So stay tuned.