Python als Skill - Mangelware in Deutschland?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

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.
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).

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
[29] würde ich hier als "pythonisch" bezeichnen, da es nicht erforderlich ist wie z.B. in C mit Indexen auf array zu hantieren.

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?
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.
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.

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.
Leonidas 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.
Das mang gut sein und ich glaube dir auch an dieser stelle, da ich mich mit jQuery noch nicht beschäftigt habe :)
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.
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).
Ja LCs oder GCs könne verschachtelt zu wirklich "hässlichen" code führen. Ist aber IMO nicht schlimmer als Lisp code zu lesen :D Editoren mit syntax highliting von klammern helfen da schon ungemein.
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.
Jo, das klingt besser.
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

@Leonidas: Ich hab einen Smiley dahinter gesetzt.
@poker: Mit der Aussage, dass Python ABC ähnelt hast du recht. Guido schreibt selbst, dass viele Konzepte aus Python ABC nachempfunden sind.
Antworten