_dies_ist_kein_trolling_ Bitte nur einen Link auf irgendein Wiki oder so
Seit Ruby on Rails kann man ja wirklich drueber nachdenken *duck*. Kennt jemand vielleicht einen Link mit einer objektiven Einschaetzung der beiden Sprachen. Mir ist es irgendwie schon ein bisschen egal .. hauptsache ein paar java kollegen hier bei uns denken mal ueber den eigenen Tellerand
gruesse
michael
python vs. ruby (kein trolling)
-
- User
- Beiträge: 39
- Registriert: Donnerstag 9. Dezember 2004, 22:02
- Wohnort: Muenchen
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
django, TurboGears, pylonsmbieren hat geschrieben:Seit Ruby on Rails...
Das ist wohl wirklich kein Grund.
Ich persönlich mag die Syntax von ruby nicht. Bin zufrieden mit Python und hab damit meinen Spaß.
TUFKAB – the user formerly known as blackbird
-
- User
- Beiträge: 39
- Registriert: Donnerstag 9. Dezember 2004, 22:02
- Wohnort: Muenchen
Jetzt nur noch ne gute schnittstelle zur DB2
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
https://www6.software.ibm.com/dw/education/dm/db2pylnx/mbieren hat geschrieben:Jetzt nur noch ne gute schnittstelle zur DB2
TUFKAB – the user formerly known as blackbird
-
- User
- Beiträge: 670
- Registriert: Sonntag 15. Januar 2006, 18:42
- Wohnort: Celle
- Kontaktdaten:
Wobei letzterer Artikel nur mit developerworks-Login geht... Leider. Ich frag mal IBM ob man den freischalten kann, ich selbst hab nämlich so ein Login, aber ich kenne genügend Leute die keins haben.
--- Heiko.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Vielleicht hilft auch ein googlen weiter: http://www.google.de/search?q=db2pylnx
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Oh. Das hab ich jetzt gar nicht gesehen. Dürfte noch authentifiziert gewesen sein.modelnine hat geschrieben:Wobei letzterer Artikel nur mit developerworks-Login geht... Leider. Ich frag mal IBM ob man den freischalten kann, ich selbst hab nämlich so ein Login, aber ich kenne genügend Leute die keins haben.
TUFKAB – the user formerly known as blackbird
was gefällt dir denn nicht?blackbird hat geschrieben:Ich persönlich mag die Syntax von ruby nicht.
vielleicht kann man ja was verbessern
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Vielleicht kann man das. Aber vielleicht ist für mich python auch schon ideal und ich will gar nichts andersmurphy hat geschrieben:was gefällt dir denn nicht?blackbird hat geschrieben:Ich persönlich mag die Syntax von ruby nicht.
vielleicht kann man ja was verbessern
TUFKAB – the user formerly known as blackbird
Was mich persönlich an ruby stört, ist das es zu viele coole Konstrukte hat.
Wenn man mit Ruby anfängt und lernt die zu benutzen macht das unheimlich Spaß und man mag die Dinger (war bei mir jedenfalls so).
Aber wenn man ne Zeit lang nichts mit Ruby gemacht hat fällts einem wieder ein bisschen schwer zu verstehen, wie diese Dinger funktionieren. (Soll auch keine allgemeine Aussage sein, auch hier erzähle ich nur wies mir ging)
Bei Python habe ich derzeit noch am meisten das Gefühl, dass der Code ne Aussagekraft hat, ohne dass man sich viel mit Python beschäftigt haben muss.
Zugegeben, wer Python gar nicht kennt wird mit der Einrückung Probleme haben, aber schwerer zu lesen wird Code durch die Einrückung z.B. sicher nicht ,-) (Und ich perönlich habe inzwischen gelernt, diese Einrückungs-sache richtig zu mögen)
Wenn man mit Ruby anfängt und lernt die zu benutzen macht das unheimlich Spaß und man mag die Dinger (war bei mir jedenfalls so).
Aber wenn man ne Zeit lang nichts mit Ruby gemacht hat fällts einem wieder ein bisschen schwer zu verstehen, wie diese Dinger funktionieren. (Soll auch keine allgemeine Aussage sein, auch hier erzähle ich nur wies mir ging)
Bei Python habe ich derzeit noch am meisten das Gefühl, dass der Code ne Aussagekraft hat, ohne dass man sich viel mit Python beschäftigt haben muss.
Zugegeben, wer Python gar nicht kennt wird mit der Einrückung Probleme haben, aber schwerer zu lesen wird Code durch die Einrückung z.B. sicher nicht ,-) (Und ich perönlich habe inzwischen gelernt, diese Einrückungs-sache richtig zu mögen)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, das Gefühl kenne ich. WObei Python auch einige so Konstrukte hat wie die map()/filter()/reduce()-lambda Verbindungen oder List Comprehensions, die generischen Funktionen (noch nicht aber fast, siehe PJE) oder die tollen Dinge die noch in Planung sind.henning hat geschrieben:Was mich persönlich an ruby stört, ist das es zu viele coole Konstrukte hat.
Wenn man mit Ruby anfängt und lernt die zu benutzen macht das unheimlich Spaß und man mag die Dinger (war bei mir jedenfalls so).
Ich weiß nicht, aber wenn man als absoluter Anfänger ohne Programmiererfahrung einsteigt, hat man nicht mehr Probleme als mit den geschweiften Klammern oder den End-Marken. Ihr wollt gar nicht wissen, wie ich bei meinem Pascal-Einstieg die End-Marken gehasst habe.henning hat geschrieben:Zugegeben, wer Python gar nicht kennt wird mit der Einrückung Probleme haben, aber schwerer zu lesen wird Code durch die Einrückung z.B. sicher nicht ,-)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Joa. dann lass ich noch was über Ruby los, was ich nicht mag
1.) fehlende keyword args (nein, hash ist kein ausweg)
2.) end <-- da sind mir die einrückungen lieber
3.) fehlendes "self". Ist zwar sicher anfänglich ungewohnt, aber es ist explizit und pythonic. Ist mir lieber als das "@" gefummel
4.) fehlende dekoratoren
5.) { x| ... } konstrukte, find ich nicht so toll. liest sich wie lisp
1.) fehlende keyword args (nein, hash ist kein ausweg)
2.) end <-- da sind mir die einrückungen lieber
3.) fehlendes "self". Ist zwar sicher anfänglich ungewohnt, aber es ist explizit und pythonic. Ist mir lieber als das "@" gefummel
4.) fehlende dekoratoren
5.) { x| ... } konstrukte, find ich nicht so toll. liest sich wie lisp
TUFKAB – the user formerly known as blackbird
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Sowas gibts?!mbierenfeld hat geschrieben: Kennt jemand vielleicht einen Link mit einer objektiven Einschaetzung der beiden Sprachen.
Was genau meinst Du mit "keyword args"?blackbird hat geschrieben: 1.) fehlende keyword args (nein, hash ist kein ausweg)
Die Punkte 2, 3, und 5 deiner Kritik sind von dem Kaliber "ich mag Python nicht, weil ich da einrücken muss" Wegen solcher Argumente sollte man eine Sprache nicht ablehnen.
Finde nicht dass das wie Lisp aussieht, aber was ist so schlecht an Lisp?blackbird hat geschrieben: 5.) { x| ...} konstrukte, find ich nicht so toll, liest sich wie lisp
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
mawe hat geschrieben:Was genau meinst Du mit "keyword args"?blackbird hat geschrieben:1.) fehlende keyword args (nein, hash ist kein ausweg)
Code: Alles auswählen
def forward(distance=10, angle=90):
pass
forward(distance=30, angle=180)
Zuletzt geändert von Leonidas am Dienstag 11. April 2006, 09:45, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Naja, und wieso sollte das in Ruby nicht funktionieren?
Code: Alles auswählen
def gaga(a=2, b=3)
puts a, b
end
gaga()
gaga(a=12, b=122)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Keine Ahnung, vielleicht meinte blackbird ja doch etwas anderes.mawe hat geschrieben:Naja, und wieso sollte das in Ruby nicht funktionieren?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Das ist aber neu oder? Als ich das letzte mal danach gesucht hab wurde eine Lösung über hashses vorgeschlagen, sie alles andere als fein war.mawe hat geschrieben:Naja, und wieso sollte das in Ruby nicht funktionieren?Code: Alles auswählen
def gaga(a=2, b=3) puts a, b end gaga() gaga(a=12, b=122)
TUFKAB – the user formerly known as blackbird
warum nicht?blackbird hat geschrieben:1.) fehlende keyword args (nein, hash ist kein ausweg)
es stimmt, die funktionalität fehlt bisher und die diskussionen darüber, wie das in Ruby 2 aussehen soll, sind längst nicht beendet. allerdings benutzen Rails-entwickler den ganzen tag fröhlich keyword-argumente ohne probleme sieht dann so aus:
Code: Alles auswählen
start_form_tag :controller => '/entry', :action => 'search'
die vorteile von blockschlüsselworten haben offenbar für die entwickler praktisch jeder anderen sprache überwogen2.) end <-- da sind mir die einrückungen lieber
Django arbeitet sogar mit "endfor" und sowas, was mich letztens extrem erschreckt hat. Rails benutzt einfach embedded Ruby als template-sprache.
kann aber gut sein, dass ich was nicht verstanden hab- kenne Django nicht.
und ich hab mich so bemüht, diese self vs. @-sache zu begraben ^^3.) fehlendes "self". Ist zwar sicher anfänglich ungewohnt, aber es ist explizit und pythonic. Ist mir lieber als das "@" gefummel
was @-gefummel sein soll, kann ich jetzt aber nicht verstehen. bitte fakten
hätte ich neulich vielleicht gut verwenden können. sowas fehlt Ruby.4.) fehlende dekoratoren
wie smalltalk, meinst du sicher; da sieht es so aus:5.) { x| ... } konstrukte, find ich nicht so toll. liest sich wie lisp
Code: Alles auswählen
positiveAmounts := allAmounts select: [:amt | amt isPositive]
es gibt auch Python-leute, die Codeblöcke gern in Python hätten. und ich bin sicher, dass man das irgendwie in Python einbauen könnte. gibts dazu nicht ein PCP? why hatte darüber berichtet.
ich frage übrigends nach verbesserungsvorschlägen, weil die Python-community im prinzip die einzige ist, von der Rubyisten vorschläge akzeptieren ^^
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Der Nachteil ist eben, dass man "alle Argumente" übergeben muss. Ich kann nicht sagen, übergibt parameter 1-3 normal, parameter 4-9 auslassen, 11 und 13 übergeben wir als keyword arg.murphy hat geschrieben:warum nicht?blackbird hat geschrieben:1.) fehlende keyword args (nein, hash ist kein ausweg)
es stimmt, die funktionalität fehlt bisher und die diskussionen darüber, wie das in Ruby 2 aussehen soll, sind längst nicht beendet. allerdings benutzen Rails-entwickler den ganzen tag fröhlich keyword-argumente ohne probleme sieht dann so aus:gibt es einen anwendungsfall, der mit Ruby nicht ging? was hat dich gestört? vielleicht gibt es ja doch eine bessere lösung.Code: Alles auswählen
start_form_tag :controller => '/entry', :action => 'search'
1.) rails template sind nicht sandboxed, weswegen auch gerade die django templates eifrig nach rails portiert werden. (Liquid) 2.) hat die template engine nix mit der Sache zu tun. 3.) ist das ein persönlicher Punkt, warum _ich_ ruby nicht magdie vorteile von blockschlüsselworten haben offenbar für die entwickler praktisch jeder anderen sprache überwogen2.) end <-- da sind mir die einrückungen lieber
Django arbeitet sogar mit "endfor" und sowas, was mich letztens extrem erschreckt hat. Rails benutzt einfach embedded Ruby als template-sprache.
kann aber gut sein, dass ich was nicht verstanden hab- kenne Django nicht.
Die Diskussion hatten wir vor kurzem in #python.de. Hier mal ein kurzer Einwurf:und ich hab mich so bemüht, diese self vs. @-sache zu begraben ^^3.) fehlendes "self". Ist zwar sicher anfänglich ungewohnt, aber es ist explizit und pythonic. Ist mir lieber als das "@" gefummel
was @-gefummel sein soll, kann ich jetzt aber nicht verstehen. bitte fakten
Code: Alles auswählen
>>> class A(object): pass
...
>>> class B(object): pass
...
>>> def stub(self):
... print self
...
>>> A.test = stub
>>> B.test = A.test
>>> A().test()
<__main__.A object at 0xb7d2632c>
>>> B().test()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: unbound method stub() must be called with A instance as first argument (got nothing instead)
Meinst du das "with" statement? Wie auch immer. Es geht mir darum, dass die Syntax nicht leicht lesbar ist.wie smalltalk, meinst du sicher; da sieht es so aus:5.) { x| ... } konstrukte, find ich nicht so toll. liest sich wie lispdiese blöcke sind nach meinung vieler Ruby-geeks das beste feature der sprache. vielleicht schaust du sie dir nochmal genauer an.Code: Alles auswählen
positiveAmounts := allAmounts select: [:amt | amt isPositive]
es gibt auch Python-leute, die Codeblöcke gern in Python hätten. und ich bin sicher, dass man das irgendwie in Python einbauen könnte. gibts dazu nicht ein PCP? why hatte darüber berichtet.
Wie gesagt. Ich bin glücklich bei Python gelandet und sehr zufrieden damit. Und die Core Devs überraschen jedes Release mit tollen neuen Features und die PyPy Leute überraschen uns jede Woche mit neuer Geschwindigkeit (ok, nicht ganz so schnell, aber es wird). Was will man mehr
TUFKAB – the user formerly known as blackbird