Ruby vs Python

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

Ruby vs Python

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


Similarities

  • They both are high level language.
  • They both are server side scripting language.
  • Both are used for web applications.
  • Both work on multiple platforms.
  • Both have clean syntax and are easily readable.
  • Both use an interactive prompt called irb.
  • Objects are strongly and dynamically typed.
  • Both use embedded doc tools.

Differences

Terms Ruby Python
Definition Ruby is an open source web application programming language. Python is a high level programming language.
Object Oriented Fully object oriented programming language. Not fully object oriented programming language.
Developer Yukihiro Matsumoto in 1990s. Guido Van Rossum in 1980s.
Developing Environment EclipseIDE is supported. multiple IDEs are supported.
Libraries It has smaller library than Python. Has larger range of libraries.
Mixins Mixins are used. Mixins can't be used.
Web frameworks Ruby on Rails Django
Community Mainly focused on web. Focussed in academia and Linux.
Usage Apple Github Twitter Groupon Shopify ThemeForest Google Instagram Mozilla Firefox The Washington post Yahoo Shopzilla
Built-in classes Built-in classes can be modified Built-in classes can't be modified
elseif elsif elif
Unset a variable Once a variable is set you can't unset it back . It will be present in the symbol table as long as it is in scope. del statement help you to delete a set variable.
yield keyword It will execute another function that has been passed as the final argument, then immediately resume. It returns execution to the scope outside the function's invocation. External code is responsible for resuming the function.
Anonymous functions Support blocks, procs and lambdas. Support only lambdas.
Functions Doesn't have functions. It has functions.
Tuples It doesn't support tuples. It support tuples.
switch/case statement It support switch/case statement. It doesn't support switch/case statement.
lambda function Its lambda functions are larger. It support only single line lambda function.
Inheritance Support single inheritance. Support multiple inheritance.