1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Ruby oder Python?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Tafkas, 19.07.08.

  1. Tafkas

    Tafkas Rheinischer Krummstiel

    Dabei seit:
    25.11.06
    Beiträge:
    381
    Nach jahrelanger Java-Entwicklung habe ich mir in jüngster Vergangenheit Python angeschaut und vieles lässt sich damit einfacher und schneller lösen.

    Ein Bekannter von mir schwört allerdings auf Ruby (inkl. Rails für Webanwendungen).

    Auch in Hinblick auf Cocoa-Entwicklung will mir das ganze mal genauer anschauen, da Objective-C wirklich sehr strange aussieht. Mit RubyCocoa und PyobjC sollte ja beides möglich sein.

    Was sind die Vorteile von Ruby bzw. Python? Was benutzt ihr?
     
  2. tfc

    tfc Ontario

    Dabei seit:
    21.07.07
    Beiträge:
    348
    Mit Python kann man schnellere Programme als mit Ruby hinbekommen, aber das liegt daran, dass sich dort mehr Leute mit dem Optimieren Mühe geben, als bei Ruby.

    Aber wer sich einmal an Ruby gewöhnt hat, "muss" darauf schwören, weil man damit extrem effizient und elegant programmieren kann. Wer sich Algorithmen in verschiedenen Sprachen implementiert im Vergleich anschaut, der wird merken, dass man mit Ruby extrem kurzen und knackigen Code schreiben kann. Es ist eine Sprache, die einfach nie im Weg steht.
     
  3. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Objective-C sieht nur strange aus, beißt aber nicht! :)

    Ich beschäftige mich momentan auch ein wenig mit Python, allerdings nicht um damit Cocoa Apps zu schreiben, da nehm ich dann doch lieber gleich Objective-C, sondern um diverse Shell Sachen damit bequemer als mit reinen Shellscripts in bash erledigen zu können. (zB. XML Parsing)

    In ChaosRadio Express 88 wurde hochinteressantes über Python und PyPy geplaudert.

    Das Beste ist wohl mal einfach in die entsprechenden Sprachen reinzuschauen und ein wenig Code zu lesen, oder das eine oder andere Tutorial zu machen. Die endgülte Auswahl triffst Du aber wohl am Besten auf Basis dessen was Du damit vorhast.
    Gruß Pepi
     
  4. Skeeve

    Skeeve Pomme d'or

    Dabei seit:
    26.10.05
    Beiträge:
    3.121
    Python oder Ruby? Ganz klar! Perl! ;) *flitz&weg*
     
  5. Tafkas

    Tafkas Rheinischer Krummstiel

    Dabei seit:
    25.11.06
    Beiträge:
    381
    War da nicht was mit “Perl: Write once – never understand again”
     
  6. Skeeve

    Skeeve Pomme d'or

    Dabei seit:
    26.10.05
    Beiträge:
    3.121
    Das ist in jeder Sprache so, wenn Du sie mißbrauchst.
     
  7. tfc

    tfc Ontario

    Dabei seit:
    21.07.07
    Beiträge:
    348
    Ruby wurde teils an Perl angelehnt. Dieser verruchte Charakter blitzt da manchmal etwas auf - wenn man den entsprechenden Code schreibt. Man kann aber auch sauberste Objektstrukturen aufbauen. Je nach dem...
     
  8. Tafkas

    Tafkas Rheinischer Krummstiel

    Dabei seit:
    25.11.06
    Beiträge:
    381
    Insgesamt finde ich es echt spannend wie schnell man mit den Skritpsprachen zu Ergebnissen kommt.

    Allerdings sind einige Sachen, für mich als alten Java-Hasen, sehr "ungewöhnlich"

    Java:
    Code:
    for (int i = 1000; i < 2001; i += 100) { foo }
    Ruby:
    Code:
    1000.step(2001, 100) { |i| foo}
    Ich habe mir außerdem gerade mal den Spaß gemacht und ein altes Java-Programm von mir nach Ruby portiert (quasi abgetippt).

    Beim Performance-Test kommt Java wesentlich besser bei weg.
    Java-Durchlauf: 1.393 Sekunden
    Ruby-Durchlauf: 45.436733 Sekunden
     
    #8 Tafkas, 20.07.08
    Zuletzt bearbeitet: 20.07.08
  9. Skeeve

    Skeeve Pomme d'or

    Dabei seit:
    26.10.05
    Beiträge:
    3.121
    Das wundert Dich aber nicht, oder?
     
  10. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Ich finde es erstaunlich, wie viele erfahrene Programmierer hier sind, die sich mit Ruby, Python, Java und Perl auskennen. Ohne diese Erfahrung würden sie ja sicherlich nicht dazu Beiträge verfassen, oder?

    Das,was da so seltsam aussieht, ist übrigens reine OOP einer Sprache, die mit Blöcken umgehen kann. Das ist nicht seltsam,sondern konsequent.
     
  11. tfc

    tfc Ontario

    Dabei seit:
    21.07.07
    Beiträge:
    348
    Genial an Ruby ist eben, dass _alles_ ein Objekt ist und man, wenn man es braucht, beispielsweise den Integer um eine Funktion "Quersumme" erweitern kann, welche man im Nächsten Statement einfach so benutzen kann.

    Das ist total elegant. Objektorientierung bis zum Schluss durchgezogen.
     
  12. Ubu

    Ubu Tydemans Early Worcester

    Dabei seit:
    29.07.07
    Beiträge:
    388
    Ich bin zwar kein Programmierexperte (eher Schul-Mäßig), aber ich habe kürzlich angefangen, Python zu lernen (neben Java und PHP) und hab' mir eigentlich ziemlich leicht getan. Alles ist relativ einfach strukturiert, es gibt wenige Schlüsselwörter - und wenn man Code lesen muss, hat Python den Vorteil, dass man immer perfekt strukturierten Code bekommt. Da ich hauptsächlich Graphen zeichne, verwende ich die sehr einfach zu bediende matplotlib - es entstehen wunderschöne Graphen in Rekordzeit.

    Und zum Programmieren selber empfehle ich Eclipse + das PyDev Plug-In. Der mitgelieferte Editor (IDLE) ist mir fast zu schwach, bzw. eignet sich mehr für die Anfänge.

    Von Ruby oder Perl habe ich leider keine Ahnung, daher kann ich keinen Vergleich anstellen.

    Edit: Das gilt aber eigentlich auch für Python: Everything is an Object.
    Aber den restlichen Teil deines Postes habe ich nicht ganz verstanden :(.
     
  13. Tafkas

    Tafkas Rheinischer Krummstiel

    Dabei seit:
    25.11.06
    Beiträge:
    381
    Als "IDE" habe ich jetzt für Ruby den Textmate inkl. Bundle genutzt. Bei Java bisher Eclipse und Python PyDev. Leider finde ich, dass PyDev nicht so schön ist wie Eclipse raw für Java.
     
  14. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Sozusagen eine self-obfuscating write-only language.
    Gruß Pepi
     
  15. Tafkas

    Tafkas Rheinischer Krummstiel

    Dabei seit:
    25.11.06
    Beiträge:
    381
    Mein lieber Herr Gesangsverein. Ich habe mir gerade mal Ruby 1.9 mittels MacRuby installiert.

    Das gleich Programm (von oben) ausgeführt:
    Python 2.5.2: 1000 rounds took 40 seconds
    Ruby 1.8.6: 1000 rounds took 45.302698 seconds
    Ruby 1.9.0: 1000 rounds took 5.438331 seconds
     

Diese Seite empfehlen