[Python-de] Übersetzer gesucht

Diez B. Roggisch deets at web.de
Son Jan 15 17:32:19 CET 2006


> Warum wird dort eigentlich so viel umgeschmissen?
> Sollte man das alles, bei einer Programmiersprache, die auch im
> kommerziellen bzw. professionellen Gebrauch bestehen soll, nicht ein
> bisschen vorsichtiger sein?

Du verwechselst hier die  Einführung neuer Sprachfeatures und damit 
verbundener notwendiger innerer Strukturen mit der Entfernung von alten 
Zöpfen.

Python ist sehr abwärtskompatibel bei major releases. Es ist sehr 
selten, das alter Code bricht. Und für radikale Ideen gibt es Python3000.



> Irgendwie kommen mir die ganzen Ideen die dazu.. gepfriemelt will ich jetzt
> nicht sagen.. implementiert werden, bzw. den Gedanken möglichst viele
> Programmierparadigmen unterzubringen, ein wenig inkonsistent und nach
> ersten Anzeichen einer "Featureitis" vor? :o) Wenn du jetzt zudem auch
> sagst, mit nem Handbuch vll. eher auf die neue Version warten? Vll. erfährt
> man dann an der Arbeit daran, was in 2.6 wieder alles geändert werden soll?


> 
> Gibt es jemand, der mir dieses Gefühl austreiben kann? Noch bin ich ein
> Newbie, und noch schwanke ich zwischen Python und Ruby ;o)
> (welches nur beständig erweitert, aber nicht umgekrempelt wird, und
> konsequent objektorientiert arbeitet ohne Ausnahmen oder Hacks..)
> Will ja keinen Flamewar anzetteln, will nur das blöde Gefühl loswerden ;o)

Wo siehst du denn Hacks und inkonsistenzen? Nicht das es letztere 
bestimmt gibt, viele bemängeln ja das fehlen von Codeblöcken und 
anderem. Aber seid wann sind generator-expressions oder newstyle-classes 
Hacks? Das Gegenteil ist doch eher wahr: ohne sowas muss man  ggf. 
"drumrumcoden", bis hin zu den in JAVA allgegenwärtigen Codegeneratoren.

"Nee, decoratoren können wir nicht und brauchen wir nicht. Aber mit ein 
paar extra compilern, byte-code-injection & etwa 100 xml-files machen 
wir das eh viel besser!". Sicher.

Und wo ich immer _ganz_ hellhörig werde ist wenn jemand sowas wie
"konsequent OO" in den Mund nimmt. OO ist schön und gut, aber nicht die 
SilverBullet, die viele in einer relogiösen Verklärung darin sehen. Eine 
Sprache wie JAVA die einen darauf festlegt und dann sowas dämliches wie

class Predicate {
     public boolean apply(Whatever foo);
}

von einem verlangt, weil sie nicht in der lage ist mit Funktionen als 
Werten umzugehen... na danke.

Und was Ruby angeht, da gibt es auch bei nur oberflächlicher Betrachtung 
auch so einige Warzen:

http://www.martinfowler.com/bliki/HumaneInterface.html

ZB ist die string.join methode auf Arrays definiert. Das ist mir in den 
ersten zwei Minuten schon aufgestossen. Wie konsequent OO ist es denn, 
generische Containerklassen etwas über das zusammenkleistern von Strings 
beizubringen?

Nix gegen Ruby - und mehr als ein bisschen gespielt habe ich damit auch 
noch nicht. Aber der Weisheit letzter Schluiss ist das auch alles nicht.

MfG Diez