Generative-KI beim Programmieren unterscheidet sich nicht viel zu Generativer-KI in anderen Anwendungen, d.h. es erleichter „mechanische“ Probleme zu automatisieren, wie das Schreiben von Boilerplate code. Es ist zwar möglich anders und kreativ mit LLMs zu arbeiten, aber was ich bisher im CIP gesehen hab sehen die Prompts von den meisten Leuten eher wie „Schreibe mir eine Funktion um … zu machen“, als „Diskutiere mit mir wie man das Problem … angehen kann“ (oder „… welche Randfälle eine Implementierung eines Algorithmus haben kann“, „… ob es sich Lohnt eine Architektur zu überdenken“, etc.).
Mich erinnert das Teilweise an den satirischen Artikel „I Did It For You All…“, wo Stroustrup angeblich behauptet C++ erfunden zu haben um die Arbeitsstellen von Programmieren zu sichern:
Everyone was writing ‘C’ and, the trouble was, they were pretty damn good at it… Universities got pretty good at teaching it, too. They were turning out competent - I stress the word ‘competent’ - graduates at a phenomenal rate. That’s what caused the problem… […] Well, in the beginning, these guys were like demi-gods. Their salaries were high, and they were treated like royalty… […] Right. So what happened? IBM got sick of it, and invested millions in training programmers, till they were a dime a dozen… […] Well, one day, when I was sitting in my office, I thought of this little scheme, which would redress the balance a little. I thought ‘I wonder what would happen, if there were a language so complicated, so difficult to learn, that nobody would ever be able to swamp the market with programmers?
Es ist ein Witz, aber es ist auch etwas Wahres dran. Wenn man sich die Geschichte der Informatik anschaut, gibt es so viele interessante, kreative, schlaue und ausdrucksstarke Ideen, welche nie die Prominenz von „Mainstream“ Technologien erreicht haben, und oft quasi vergessen wurden. Natürlich ist es nicht Perfekt (das Thema „Lisp Curse“ ist ein Beispiel wie Flexibilität sich selbst beißen kann), aber ich vermute, diese Technologien hätten alles in allem einen geringeren Vorteil von LLM-artigen Technologien.
Die Frage, wie ineffiziente und unelegante Ansätze es immer wieder schaffen zu proliferieren kann ich nicht eindeutig beantworten. Teilweise hat es wohl mit Time-To-Market zu tun, teilweise mit der zugegebenen Esoterik von „höheren“ Konzepten. Ich würde aber behaupten, es scheint eine Dynamik zu geben, wo angestellte Programmierer und Low-Level Manager in der Lage sind Projekte in eine Richtung zu bewegen wo es zwar nicht viel zu machen gibt, aber man immer was zu tun hat (anekdotisch, hab ich vor kurzem gelesen, wie es Firmen gibt, welche alle sechs Monate ihre Produkte von einem Framework in ein anders umschreiben lassen). Soziologisch wäre es sicher interessant zu untersuchen wie solche Situationen entstehen und festigen, und in der Zukunft wird es sich zeigen, ob diese Tendenz stärker oder schwächer ist als die Automatisierungen von ChatGTP/Copilot/etc. Ich kann mir vorstellen, dass viele Einsteiger-stellen entfallen, aber vielleicht findet sich am Ende doch ein Weg, wie relative einfache Aufgaben weiterhin trotz Sprachmodelle erhalten bleiben?
Auf der anderen seite gibt es legale und ethische Bedenken, spezifisch bei Sachen wie Copilot welche auf Freier Software trainiert wurde, aber jetzt nicht mehr sagen kann wie es auf eine Implementierung gekommen ist. Für mich persönlich ist aber schon der Aspekt, dass man mit einer fremden, online Dienstleistung interagieren muss schon Grund genug, dass ich kein Interesse habe diese zu nutzen. Mit lokalen, offline Alternativen in der Zukunft, ggf. die nur auf Spezialgebieten funktionieren, könnte es aber eine durchaus interessante Technologie sein.
SP Abgaben schafft
Ich habe als SP Tutor in Rechnerübungen ChatGPT benutzen sehen, und es hat zwar funktionierenden Code geschrieben, aber ohne Beachtung der Randfälle, was im wesentlichen kein großer Vortschritt ist über den Stand vieler Abgaben bisher. Wer nur Fragen stell, aber was beantwortet wird, nicht hinterfragen kann, hat wie ich es wahrnehme am Ende nicht mehr viele Punkte nach der Korrektur übrig.