Chris Castiglione Lehrer bei One Month. Fakultät an der Columbia University, wo ich digitale Kompetenz unterrichte. Ich schreibe über Codierung, Internet und soziale Auswirkungen.

Ruby vs. Python: Was ist der Unterschied?

4 min read

Welches ist besser Ruby oder Python?

Ich habe sowohl Ruby als auch Python in meiner Arbeit verwendet – und obwohl sie ähnlich sind, unterscheiden sie sich auch in einigen kritischen Punkten. Es ist eine beliebte, aber wichtige Frage. Lassen Sie mich den Unterschied zwischen Ruby und Python veranschaulichen.

Ruby vs. Python What's the Difference?
Ruby vs. Python Was ist der Unterschied?

Um die Bühne zu bereiten, lernte ich zuerst die Webentwicklung durch Python (und das Python-Framework namens Django). Nachdem ich vier Jahre lang Django-Apps erstellt hatte, bekam ich einen Job bei Ruby on Rails und erwartete, dass der Übergang unkompliziert sein würde. Da wurde mir klar, dass die beiden Sprachen und Frameworks sehr unterschiedlich sind und es nicht so einfach ist, von einer zur anderen zu springen.

Also … wie unterscheiden sie sich?

Die Sprache:

Das Ruby on Rails-Webframework wird mit der Programmiersprache Ruby erstellt, während das Django-Webframework mit der Programmiersprache Python erstellt wird.

Hier liegen viele der Unterschiede. Die beiden Sprachen sind sich optisch ähnlich, unterscheiden sich jedoch in ihren Lösungsansätzen um Welten.

Ruby wurde entwickelt, um für Programmierer unendlich flexibel und leistungsfähig zu sein. Damit kann Ruby on Rails viele kleine Tricks ausführen, um ein elegantes Webframework zu erstellen. Dies kann sich manchmal sogar magisch anfühlen, aber die Flexibilität kann auch einige Probleme verursachen. Die gleiche Magie, mit der Ruby funktioniert, wenn Sie dies nicht erwarten, kann es beispielsweise auch sehr schwierig machen, Fehler aufzuspüren, was zu stundenlangem Durchkämmen von Code führt.

Python verfolgt einen direkteren Ansatz für die Programmierung. Hauptziel ist es, alles für den Programmierer sichtbar zu machen. Dies opfert einen Teil der Eleganz, die Ruby besitzt, gibt Python jedoch einen großen Vorteil, wenn es darum geht, das Codieren zu lernen und Probleme effizient zu debuggen.

Ein gutes Beispiel, das den Unterschied zeigt, ist das Arbeiten mit der Zeit in Ihrer Anwendung. Stellen Sie sich vor, Sie möchten die Zeit einen Monat von dieser Sekunde an erhalten. So würden Sie das in beiden Sprachen machen:

Ruby
require ‚active_support/all‘
new_time = 1.month.from_now

Python
from datetime import datetime
from dateutil.relativedelta import relativedelta
new_time = datetime.now() + relativedelta(months=1)

Beachten Sie, dass Sie in Python bestimmte Funktionen aus den Bibliotheken datetime und dateutil importieren müssen. Es ist explizit, aber das ist großartig, weil Sie leicht erkennen können, woher alles kommt.

Mit der Ruby-Version verbirgt sich viel mehr hinter einem Vorhang. Wir importieren eine active_support-Bibliothek und plötzlich haben alle Ganzzahlen in Ruby diese Methoden „.days“ und „.from_now“. Es liest sich gut, aber es ist nicht klar, woher diese Funktionalität in active_support stammt. Außerdem ist die Idee, alle Ganzzahlen in der Sprache mit neuen Funktionen zu patchen, cool, kann aber auch Probleme verursachen.

Keiner der Ansätze ist richtig oder falsch; Sie betonen verschiedene Dinge. Ruby zeigt die Flexibilität der Sprache, während Python Direktheit und Lesbar

Web Frameworks

Django und Rails sind beide Frameworks, mit denen Sie Webanwendungen erstellen können. Sie haben eine ähnliche Leistung, da sowohl Ruby als auch Python Skriptsprachen sind. Jedes Framework bietet Ihnen alle Konzepte herkömmlicher MVC-Frameworks wie Modelle, Ansichten, Controller und Datenbankmigrationen.

Jedes Framework weist Unterschiede in der Implementierung dieser Funktionen auf, im Kern sind sie jedoch sehr ähnlich. Python und Ruby haben auch viele Bibliotheken, mit denen Sie auch Ihren Webanwendungen Funktionen hinzufügen können. Ruby hat ein Repository namens Rubygems und Python hat ein Repository namens Package In

