1. |
In Ruby, every variable is just an automatically dereferenced name for some object which means that there is no explicit references in Ruby. |
Unlike Ruby there is explicit references in C++. |
2. |
Yukihiro Matsumoto, also known as “Matz,” developed Ruby in Japan. |
Bjarne Stroustrup introduced C++ in 1979 at Bell Labs as an expansion of the C language. |
3. |
First release Ruby 1.0: December 25, 1996 |
First C++ release in October 1985 |
4. |
Objects are strongly but dynamically typed in Ruby. |
Objects are not strongly typed as that in Ruby. |
5. |
The “constructor” is called initialize instead of the class name. |
This is not the case in C++. |
6. |
Array and Hash are only two container types. |
There are many container types in C++. |
7. |
There’s no need of C++ templates. No casting either required. |
C++ templates are necessary here. Casting is there. |
8. |
It’s self instead of this. |
It is this instead of self. |
9. |
Iteration is done a bit differently. In Ruby, you don’t use a separate iterator object. Instead you use an iterator method of the container object that takes a block of code to which it passes successive elements. |
Vectors are required and used in C++ which makes the coding easy. |
10. |
lib, a unit testing, comes standard with Ruby. |
This is not available with C++. |
11. |
There’s no type conversions in Ruby. |
Type conversion is necessary in C++. |
12. |
There are some enforced case-conventions. |
No such case conventions are present in C++ which makes it easy. |
13. |
You can re-open a class anytime and also you can add more methods in Ruby. |
We cannot do this in C++. |
14. |
Some methods end in a ’?’ or a ’!’ in Ruby. It’s actually part of the method name. |
No such symbols are required at the end of methods in C++. |
15. |
All methods are always virtual in Ruby. |
Methods are not virtual in C++. |
16. |
Multithreading is built-in, but as of Ruby 1.8 they are “green threads” as opposed to native threads. |
Multithreading is not built-in in case of C++. |
17. |
Parentheses used for calling of method are usually optional in Ruby. |
Parentheses are required in C++ and it is necessary. |
18. |
You don’t directly access member variables—all access to public member variables is via methods. |
Member variables in C++ can be access directly. |
19. |
Ruby is mainly used to build web applications build servers and data processing, web scraping, and crawling. |
C++ is mainly used for Operating systems, Mobile applications, Web browsers, Healthcare and research computation, Telecommunications, Databases, Internet of Things (IoT) devices, Game development, Google search engine, etc. |
20. |
Ruby supports operating systems such as Linux, macOS, Solaris, and FreeBSD. |
C++ supports operating systems such as Apple OS X, Windows 95, 98, 2000, XP, Symbian OS, and BeOS. |