C++ ist eine statische, "general purpose", Objekt-Orientierte, typsichere Programmiersprache, die von Bjarne Stroustrup als Obermenge von C entwickelt wurde.
- C++ ist eine kompilierte Sprache, Ruby wird dynamisch interpretiert (siehe Scriptsprachen vs. kompilierende Sprachen für eine Diskussion der Vor- und Nachteile dieser Eigenschaften)
- C++ ist statisch aber schwach typisiert, Ruby ist dynamisch aber streng typisiert
- Beide Sprachen sind Objekt-Orientiert, wobei C++ auch rein prozedural benutzt werden kann. In Ruby ist die Objekt-Orientierung viel konsequenter umgesetzt, so ist alles ein Objekt, es gibt nur Methoden, und Objekte bekommen
- C++ erlaubt multiple Vererbung, Ruby besitzt nur einfache Vererbung (bietet jedoch den Mechanismus des Mix-Ins)
- C++ besitzt Zeigerarithmetik, Ruby hat nichtmal Zeiger
- C++ besitzt keinen eingebauten Garbage Collector, Ruby schon (Mark-and-Sweep Garbage Collector)
- C++ unterstützt kein Duck Typing, Ruby schon
- C++ bietet weitaus mehr Abstraktionsmöglichkeiten als C, jedoch nicht ganz so viel wie Ruby