webspider hat geschrieben:Ich glaube der Problembär wäre mit C/C++/Java viel besser bedient, denn dort gilt solcher Code als annehmbar und läuft ganz gut.
Dankeschön! C/C++ und auch Java hab' ich mir natürlich auch schon mal angesehen. Alle drei sind natürlich mächtige Sprachen, die sich auch gut für große Programmierteams eignen. Gegenüber Python muß man aber sehr viel mehr Code schreiben, um dasselbe zu erreichen. Z.B. in C zu denken, ist auch sehr viel schwieriger und dauert (daher) länger. Python hat ja das Ziel, die Sache für den Programmierer besonders schnell und einfach zu machen.
Eine Alternative für mich wäre Perl, das hinsichtlich der dynamischen Datentypen (vor allem Listen) mit Python viel gemeinsam hat. Dort sind sehr viele Code-Konstrukte akzeptiert, das mag ich sehr, und die
Community ist sehr offen, hilfsbereit und nett.
Der Grund, warum ich mich doch für Python entschieden habe, ist, daß man bei Python nochmal weniger tippen muß: Python zeigt, daß man auf Klammern ({}) und Semikola am Zeilenende und sogar auf Sigils zur Unterscheidung der Datentypen verzichten kann (und dadurch den Code sogar auch noch sauberer und besser lesbar machen kann):
Perl:
Code: Alles auswählen
my @a = (1, 2, 3);
my $i;
foreach $i (@a) {
print "$i\n";
}
Python:
Das ist einfach ein enormer Vorteil *. Ich habe sogar mal in einem Perl-Forum vorgeschlagen, dies in der neuen Perl-Version "Perl 6" (an der schon seit 10 Jahren gearbeitet wird) von Python zu übernehmen, bin dabei aber in der sonst wie gesagt freundlichen Perl-Community auf erstaunlich große Ablehnung gestoßen. Weitere Vorteile von Python sind
hier dargestellt. Das ist überzeugend. Python ist technisch die bessere Sprache. Leider führt der Satz aus dem "Zen of Python"
There should be one-- and preferably only one --obvious way to do it.
offenbar zu einem gewissen starren
Dogmatismus. Wenn man hier ein wenig von der im Perl-Lager üblichen Toleranz übernehmen könnte, wäre viel gewonnen. Vielleicht stoße ich aber auch nur hier auf diese Schwierigkeiten. Ich denke, ich werde mich mal
hier umsehen.
Grüße vom Problembären
P.S.: Sorry für Off-Topic, aber das Thema selbst war ja schon gelöst.
* Wobei das "print()" mit den Klammern (Funktion) von Python 3.x natürlich kontraproduktiv und ein Schritt in die falsche Richtung ist (nämlich wieder mehr tippen zu müssen).