orossum hat geschrieben:Das erste was mir aufgefallen ist waren die kryptischen Fehlermeldungen. Wieso muss man sich bei Python bei jedem kleinen Syntaxfehler durch 5 Zeilen rote Schrift durchackern bis man endlich Fehlername und Zeilennummer hat?
Der Text ist erstens farblos, und zweitens ist das ein Traceback. Und der ist immens hilfreich, wenn man versucht herauszufinden wo der Fehler genau liegt. Und für den der nur die letzte Zeile sucht: sie ist ganz unten. Da ich meist in der Konsole arbeite, muss ich auch nicht scrollen, weil sie als letztes erscheint und daher sofort sichtbar ist.
orossum hat geschrieben:Was ist das für ein Wahnsinn mit Floating-Point-Berechnungen?
IEE 754, wie in so ziemlich jeder anderen Programmiersprache auch.
orossum hat geschrieben:Da Guido van Rossum, der von vielen Python-Nutzern als eine art Gott angesehen wird (wie man hier sicher weiß), ja bekanntlich Python "geschaffen" hat, ist er wohl auch derjenige, der sich mit dem Gültigkeitsbereich von Variablen ausernandergesetzt hat.
Nun, das System ansich ist meiner Meinung nach schon vollkommend fehlkonzipiert. (Variablen können von innerhalb von Funktionen ausgelesen aber nicht verändert werden, global, etc)
Das Scoping in Python ist nicht optimal (da hat Scheme einen etwas durchdachteren Ansatz), da stimme ich dir zu. Aber wenn du von Funktionen einfach irgendwelche Werte verändert, dann sehe ich sowas als schlechten Code mit Seiteneffekten an und vermeide sowas. Das führt zu schlecht nachvollziehbaren Code und sollte vermieden werden.
orossum hat geschrieben:Schon bei einer einfachen animation mit tkinter kommt man in Python nicht um Schmutzigen Code, global Statements und wiederholten Code herum.
Ich würde dich bitten ein Codebeispiel zu posten. Denn man kann hässlichen Code schreiben, aber man kann es auch lassen und guten Code schreiben. Vielleicht kann man ja dein schlechtes Beispiel zu einem guten umschreiben so dass du siehst dass man auch brauchbaren Code schreiben kann.
orossum hat geschrieben:Dann, als ich versucht habe innerhalb einer Funktion, welche wiederum von einer anderen Funktion aufgerufen wird, auf außerhalb definierte Variablen zuzugreifen, bin ich dann nach langem überlegen draufgekommen, dass ich aus irgendeinen unerfindlichen Grund nun alle Variablen mit global angeben muss um sie aufzurufen, warum auch immer.
Auch hier bitte: Beispielcode.
orossum hat geschrieben:Nun meine Frage: War das ganze ein schlechter Scherz von Guido?
Nein. Guido hat zwar viele Fehler gemacht, aber dennoch muss ich sagen dass die Sprache doch durchaus gelungen und brauchbar ist.
yashi hat geschrieben:ich beschäftige mich jetzt seit knapp 5h mit python und ich muss sagen, ich finde es richtig dass sowas nicht an unis unterrichtet wird... vom programmierer wird einfach zu wenig gefordert...das fängt schon im bei den variablen an...
Das hängt ab von welcher Seite du an die Programmierung rangehst. Wenn du Programmierung als Bitflipping ansiehst ja. Wenn du Programmierung als Algorithmen und Abstraktionen ansiehst, nein.
yashi hat geschrieben:Ich habe im studium mit C angefangen und was man da alles ggü. python beachten muss O.O holla ^^ und mir kam es vorher nie schlimm vor...aber man lernt dadurch halt was wirklich(mehr oder weniger) abgeht..
Würde ich nicht unbedingt sagen. Ich sehe ab und zu wie meine Kommilitonen keine Ahnung haben was ihr C-Code eigentlich macht. Und das obwohl sie vorher x86-Assembler gelernt haben. Zudem einem diese Low-Level-Sicht auch den Ausblick auf das ganze Verbergen kann. Wenn du von C kommst, wirst du wohl kaum die Eleganz funktionaler Sprachen verstehen und warum man damit trotzdem zum Ziel kommt.
yashi hat geschrieben:ansich gefällt mir die sprache aber ganz gut...soviel wie man in 5h davon sehen kann

was mir allerdings sauer aufstößt sind diese tabulatoren .... das geht imo garnicht das einrückungen einfluss auf den code haben :X
Erstens sind es spaces und zweitens: warum nicht. Ich rücke meinen Code immer ein, selbst wenn er andere Delimiter als die Einrückung hat. Dieses }}}}} oder ))))) oder end end end end end ist ja nicht sonderlich hübsch oder gar übersichtlich. Vielleicht solltest du dich damit etwas länger als 5h beschäftigen.
yashi hat geschrieben:was passiert wenn ich merke das ich um mein komplettes projekt noch eine schleife setzen muss? muss ich dann 100zeilen einrücken? xD
klar dem guten programmieren passiert sowas natürlich nicht

Hast schon recht, ich glaub ich habe kaum Funktionen die länger als 100 Zeilen sind. Normalerweise modularisiert man ja viel stärker.