Flasche Schlussfolgerung. Man kann anscheinend, der vorherrschenden Meinung einiger pythonista, auch sehr wohl in Python programmieren, bei dem Code entsteht der **nicht** pythonisch ist. Daher braucht man das Adjektiv anscheinend sehr wohl, um zu beschrieben ob der geschriebene Python code eben auch der Ideologie der pythonista folgt, die sich ja zum größten Teil dem Zen und PEP8 verschrieben haben und auch um python-like elegantere Konstrukte Wissen und nur diese dann anwenden (=Siehe unteres Beispiel).Leonidas hat geschrieben: Wenn nur Python pythonisch sein kann, dann braucht es das Adjektiv ja eigentlich gar nicht. Ist ja klar, dass Python pythonisch ist und C eben C-like, und Haskell meinetwegen haskellesk. Ich denke nicht dass man das Wort "pythonisch" nur auf Python begrenzen kann.
Die frage ist nur warum brauchen das viele "pythonista" und was genau verstehen die unter diesem Begriff?
Ich z.B. verstehe den Begriff so, das man sich (unter anderem) die eleganteren Mittel Python zu nutze machen sollte, anstatt gewohntes aus einer anderen Sprache in Python zu nutzen. Dazu gehört z.B. das folgende triviale Beispiel:
Code: Alles auswählen
In [28]: stack = ["eggs", "spam"]
In [29]: for elem in stack:
....: print elem
....:
....:
eggs
spam
In [30]: for idx in xrange(len(stack)):
....: print stack[idx]
....:
....:
eggs
spam
Das heißt für mich aber nicht, dass wenn $SPRACHE das gleiche Konstrukt bietet es automatisch "pythonisch" bzw. "$SPRACHE`isch" ist. In Ruby z.B. ist das alles andere als rubysch Das einzige was man sagen kann ist, $SPRACHE bietet für X die gleiche Syntax an, dadurch wird sie aber noch lange nicht "pythonisch".
Kannst du mir ungefähr folgen, worauf ich hinaus will?
Du näherst dich mir langsam aber stätig an. Was ist also die Schlussfolgerung aus deiner durchaus richtigen Aussage? ... Es ist immer ein Problem Begrifflichkeiten zur Wertung einer Sache(lage) zu benutzen, deren definierung nicht eindeutig ist. Das ist ein allgemeines Problem dessen wir Tagtäglich ausgesetzt sind.Leonidas hat geschrieben: Aber ich denke den Begriff "pythonisch" kann man eigentlich auch gar nicht objektiv sehen, weil er ja nicht objektiv ist. Man könnte ihn wohl mit "fits my mind" umschreiben.
Das Fachvokabular macht es da ein wenig einfacher, weil (hoffentlich) exakt definiert, dessen Definition in allen Köpfen des Fachs gleich ist/sein sollte. Aber auch auf Bezug dessen ist es leider in der Fachwelt nicht immer gewährleistet.
Als Beispiel könnte man nun meine obige definition von "pythonisch" betrachte oder auch deine usw. Ist sie den auch wirklich richtig? Bestimmt nicht da rein Subjektive und gebildet aus Meinungsaustausch mit anderen.
Das mang gut sein und ich glaube dir auch an dieser stelle, da ich mich mit jQuery noch nicht beschäftigt habeLeonidas hat geschrieben: Das geht sogar so weit, dass ich seitdem ich JQuerys Query-Syntax kenne, die von BeautifulSoup gar nicht mehr so genial finde wie früher. Daher würde ich jQuery als pythonischer einstufen als BeautifulSoup.
BTW: Ich finde und fand ehrlich gesagt BeautifulSoup alles andere als Pythonisch. Auch das es sich nicht an PEP8 hält was die Namensgebung anbelangt finde ich alles andere als schön. Aber, es ist relative einfach zu nutzen und fürs schnelle gut zu gebrauchen. In einer echten Anwendung würde ich BeautifulSoup aufgrund der Geschwindigkeit und des Speicherverbrauchs nicht mehr benutzen wollen. Dafür reicht IMO auch ein eigener geschriebener Scanner der ``re`` auf ein komfortables Minimum abstrahiert Und mit einigen Prüfungen kann man sehr leicht überprüfen ob die Seite noch der gleichen Syntax folgt Der mehrgewinn ist geringer Speicherverbrauch und eine "top" Geschwindigkeit. Der nachteil eben das sich nicht jeder mit RE's wohlfühlt.
Ja LCs oder GCs könne verschachtelt zu wirklich "hässlichen" code führen. Ist aber IMO nicht schlimmer als Lisp code zu lesen Editoren mit syntax highliting von klammern helfen da schon ungemein.Leonidas hat geschrieben: Was den ternären Operator angeht ist das natürlich auch schon so ein Problem, aber irgendwo habe ich eine LC mit zwei Zählindexen gepostet, die noch eine LC einbettet. Sie ist absolut unlesbar und vollständig unverständlich (auch für mich, ich habe sie aus Stückchen zusammengesetzt).
Jo, das klingt besser.Leonidas hat geschrieben: Gut, gut, ich ziehe den Begriff zurück und ersetze ihn gegen "ausreichendes". Ich denke, wenn man sich mal mit Leuten zusammensetzt die eine Ahnung haben, und sich mit dem Thema sagen wir mal einen Monat beschäftigt (muss auch gar nicht Vollzeit sein), dann würde ich sagen, reicht das um eine no-nonsense Meinung zu etwas abgeben zu können. Um mehr geht es doch erst einmal nicht. Wenn man feststellt, dass es unbrauchbar ist dann kann man Aufhören sich damit zu beschäftigen, wenn man aber feststellt dass es hilfreich ist, kann man weitermachen.