Python vs Ruby

There are many differences and similarities between Python and Ruby programming language.

Ruby is a dynamic, open source, object-oriented and reflective programming language. Ruby is considered similar to Perl and Smalltalk programming languages. It runs on all types of platforms like Windows, Mac OS and all versions of UNIX.
Python is a simple, easy to learn, powerful, high level and object-oriented programming language. It is an interpreted scripting language also. Guido Van Rossum is known as the founder of python programming.

Similarities:

  1. They both are high-level language.
  2. They both are a server-side scripting language.
  3. Both are used for web applications.
  4. Both work on multiple platforms.
  5. Both have clean syntax and are easily readable.
  6. Both use an interactive prompt called IRB.
  7. Objects are strongly and dynamically typed.
  8. Both use embedded doc tools.
  9. A GNU Debugger(gdb) style is available for each language.
  10. Both languages are supported by Emacs modes.

Differences:

Terms Python Ruby
Definition Python is a high level programming language. Ruby is a general purpose programming language.
Object Oriented Not fully object oriented programming language. Fully object oriented programming language.
Developing Environment multiple IDEs are supported. EclipseIDE is supported.
Mixins Mixins can’t be used. Mixins are used.
Web frameworks Django Ruby on Rails
Libraries Has larger range of libraries. It has smaller library than Python.
elseif elif elseif
Devlopers Created 1991 by Guido Van Rossum. Created 1995 by Yukihiro “Matz” Matsumoto.
Unset a variable It will be present in the symbol table as long as it is in scope. Once a variable is set you can’t unset it back.
Anonymous functions Support only lambdas. Support blocks, procs and lambdas.
lambda functions It support only single line lambda function. Its lambda functions are larger.
Functions It has functions. It Doesn’t have functions.
Community Focussed in academia and Linux. Mainly focused on web.
switch/case statement It doesn’t support switch/case statement. It support switch/case statement.
yield keyword It returns execution to the scope outside the function’s invocation. External code is responsible for resuming the function. It will execute another function that has been passed as the final argument, then immediately resume.
Built-in classes Built-in classes can’t be modified Built-in classes can be modified
Inheritance Support multiple inheritance. Support single inheritance.
Tuples It support tuples. It doesn’t support tuples.
Usage Google, Dropbox, Instagram, Mozilla, Yahoo, Venom, You Tubes Apple, GitHub, Twitter, Hulu, ZenDesk, Urban Dictionary
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.