Matthias Fulde: Python ...

Beitrag lesen

Hallo Jörg

(Python)

Ich kenne es (auch nur vom Hörensagen) eher im Anwendungsbereich Raspberry, IoT.

Dann sehen wir uns mal nur ein Verzeichnis eines Linux-Desktops an:

fastix@rpi400:/usr/bin$ grep -Rn '#!/usr/bin/python3' * 2> /dev/null
...

Python-Skripte lösen nach und nach viel von dem Zeug ab, welches früher mal in Perl geschrieben wurde. (Davon ist aber auch noch „jede Menge“ vorhanden.)

Ja, Python ist definitiv nicht nur auf einige wenige Anwendungsbereiche beschränkt. Nach dem aktuellen TIOBE Index ist Python derzeit sogar die populärste Programmiersprache überhaupt.

Wir hatten vor einiger Zeit ja schonmal diskutiert, welche Programmiersprache für Anfänger am besten geeignet ist und ich hatte damals schon argumentiert, dass wenn noch nicht klar ist, wo die Reise einmal hingehen soll, Python für den Anfang eine gute Wahl ist.

(Zum archivierten Posting)

Bei uns an der Universität ist Python schon seit Jahren die Programmiersprache, die in den Programmierkursen für Anfänger verwendet wird. Sprachen wie Haskell, C/C++ oder Java kommen dann erst später. Python wird aber auch in vielen Vertiefungsmodulen des Informatikstudiums verwendet, da die Sprache in den entsprechenden Bereichen schlicht am weitesten verbreitet ist. Dazu zählen zum Beispiel auch die Bereiche Data Science und Machine Learning, die schon eine enorme praktische Bedeutung haben, die tendenziell eher noch zu- als abnehmen wird.

Was dedlfix damals zu Recht angemerkt hat, ist, dass die Erstellung von grafischen Benutzerschnittstellen mit Python nicht gerade state of the art ist. Das ist in der Tat einer der wenigen Schwachpunkte. Es gibt zwar mehrere Libraries, wie zum Beispiel Qt oder Tkinter, aber damit würde ich wirklich nicht arbeiten wollen. Ein modernerer Ansatz ist, sich um eine Python-Anwendung herum eine Electron-App zu bauen, das GUI also mit Webtechniken umzusetzen. Das hat zwar einen gewissen Overhead, da das GUI dann eine Browserinstanz ist, aber es hat den Vorteil, dass die Technik wirklich auf der Höhe der Zeit ist und es zudem viele Entwickler gibt, die sich damit auskennen. Für den Programmieranfänger ist das natürlich zu viel, aber am Anfang, wenn es erstmal nur darum geht überhaupt etwas auf den Bildschirm zu bringen, tun es ja vielleicht auch die prozeduralen Libraries, wo man mit Python arbeiten kann.

Wenn man mit Python nicht nur an der Konsole arbeiten will, sind Jupyter Notebooks eine schöne Alternative. Hier kann man über Widgets auch interaktive Programme basteln. Das ist eine sehr nette Umgebnung, um einfach mal Sachen auszuprobieren.

Viele Grüße,

Matthias