Seite 2 von 2

Verfasst: Donnerstag 18. Mai 2006, 19:18
von Clython
murphy hat geschrieben:mal umgekehrt:

gibt es denn in Ruby irgendwas, was ihr gerne in Python hättet?
erzähl mir keiner, Python wäre perfekt! ;)
Rubyonrails? Obwohl, alles was in einer der grossen Scriptsprachen als grossartig empfunden wird, wird früher oder später auch für die anderen Sprachen implementiert. Von daher dürft dieser Bedarf normalerweise auf Ruby, Perl und Python Seite früher oder später immer gedeckt werden...

Und sonst gibt es ja bald parrot :D

Verfasst: Donnerstag 18. Mai 2006, 19:35
von Leonidas
Clython hat geschrieben:Rubyonrails? Obwohl, alles was in einer der grossen Scriptsprachen als grossartig empfunden wird, wird früher oder später auch für die anderen Sprachen implementiert. Von daher dürft dieser Bedarf normalerweise auf Ruby, Perl und Python Seite früher oder später immer gedeckt werden...
Siehe Routes:
Routes homepage hat geschrieben:Routes is a Python re-implementation of the Rails routes system for mapping URL's to Controllers/Actions and generating URL's.[/url]

Aber Ruby on Rails gibt es schon für Python, in zig Spielarten: TurboGears, Pylons, Django plus zig mehr oder weniger gute Workalikes wie Webware, Web.py, Python Web Modules etc.

Was gut wäre, wenn mal endlich Frameworks eingestampft werden würden, es sind inzwischen viel zu viele.

Verfasst: Mittwoch 24. Mai 2006, 19:38
von murphy
wenn Rails schon erwähnt wird: man kann offenbar all die meta-tricks, die in Rails drinstecken, nicht einfach so nach Python portieren. insofern fehlt also in Python schon ein wenig Ruby-magie; ganz besonders über singleton-methoden, erweiterung von basisklassen und blöcke (anonyme methoden , lambdas, ...) wird ja viel geredet. mixins sind auch noch ein thema - RoR ist voll davon.

die frage ist, ob jemand schonmal bedarf dafür gesehen hat, außerhalb von Rails-klonen. dass manche dinge einfach nicht "pythonic" sind, ist mir klar - aber das heißt ja nicht, dass man sie nicht nützlich sein können.

Verfasst: Mittwoch 24. Mai 2006, 20:03
von Leonidas
murphy hat geschrieben:insofern fehlt also in Python schon ein wenig Ruby-magie;
Das auch mit Absicht, denn Python ist eine Sprache die eher auf Magic verzichtet. So sieht es auch in den Projekten aus: Django beispielsweise hat gerade seine Magic entfernt und die Leute haben sich sehr darüber gefreut.
murphy hat geschrieben:ganz besonders über singleton-methoden,
Es gibt Singleton-Klassen.. ähm, ich meine Borg-Klassen.
murphy hat geschrieben:erweiterung von basisklassen
Dies war vor einiger Zeit (Python 2.1 oder so, also eigentlich vor langer Zeit) über einen Hack möglich, jedoch wurde dieser Hack dann entfernt. Es hätte scheinbar nicht dem Konzept entsprochen, wenn Programme ihre Basisklassen erweitern. So importiert man eine Lib, diese erweitert eine Basisklasse, man importirt noch eine, diese überschreibt die Erweiterung mit einenen Methoden und kabumm ;) Nicht dass ich es nicht schon versucht hätte, das zu machen, letztendlich verstehe ich die Entscheidung der Python-Entwickler.
murphy hat geschrieben:und blöcke (anonyme methoden , lambdas, ...) wird ja viel geredet.
Ja, in Python 3000 sollte lambda abgeschafft werden. Nur ist keinem bis jetzt etwas besseres eingefallen, also wird es warscheinlich dabei bleiben. Ich nutze lambdas eigentlich nie, schon eher genistete Funktionen, obwohl ich die den Code ziemlich verworren machen. Jedoch will Python auch funktionalen Programmiersprachen entgegenkommen, zumindest soweit vertretbar.
murphy hat geschrieben:mixins sind auch noch ein thema - RoR ist voll davon.
Mixins - here we go :)
murphy hat geschrieben:die frage ist, ob jemand schonmal bedarf dafür gesehen hat, außerhalb von Rails-klonen.
Also ich nicht. Klar, es sind ganz lustige Features, aber ich kann bis jetzt auch gut ohne auskommen. Wenn man die aber gescheit implementiert, wer weiß. Inzwischen sind List Comprehensions auch schon Features geworden, die zwar nicht notwendig sind, aber doch Spaß machen und die ich gerne nutze.
murphy hat geschrieben:dass manche dinge einfach nicht "pythonic" sind, ist mir klar - aber das heißt ja nicht, dass man sie nicht nützlich sein können.
Ja. Jedoch muss man sich bei jeder Änderung an Python klar sein, dass jedes zusätzliche Feature den Python-Code komplizierter machen kann. Deswegen werden nur Features eingebaut, die wirklich, wirklich sinnvoll und durchdacht sind (okay meistens, nicht immer).