Similarities and Differences between Ruby and C++
There are many similarities between C++ and Ruby, some of them are: Just like C++, in Ruby…
- As in C++, public, private, and protected works similarly in Ruby also .
- Inheritance syntax is still only one character, but it’s < instead of : in Ruby.
- The way ‘namespace’ is used in C++, in the similar way we may put our code into “modules” in ruby.
- There are many similar operators found in Ruby as found in C++.
- Though the keyword names have been changed to protect the innocent, exceptions work in a similar manner.
Difference between Ruby and C++.
Sl. No. | Ruby | C++ |
---|---|---|
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. |
Please Login to comment...