• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Ruby oder Python?

Tafkas

Rheinischer Krummstiel
Registriert
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?
 

tfc

Ontario
Registriert
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.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
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
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Python oder Ruby? Ganz klar! Perl! ;) *flitz&weg*
 

tfc

Ontario
Registriert
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...
 

Tafkas

Rheinischer Krummstiel
Registriert
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
 
Zuletzt bearbeitet:

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
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.
 

tfc

Ontario
Registriert
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.
 

Ubu

Tydemans Early Worcester
Registriert
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 :(.
 

Tafkas

Rheinischer Krummstiel
Registriert
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.
 

Tafkas

Rheinischer Krummstiel
Registriert
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