Ruby vs Python
There are many differences and similarities between Ruby and Python programming language.
- 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.
|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|
|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.|