Mit KI ist das Programmieren kinderleicht!?

Zugegeben, der erste Code für mein Projekt wurde von KI geschrieben. Es war erstaunlich, wie schnell die ersten Ergebnisse da waren! Ein paar Sätze in Prosa und GitHub Copilot spuckt den Code aus. Dazu werden nützliche Beschreibungen und Erklärungen geliefert.
Ein Kinderspiel, so zu programmieren – wie man annehmen könnte.

Zweifellos haben die Entwicklungen rund um ChatGPT und Co auch grossen Einfluss auf die Softwareentwicklung.
Sicherlich sind es mächtige Werkzeuge für Programmierer und werden in Zukunft noch besser und noch schneller werden. Dennoch, einen erfahrenen Softwareentwickler werden sie so schnell nicht ersetzen können.

Ich selbst bin noch kein erfahrener Software-Entwickler. Im Rahmen des CAS Modern Software Engineering & Design an der Hochschule habe ich nun mein erstes Software-Programm geschrieben. Habe ich dabei auf die Hilfe von KI zurückgegriffen? Und wie! Ohne ChatGPT und GitHub Copilot wäre dieses Unterfangen in der kurzen Zeit wohl nicht möglich gewesen.

Meine Erfahrungen der Stärken und Schwächen der beiden Tools ChatGPT 3.5 und GitHub Copilot, der auf dem Sprachmodell ChatGPT 3 basiert:

  • +++ Code Kommentieren und Erklären
  • ++ Code vervollständigen
  • + Code schreiben
  • – geringe Codequalität
  • — umständliche Lösungen
  • — fehlende Kreativität

Code Kommentieren und Erklären

Als Anfänger war ich meiner Unwissenheit und der Fülle an Informationen und Möglichkeiten schutzlos ausgeliefert.
Schneller als man lesen kann erklärt ChatGPT eingegebene Code-Snippets. Identifiziert Frameworks und Programmiersprachen und liefert Erklärungen, was der Code bedeutet.
Kryptische Fehlermeldungen werden in Windeseile interpretiert und mögliche Lösungen genauso schnell präsentiert.

Code vervollständigen

GitHub Copilot probiert zu erraten, was man schreiben möchte. Dies trifft oft ziemlich genau zu. Geht es um kleinere Dinge wie Importe oder Web-Routen definieren, muss man nur einen Buchstaben eingeben und schon ist der Vorschlag da, der oft auch zutrifft. Auch Kommentare können ohne weiteres automatisch hinzugefügt werden. Auch wenn es beim Schreiben von komplexeren Funktionen noch hapert und man wissen muss, was da vorgeschlagen wird, ist dies eine sehr nützliche Funktion.

Code schreiben

Auch wenn es darum geht ein Problem zu lösen, sind Github-Copilot und ChatGPT nicht verlegen, eine Antwort in Form von Lösungsvorschlägen und konkretem Code zu liefern. Kopieren, Einfügen und Testen! Manchmal funktioniert das sehr gut. Andere Male endet man damit, dass man stundenlang mit dem Bot chatet, sich von Fehler zu Fehler angelt und anschliessend feststellen muss, dass es so doch nicht funktioniert. Hier zeigen sich die Grenzen der Tools.

Codequalität

Nicht jeder Code ist guter Code. Die Vorschläge sind oft nicht stringent und folgen keinem bestimmten Stil. Wenn der Code einfach so übernommen wird, ist es schwierig, diesen zu lesen, da es für ähnliche oder dieselben Probleme grundverschiedene Herangehensweisen und Paradigmen gibt. Daraus kann Code entstehen, der schlecht leserlich und nicht so einfach nachzuvollziehen ist, da sich der Stil abwechseln kann.

Umständliche Lösungen

Die Vorschläge der KI waren oft auch umständlicher und komplizierter als nötig. Moderne Frameworks bieten Funktionen und Techniken, die Lösungen eleganter und einfacher machen. Die vorgeschlagenen Lösungen haben oft die eingesetzten Frameworks ausser Acht gelassen und den Code unnötig aufgeblasen. Es ist sehr gut möglich, dass sich dies in absehbarer Zukunft ändert und die KI einen stringenteren Stil entwickelt und die Methoden der verschiedenen Frameworks besser abstimmen.

Fehlende Kreativität

Auch wenn die negativen Punkte in naher Zukunft nahezu verschwinden können, bleibt die Kreativität ein Punkt, welcher von der KI nicht so schnell abgenommen wird und ich wage zu schreiben, dass dies ein Aspekt ist, bei dem es die KI nie mit dem Menschen aufnehmen kann. Die Motivation ein Problem zu lösen, erfordert ein Bedürfnis.
Unteranderem sind es die menschlichen Bedürfnisse, die unser Denken wesentlich von der KI unterscheiden. Die KI bleibt ein Werkzeug, das genutzt wird, um ein menschliches Bedürfnis zu befriedigen.

 

Beitrag teilen

Gallus Bühlmann

bloggt aus dem Unterricht des CAS Modern Software Engineering & Development

Alle Beiträge ansehen von Gallus Bühlmann →

Schreibe einen Kommentar