Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Python vs Ruby

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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

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 languages.
  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:

TermsPythonRuby
DefinitionPython is a high level programming language.Ruby is a general purpose programming language.
Object OrientedNot fully object oriented programming language.Fully object oriented programming language.
Developing Environmentmultiple IDEs are supported.EclipseIDE is supported.
MixinsMixins can’t be used.Mixins are used.
Web frameworksDjangoRuby on Rails
LibrariesHas larger range of libraries.It has smaller library than Python.
elseifelifelseif
DevelopersCreated 1991 by Guido Van Rossum.Created 1995 by Yukihiro “Matz” Matsumoto.
Unset a variableIt 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 functionsSupport only lambdas.Support blocks, procs and lambdas.
lambda functionsIt support only single line lambda function.Its lambda functions are larger.
FunctionsIt has functions.It Doesn’t have functions.
CommunityFocused in academia and Linux.Mainly focused on web.
switch/case statementIt doesn’t support switch/case statement.It support switch/case statement.
yield keywordIt 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 classesBuilt-in classes can’t be modifiedBuilt-in classes can be modified
InheritanceSupport multiple inheritance.Support single inheritance.
TuplesIt support tuples.It doesn’t support tuples.
UsageGoogle, Dropbox, Instagram, Mozilla, Yahoo, Venom, You TubesApple, GitHub, Twitter, Hulu, ZenDesk, Urban Dictionary

 

My Personal Notes arrow_drop_up
Last Updated : 02 Dec, 2021
Like Article
Save Article
Similar Reads
Related Tutorials