12 Stimmen

Python oder Ruby für einen .NET-Entwickler?

Ich bin ein C# .NET-Entwickler und arbeite hauptsächlich an ASP.NET-Projekten.

Ich möchte eine neue Programmiersprache lernen,

  • meine Programmierkenntnisse zu verbessern, indem ich eine neue Sprache kennenlerne,
  • um etwas anderes als die Microsoft-Umgebung zu sehen,
  • und vielleicht auf eine andere Art zu denken.

Ich konzentriere mich auf zwei Sprachen, um mein Ziel zu erreichen. Python y Rubinrot .

  • Welche bieten Sie für mich an?
  • Welche Vor- und Nachteile haben sie füreinander?
  • Lohnt es sich, sie zu lernen?

EDIT : Tut mir leid, dass ich meinen Beitrag bearbeitet habe, aber hier nicht informiert habe,

Ruby on Rails wird durch Ruby ersetzt.

16voto

Mike Woodhouse Punkte 50241

Beide Sprachen sind leistungsstark und machen Spaß. Jede von ihnen wäre eine nützliche Ergänzung für Ihren Werkzeugkasten.

Python hat eine größere Gemeinschaft und wahrscheinlich eine ausgereiftere Dokumentation und Bibliotheken. Die Objektorientierung ist ein wenig inkonsistent und fühlt sich (für mich, IMHO) wie etwas an, das auf die Sprache aufgeschraubt wurde. Man kann das Verhalten von Klassen zur Laufzeit ändern (monkey-Parcheando), aber nicht für die vorkompilierten Klassen, und das ist allgemein verpönt.

Ruby unterscheidet sich vielleicht ein wenig von Ihren derzeitigen Erfahrungen: Es hat etwas von Smalltalk (Methodenaufrufe sind z. B. eher Nachrichtenübermittlung). Die Objektorientierung ist von Grund auf eingebaut, alle Klassen sind offen für Änderungen und es ist eine akzeptierte - wenn auch etwas beängstigende - Praxis. Die Gemeinschaft ist kleiner, die Bibliotheken sind weniger ausgereift und die Dokumentation ist weniger umfangreich.

Beide Sprachen werden in ihren nächsten Hauptversionen ein gewisses Maß an gebrochener Abwärtskompatibilität aufweisen, beide haben .Net-Implementierungen (IronPython ist produktiv, IronRuby auf dem Weg dahin). Beide haben Web-Frameworks, die ihre Stärken widerspiegeln (suchen Sie SO nach der Django/Rails-Debatte).

Wenn ich Ruby nie gesehen hätte, würde ich sehr gerne in Python arbeiten, und das habe ich auch getan, ohne zu leiden, wenn es nötig war. Ich habe mich immer dabei ertappt, dass ich mir wünschte, ich könnte die Arbeit in Ruby erledigen. Aber das ist meine Meinung, YMMV.

Edit: Wenn ich so darüber nachdenke, und auch wenn es mich schmerzt, wenn Sie versuchen, Ihr Wissen über das .Net-Framework zu nutzen, sind Sie vielleicht am besten dran, wenn Sie sich IronPython ansehen, da es ausgereifter ist als das Ruby-Äquivalent.

6voto

dwc Punkte 22998

Erstens: Schön, dass Sie Ihr Wissen erweitern wollen! Zweitens: Sie vergleichen eine Sprache (Python) mit einem Web-Framework (Ruby on Rails).

Ich denke, Ihre beste Option ist es, ein paar verschiedene Frameworks in beiden Python versuchen und Ruby, erledigen Sie in beiden die gleiche, relativ einfache Aufgabe, und wählen Sie erst dann aus, worüber Sie mehr erfahren möchten. Rails ist gut für Ruby, aber es ist nicht die einzige Software, die es gibt. Für Python mag ich Pylons und Django.

Pro und Kontra: Ruby ist von der Sprache her etwas sauberer als Python. Python hat eine viel größere Anzahl von Modulen.

Lohnt es sich, das zu lernen? Ja, sowohl für Python als auch für Ruby.

3voto

fuentesjr Punkte 48182

Wenn Sie Anfänger sind, empfehle ich Ihnen, Folgendes auszuprobieren Django wenn Sie mit dem Erlernen von Python beginnen möchten. Natürlich, wenn Sie Ruby ist Ihre Wahl der Geschmacksrichtung entscheiden, Schiene ist der offensichtliche Weg zu gehen. Welche Sprache Sie auch immer wählen, ich kann Ihnen versichern, dass es eine gute Wahl sein wird.

Meine persönliche Wahl ist jedoch Python. Ich mag die Sprache, ich mag die Gemeinschaft, und ich benutze Python für fast jede Gelegenheit. Ich verwende es für Kommandozeilenanwendungen, GUI-Anwendungen und für Webanwendungen (Django). Oh, und ich verwende es auch für Systemverwaltungsskripte unter Windows und Linux.

Abgesehen davon würde ich Ihnen auch empfehlen, eine Sprache wie Haskell oder Lisp zu lernen. Das wird Ihnen wirklich die Augen für eine neue Perspektive der Programmierung öffnen. Da du sagst, dass du dich mit dem .Net-Framework auskennst, würde ich dir außerdem empfehlen, mit F# zu beginnen, da du dann bereits mit den Bibliotheken vertraut bist und der Übergang viel reibungsloser vonstatten gehen wird. Wie auch immer, viel Glück.

2voto

jcrossley3 Punkte 11196

Es ist immer wertvoll, eine neue Programmiersprache zu lernen. Und sowohl Python als auch Ruby sind gut zu beherrschen. Es ist wichtig zu beachten, dass Python eine Sprache ist, Ruby on Rails hingegen ein Framework. IMHO sollten Sie Ruby lernen. antes de Sie lernen Rails.

Weiter Versuchen Sie Rubin! um zu sehen, ob es Ihnen gefällt. Wenn ja, dann versuchen Sie Rails. Andernfalls versuchen Sie Python. Beide sind ähnlich nützlich. Für mich macht Ruby mehr "Spaß". Wenn Sie Lisp mögen, werden Sie wahrscheinlich auch Ruby mögen. Wenn Sie C mögen, werden Sie vielleicht Python bevorzugen. Probieren Sie beide aus!

2voto

vava Punkte 23765

Als Faustregel gilt: Python, wenn Sie strenge Regeln mögen, und Ruby, wenn Sie sie hassen.

Und noch etwas: Wenn Sie JavaScript lieben - Ruby ist Ihre Wahl :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X