Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | Blog RSS

Die Blog-Postings sind Kommentare im Sinne von § 6 Abs. 1 MStV. Der Verfasser ist Jörn Loviscach, falls jeweils nicht anders angegeben. Die Blog-Postings könnten Kraftausdrücke, potenziell verstörende Tatsachenbehauptungen und/oder Darstellungen von Stereotypen enthalten. Die Beiträge der vergangenen Wochen werden als Bestandteil der Internet-Geschichte in ihrer ursprünglichen Form gezeigt. Menschliche Autor*innen können unzutreffende Informationen über Personen, Orte oder Fakten liefern.

vorheriger | Gesamtliste | jüngste | nächster

Eine andere Sprache für meine Informatik 2

2024-02-02 19:44

Bisher habe ich in meiner Informatik-2-Vorlesung C# und WPF gemacht. Aber mir wird immer klarer, dass ich im Studiengang Regenerative Energien keine Software-Entwickler*innen ausbilde, sondern Leute, die vielleicht mal eine Datenanalyse machen oder ein Skript zur In-House-Nutzung schreiben wollen. Wegen des grandiosen "Batteries included"- und plattformübergreifenden Ökosystems von Python, in dem es für praktisch jede Aufgabe ein Package gibt, ist hier der Spaßfaktor von Python viel höher – erst recht im Zusammenspiel mit ChatGPT.

Nun, wo sich das Angeben von Typen in Python inzwischen zurechtgeruckelt hat (mein Video dazu ist schon überholt) und weil echtes Multithreading am Horizont erscheint, neige ich dazu, in Informatik 2 von C# und WPF auf Python und PySide zu wechseln.

Didaktisch ist Python mit seinen 30 Jahren auf dem Buckel natürlich katastrophales Gestrüpp, wenn auch nicht so schlimm wie C++. Aaaiiiiiigentlich würde ich ja aus didaktischen Gründen lieber zu einer Programmiersprache wechseln, die noch nicht x Jahrzehnte an Ballast mitschleppt. So ganz im Sinne des "Distracted Boyfriend"-Memes insbesondere das schicke Rust statt des ollen Python. Aber Rust könnte zum Mental Overload führen, auch wenn dessen Compiler schöne Meldungen gibt.

Allerdings kann ich mir auch vorstellen, dass ich den Student*innen Python völlig verleide, wenn ich pythonisches Python verlange, das obendrein Typangaben hat. Die Student*innen werden danach dann alle lieber C# schreiben. Aber ok, dann wäre ja auch schon was gewonnen. ;-)

Was auch immer es werden wird: Die Lehrmaterialien kommen – wie es inzwischen nötig ist, mehrsprachig (de, fr, ar, uk, …) – aus ChatGPT. Vielleicht sogar als KI-generierte Videos?

Bevor ich das Schiff C# hinter mir verbrenne: Wie sind so die Meinungen dazu in dieser Runde?

Kommentar vom 2024-02-02, 21:01

Hauptsache, die gewählte Programmiersprache wird korrekt ausgesprochen! https://www.youtube.com/watch?v=3WRbWdr_p9M

Kommentar vom 2024-02-03, 11:22

C# ist Sprache des Jahres geworden? Durch deine Videos auf YT bin ich vor 7-8 Jahren bei C# hängen geblieben. Damals noch .NET < 5 oder so, aktuell bei .NET 8 in Richtung 9. Wie auch immer man das einordnen mag, das C# jetzt ist das Beste, was es jemals gab.

C# Banger, recht frisch!
https://twitter.com/buybackoff/status/1749559549390901648
Oder: How Much Memory Do You Need to Run 1 Million Concurrent Tasks?
https://pkolaczk.github.io/memory-consumption-of-async/

C# bietet alles, wenn auch nicht perfekt, aber immer etwas besser. Klar, Python bietet ungeahntes Potential, weil es eben so lahm ist, so ineffizient, so unlooped. AI braucht computation Power, Python killed diese.

Python wird vermutlich immer mit einem Aber behaftet sein. Aber es ist 2024, meine Hoffnung geht in Richtung einer neuen Sprache die mit LLM-Support am Maschinencode arbeitet, vielleicht sogar in C# oder Python. Nur nicht zu fixiert denken, oder?
https://twitter.com/emollick/status/1753486416758337981

Kommentar vom 2024-02-03, 16:25

@Kommentator*in von 11:22: Wenn AI mit Python nicht gut ginge, wäre es irgendwie komisch, dass alle Welt PyTorch benutzt (außer Google, die nehmen TensorFlow, was auch Python ist). – LLM: Ja, guter Punkt, eigentlich sollte es demnächst LLM-artige hochoptimierende Compiler geben, zumal die sich gut mit Reinforcement Learning trainieren lassen sollten. Man müsste dann aber noch einen Verifizierer dahinterschalten, weil nicht klar ist, ob das Programm immer das tut, was es soll. Aber Problem 1 dabei: Halting Problem. Und Problem 2: Hier besteht noch schlimmer als schon allgemein bei den formalen Methoden das Problem, dass der Mensch die Requirements und deren Konsequenzen nicht kennt bzw. versteht. J. L.

Kommentar vom 2024-02-03, 16:31

Von woanders kam noch dieser Gedanke: Für die meisten Ingenieur*innen stellt sich nicht die Frage "C# oder Python?", sondern es stellt sich die Frage, ob sich die jeweilige Aufgabe mit Excel lösen lässt, denn sonst ist sie unlösbar. Ein bisschen weniger Excel wäre ja schon ein Fortschritt? (curricular dilution) J. L.

Kommentar vom 2024-02-05, 08:00

Als jemand, der Ihr komplettes Informatik-Programm (samt Unterstützung in der Lehre) mitgenommen hat, würde ich mich für eine Umstellung auf Python aussprechen, genau aus den bereits genannten Gründen. Im weiteren Verlauf des Studiums habe ich persönlich lediglich zur Auswertung von Daten programmiert und da ist Python wesentlich einfacherer in der Handhabung. Im Beruf als Ingenieur ist meiner Erfahrung nach Excel "State of the Art" und da sehe ich in meinem Umfeld leider keine Aussicht auf Änderung.

Eventuell wäre es in dem Zusammenhang eine Idee, die Vor- und Nachteile von der Datenauswertung mit Python gegenüber der Datenauswertung mit Excel darzustellen, unter anderem, was die Verwendung von KI-basierten Tools angeht (ChatGPT <-> bald Microsoft Copilot). Vereinzelt können so bestimmt zukünftige Ingenieur*innen in einem dynamischerem Umfeld als meinem von Excel abgebracht werden und sonst nicht lösbare Probleme werden auf einmal lösbar.

Grüße
M. H.

Neuer Kommentar

0 Zeichen von maximal 1000

Ich bin die*der alleinige Autor*in dieses Kommentars und räume dem Betreiber dieser Website das unentgeltliche, nichtausschließliche, räumlich und zeitlich unbegrenzte Recht ein, diesen Kommentar auf dieser Webseite samt Angabe von Datum und Uhrzeit zu veröffentlichen. Dieser Kommentar entspricht geltendem Recht, insbesondere in Bezug auf Urheberrecht, Datenschutzrecht, Markenrecht und Persönlichkeitsrecht. Wenn der Kommentar mit einer Urheberbezeichnung (zum Beispiel meinem Namen) versehen werden soll, habe ich auch diese in das Kommentar-Textfeld eingegeben. Ich bin damit einverstanden, dass der Betreiber der Webseite Kommentare zur Veröffentlichung auswählt und sinngemäß oder zur Wahrung von Rechten Dritter kürzt.