Links
Tags
apache
armenia
books
bsd
c
c++
chips
cinema
concurrency
cooking
database
dragonfly
erlang
filesystem
freebsd
fun
hardware
java
javascript
json
languages
linux
lyric
mac_osx
mail
math
misc
music
personal
poems
presentation
programming
python
references
ruby
rubyjs
scm
software
spiking_neural_net
study
sysadm
sysarch
technology
testing
travel
virtualization
web
wee
windows
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.