Ich denke ernsthaft, dass 90% aller Python-Programmierer nie richtig Python gelernt haben, und deshalb jeden Mist googeln müssen.

Dabei ist es so einfach:

https://docs.python.org/3/

Hier einfach auf "Tutorial" klicken, und die nächsten Tage / Wochen gewissenhaft durcharbeiten.

Danach bei obigem Link auf "Library Reference" klicken, und von oben bis unten durchlesen, damit man alles mal grob gehört hat. Hierbei muss man sich nicht alles merken, und auch nur die Sachen nutzen, die einen betreffen, aber gelesen haben sollte man das alles mal.

So habe ich das gemacht. Und googeln tue ich so gut wie nie, obwohl meine Lösungen im Schnitt wesentlich besser / schöner / effektiver sind, als die meiner Kollegen.

Allein hier auf GF gibt es nur wenige Leute, die wirklich gut Python können! Das sieht man an den massenhaft schlechten Antworten zu Python-Themen, wo ich mir nur denke: "Was soll das denn jetzt schon wieder?".

Hier werden i. d. R. 10 bis 20 Zeilen unübersichtlicher Pythoncode veröffentlich, wo eine einzige schicke und übersichtliche Zeile mit Code der Standardbibliothek völlig reichen würde.

Aber auch von der Bibliothek mal abgesehen, könnte manch 10-Zeiler auf einen Einzeiler schrumpfen, wenn die Leute mal funktionalen Code schreiben würden, der zudem noch WESENTLICH übersichtlicher und leichter lesbar ist.

Ach so, und ... auf StackOverflow sind die mit Abstand meisten Antworten ebenfalls totaler Schott, im besten Sinne ineffizient und im schlechtesten Sinne schlicht falsch. Das gilt sehr oft auch für die Top-Antworten ganz oben.

Dass viele selbsternannte Pythonentwickler das nicht erkennen können, und sogar recht aggressiv auf dem Gegenteil beharren, liegt an meinem anfangs bereits erwähnten: Die miesten Python-Entwickler haben sich nie wirklich intensiv mit der Sprache befasst und kennen weder die "etwas fortgeschritteneren" Sprachfeatures, noch die Standardbibliothek über eine Hand voll Module hinaus.

Meiner Meinung nach trifft das alles auch auf viele andere Programmiersprachen, insbesondere C++ zu.

Python und C++ sind unfassbar mächtig, aber mindestens 90% der Nutzer haben sich dafür entschiieden, auf ewig an der Oberfläche herum zu kratzen, anstatt sich wirklich mal weiter zu bilden.

Also ... ich google fast nie. Und wenn doch, dann bin ich eigentlich immer total enttäuscht, dass andere keine gute Lösung parat haben, und muss mein Problem sowieso komplett selbstständig lösen.

Ach so, und zu SO noch mal: Immer wenn dort steht, "dies und jenes sei nicht möglich", denke ich mir nur noch: "Challange accepted!", und mache es dann einfach.

Es ist einfach unfassbar, was für ein Stuss auf SO so steht und was angeblich nicht gehen kann.

Naja, egal ... schönen Tag noch! :)

...zur Antwort

Weil VS Dreck ist! Richtig erkannt!

Seit Jahren (!) ist dieses Problem bekannt, und im Netz gibt es zich Workarounds und Forenbeiträge von zich Tausenden Leidensgenossen, die GENAU dieses Problem haben.

Und MS tut ... nichts. Seit Jahren!

Fazit: Du hast es zwar scharf ausgedrückt, aber wenn VS das nicht hinbekommt, was bei allen anderen IDEs klappt, und das man eigentlich nur von Dev-C++ aus dem Jahre 1999 auf einem Rechner mit 64MB RAM kennt, dann ist das genau das: "Dreck".

Natürlich kann man NACH den Workarounds mit VS sehr komfortabel arbeiten, keine Frage!

Aber wenn der weltgrößte Softwarekonzern es seit zich Jahren nicht auf die Reihe bekommt, das von dir beschriebene Problem gebacken zu kriegen, ist das einfach nur peinlich und "Dreck".

Fazit: Richtig erkannt! :)

...zur Antwort
Ja, es lohnt sich noch

Ganz klares JA!

Begründung: Allein 90% (mindestens!) aller Fragen hier auf GF, die irgendwas mit dem Auswerten / Analysieren / Umformen von Textdateien zu tun haben, kann man damit erschlagen.

Und nicht nur das! Fast ausschließlich werden in den Antworten zu solchen Fragen Code-Schnipsel in Python, oder noch schlimmer Java, C#, PHP, usw. gepostet, wo eine einzige AWK-Zeile reichen würde.

Unter der Antwort von "guenterhalt" siehst du das sehr schön am Beispiel von TCL im Vergeleich mit AWK.

Im Schnitt brauchst du bei AWK nur eine einzige Zeile, während andere Skript- oder auch ausgewachsene Programmiersprachen 10 bis 30 Zeilen benötigen.

AWK ist extrem mächtig, und man kann damit neben Einzeilern auf der Konsole auch sehr saubere Skripte in Dateien verpacken, und dann wie Programme aufrufen.

Also ja, wenn du heute (2020) möglichst effizient und schnell einfachere Textdaten verarbeiten willst, gibt es kaum etwas Mächtigeres als AWK.

Erst wenn die Formate komplexer werden, solltest du härtere Geschütze wie Python auffahren, aber - wie gesgt - du kannst sicherlich 90% aller alltäglichen Probleme mit Textdateien, die hier auf GF geschildert werden, mit einer einzigen eleganten Zeile AWK lösen.

Zumal AWK kein Hexenwerk ist, und man es auch als totaler Idiot binnen einer Woche lernen kann, wenn man sich jeden Nachmittag mal ein / zwei Stunden damit befasst.

Und das, was in dem anderen Kommentar zu den impliziten Variablen angesprochen wurde, ist ein sehr großer Vorteil, und kein Nachteil!

Falls du "wc" nicht zur Hand hast, kannst du mit ...

awk 'END { print NR }' foo.txt

... die Anzahl der Zeilen der Datei "foo.txt" zählen. Du kannst nicht behaupten, dass dieser Einzeiler nicht "sprechend" oder schwer verständlich ist.

Ich denke also, die Frage, ob man AWK lernen sollte, stellt sich gar nicht.

Genauso wenig, wie sich die Frage stellt, ob man den Umgang mit unixoiden Shells lernen sollte, oder gut mit sed, grep, usw. umgehen können sollte.

Wenn ich mir vorstelle, jedes mal extra ein 10-Zeilen Python- oder Ruby-Skript basteln zu müssen, um irgendeinen Pippifax zu erledigen, das wäre mir einfach viel zu viel Zeitverschwendung.

Perl bildet hierbei eine Ausnahme: Hat ebenfalls implizite Variablen und erlaubt ebenfalls extrem kompakten Code, was von Uneingeweihten leider immer als "kompliziert" missverstanden wird.

Ach und ... TCL solltest du natürlich auch lernen! Ich habe 1996 auf einem uralten SuSE-Linux mit TCL und TK einen Bomberman-Clone geschrieben. Also unterschätze diese Kombinattion nicht! Ist extrem mächtig!

Aber egal ... auf jeden Fall ist AWK auch heute noch, wie vor 30 Jahren, das mächtigste Werkzeug in seinem Bereich, für das es auch heute noch keinen Ersatz gibt. Behalte das bitte im Hinterkopf!

Naja, viel Spaß! :)

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.