Gemeinschaft

Python und Ruby haben beträchtliche Gemeinschaften hinter sich. Jede Community beeinflusst die Richtung der Sprache, Aktualisierungen und die Art und Weise, wie Software erstellt wird. Python hat jedoch eine viel breitere Community als Ruby. Es gibt eine Menge akademischer Anwendungsfälle sowohl in der Mathematik als auch in den Naturwissenschaften, in denen Python erfolgreich war, und es wächst aufgrund dieser Dynamik weiter. Python ist auch auf fast jedem Linux-Computer vorinstalliert, was es zur perfekten Sprache für die Verwendung auf Linux-Servern macht (auch bekannt als die beliebtesten Server der Welt).

Rubys Popularität begann mit dem Erscheinen von Rails im Jahr 2005. Die Community wuchs um Rails und hat sich seitdem unglaublich auf die Webentwicklung konzentriert. Es ist auch vielfältiger geworden, aber nicht annähernd so vielfältig wie Python.

Verwendungszweck

Wer benutzt diese Programmiersprachen? Sehr viele Unternehmen. Sowohl Ruby als auch Python sind in der Technologiewelt weit verbreitet.

Es gibt viele berühmte Websites, die mit Python erstellt wurden, darunter Google, Pinterest, Instagram, National Geographic, Mozilla Firefox und die Washington Post. Ebenso gibt es genauso viele Beispiele für Ruby on Rails-Websites. Bemerkenswerte Unternehmen, die Ruby on Rails verwenden, darunter Apple, Twitter, Airbnb, Shopify, Github und Groupon.

Soll ich zuerst Python oder Ruby lernen?

Ruby verzeichnete zwischen 2010 und 2016 einen Anstieg der Popularität, aber es scheint, dass die Branche in Richtung Python tendiert. Hier ist eine Möglichkeit, Ihnen bei der Entscheidung zu helfen: Wenn Sie bereits einen bestimmten Kunden, Job oder ein bestimmtes Projekt haben, für das Sie Ruby kennen müssen, lernen Sie Ruby. Wenn nicht, lernen Sie zuerst Python. Beachten Sie, dass es einen Unterschied zwischen Python 2 und Python 3 gibt. Wenn Sie mit dem Codieren noch nicht vertraut sind, empfehlen wir Ihnen, mit der neuesten Version zu beginnen – Python 3

Fazit: Ruby vs. Python?

Alles, was Sie in Ruby on Rails tun können, können Sie auch in Python und Django tun. Welcher Rahmen besser ist, ist keine Frage der Leistungsfähigkeit. Die bessere Frage könnte sein: Welche Sprache eignet sich besser für Sie oder Ihr Team?

Wenn Sie beim Erstellen von Webanwendungen bleiben möchten, sollten Sie Ruby on Rails priorisieren. Die Community ist gut und sie sind immer auf dem neuesten Stand. Wenn Sie an der Erstellung von Webanwendungen interessiert sind, aber eine Sprache lernen möchten, die allgemeiner anwendbar und mit der Datenanalyse besser vertraut ist, als ich Ihnen empfehlen würde, Python zu lernen.

RUBY PYTHON
SPRACHE
  • Magischer
  • Erstellt 1995 von Yukihiro Matsumoto
  • Direkter
  • Erstellt 1991 von Guido Van Rossum
PROS
  • Unzählige Funktionen für die Webentwicklung
  • Schnell neue Dinge annehmen
  • Sehr leicht zu lernen
  • Eine vielfältige Community mit großen Verbindungen zu Linux und Wissenschaft
CONS
  • Kann manchmal sehr schwer zu debuggen sein
  • Oft sehr explizit und unelegant zu lesen
WEB FRAMEWORKS
  • Ruby on Rails – 2005 von David Heinemeier Hansson gestartet
  • Django-Started im Jahr 2003 von Adrian Holovaty und Simon Willison
GEMEINSCHAFT
  • Innoviert schneller, führt aber dazu, dass mehr Dinge kaputt gehen
  • Sehr weborientiert
  • Sehr stabil und vielfältig, aber innovativer
  • In der Wissenschaft und unter Linux weit verbreitet
VERWENDUNGSZWECK
  • Apple
  • Twitter
  • Github
  • Airbnb
  • Github
  • Groupon
  • Shopify
  • Google
  • Pinterest
  • YouTube
  • Dropbox
  • National Geographic
  • The Washington Post

 

 

Learn to Code Comment Avatar
Chris Castiglione Lehrer bei One Month. Fakultät an der Columbia University, wo ich digitale Kompetenz unterrichte. Ich schreibe über Codierung, Internet und soziale Auswirkungen.