Python vs. PHP vs. Ruby

  • 3.4K
  • 22.2K
  • 1.15M
  • 614
  • 11.4K
  • 1.28M
  • 2.63K
  • 3.19K
  • 204K

What is Python?

Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.

What is PHP?

Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

What is Ruby?

Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.
Why do developers choose Python?
Why do you like Python?

Why do developers choose PHP?
Why do you like PHP?

Why do developers choose Ruby?
Why do you like Ruby?

What are the cons of using Python?
Downsides of Python?

What are the cons of using PHP?
Downsides of PHP?

What are the cons of using Ruby?
Downsides of Ruby?

Want advice about which of these to choose?Ask the StackShare community!

What companies use Python?
3497 companies on StackShare use Python
What companies use PHP?
10493 companies on StackShare use PHP
What companies use Ruby?
3014 companies on StackShare use Ruby
What tools integrate with Python?
91 tools on StackShare integrate with Python
What tools integrate with PHP?
58 tools on StackShare integrate with PHP
What tools integrate with Ruby?
77 tools on StackShare integrate with Ruby

What are some alternatives to Python, PHP, and Ruby?

  • JavaScript - Lightweight, interpreted, object-oriented language with first-class functions
  • HTML5 - 5th major revision of the core language of the World Wide Web
  • Java - A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
  • ES6 - The next version of JavaScript

See all alternatives to Python

Python 3.8.0a3 is now available for testing
Python 3.7.3 is now available
Python 3.4.10 is now available
PHP 7.1.28 Released
PHP 7.3.4 Released
PHP 7.1.27 Released
Ruby Repository Moved to Git from Subversion
Ruby 2.6.3 Released
Ruby 2.4.6 Released
Related Stack Decisions
Marc Bollinger
Marc Bollinger
Infra & Data Eng Manager at Lumosity · | 3 upvotes · 4794 views
atLumosity
Pulsar
Redis
Heron
Storm
Scala
Kafka
Ruby
Node.js

Lumosity is home to the world's largest cognitive training database, a responsibility we take seriously. For most of the company's history, our analysis of user behavior and training data has been powered by an event stream--first a simple Node.js pub/sub app, then a heavyweight Ruby app with stronger durability. Both supported decent throughput and latency, but they lacked some major features supported by existing open-source alternatives: replaying existing messages (also lacking in most message queue-based solutions), scaling out many different readers for the same stream, the ability to leverage existing solutions for reading and writing, and possibly most importantly: the ability to hire someone externally who already had expertise.

We ultimately migrated to Kafka in early- to mid-2016, citing both industry trends in companies we'd talked to with similar durability and throughput needs, the extremely strong documentation and community. We pored over Kyle Kingsbury's Jepsen post (https://aphyr.com/posts/293-jepsen-Kafka), as well as Jay Kreps' follow-up (http://blog.empathybox.com/post/62279088548/a-few-notes-on-kafka-and-jepsen), talked at length with Confluent folks and community members, and still wound up running parallel systems for quite a long time, but ultimately, we've been very, very happy. Understanding the internals and proper levers takes some commitment, but it's taken very little maintenance once configured. Since then, the Confluent Platform community has grown and grown; we've gone from doing most development using custom Scala consumers and producers to being 60/40 Kafka Streams/Connects.

We originally looked into Storm / Heron , and we'd moved on from Redis pub/sub. Heron looks great, but we already had a programming model across services that was more akin to consuming a message consumers than required a topology of bolts, etc. Heron also had just come out while we were starting to migrate things, and the community momentum and direction of Kafka felt more substantial than the older Storm. If we were to start the process over again today, we might check out Pulsar , although the ecosystem is much younger.

To find out more, read our 2017 engineering blog post about the migration!

See more


Interest Over Time