hallo cm100!
also zunächst mal zwei links:
http://www.python.org/community/users.html
ähnlich der:
http://pbf.strakt.com/success
ich glaube das ist ausgesprochen aufschlussreich, was du mit python machen kannst.
also ich bin da nicht ganz so bescheiden, wie dookie und hans. ich kann zwar noch nicht soviel programmieren wie die zwei, habe aber einen ziemlichen guten überblick über alle sprachen.
kenne auch einige programmierer, die viel mit anderen sprachen gemacht haben.
ich sehe es so, dass python durchaus das zeug hat die sprache #1 in den nächsten 5-10 jahren zu sein.
es ist halt fakt, dass in vielen bereichen gewisse sprachen sich schon etabliert haben und der prozess der ablöse ein langwieriger ist. aber er hat eigentlich in vielen bereichen begonnen. siehe perl vs python. viele linux und unix tools waren und sind noch immer in perl, aber besonders redhat und mandrake haben viel davon mit python ersetzt.
was macht python schlussendlich so gut?
überwiegend das design. eine kleine ausführung dazu:
durch die pflicht einzurücken entseht immer gut lesbarer code. gerade im oss bereich ein unschlagbares argument. man erkennt auf einen blick wo eine funktion etc. beginnt und wo sie aufhört.
ein vergleich zu ruby, ansich eine tolle sprache auch, aber:
bei ruby musst du immer mit end arbeiten.
also for.....end/ def.....end usw.
wenn der programmierer so nett ist bei einem langen programm einrückungen zu machen fein, wenn nicht, dann ordnest du zuerst mal einen tag lang die end zu.
hinzukommt, dass inkonsequenter weise kein beginn verlangt wird! wie bei manch anderen sprachen.
das klingt pedantisch, aber wenn du öfters code verschiedener sprachen vergleichst, wird dir sicher klar werden was solche kleinigkeiten im design ausmachen können.
genauso werte ich es als designfehler bei ruby, dass du bei der instanzierung eines objektes new verwenden musst (c = C.new) warum? wo war denn old?
das ist ein krauthaufen und kein design.
in python daher auch nur c=C
das desgin hat aber noch andere pluspunkte. in python schenkt man sich ; und {} (ich meine natürlich nicht dictionaries!)
von der logik her reicht es auch vollkommen zu schreiben:
ein doppelpunkt beendet den funktionskopf, der funktionskörper folgt. wer will da { am anfang und } am ende
gerade bei funktionen in denen mehrer verschiedene ebenen kommen ist das relevant. also es folgt in der funktion ein vergleich eine schleife oder sonstwas. da kommt freude auf, wenn es vor unnötigen zeichen nur so wimmelt
ich spreche hier auch aus erfahrung mit javascript. javascript mache ich nicht mehr. python schon, weil es auch aufgrund dieser genannten gründe spass macht, damit zu arbeiten.
mfg
rolgal