Entschuldige die verspätete Antwort. Ende Jahr ist beruflich bei mir immer die Hölle los - auch mit GitHub CoPilot
Mein Ursprungs-Post war ja im April und ich nutze den CoPilot auch heute noch täglich. Der hat sich so in meine Arbeitsweise integriert, dass wenn ich vor einem Texteditor ohne CoPilot sitze ihn richtig vermisse.
Ich glaube das man weder ein "besserer" noch ein "schlechterer" Programmierer wird. Es ist am Ende einfach eine Zeitersparnis für Dinge die man tun muss aber super nervend sind.
Als Beispiel von heute. Ich habe heute Nachmittag an einer SVG Animation gearbeitet. SVG sind Bilder die quasi gecodet sind. Im Grunde sind alle modernen Icons (wie z.b. hier im Texteditor im Forum für Fett, Kursiv, etc) SVG.
SVG haben viele Vorteile (z.b. das sie nie unscharf sind egal wie gross oder klein das du sie darstellst) und das du jede einzelne Linie bzw geometrische Form (SVGs bestehen nur aus Linien und geometrische Formen) animieren kannst.
Ich breche die Komplexität der Animation etwas runter. Aber in dem SVG hatte ich einen Kreis mit dem Radius von 110px, und musste den so animieren, dass der Radius 250px gross wird.
Im SVG Code wird der Radius so definiert:
Das heisst der Bereich im "d=" definiert den Kreis. Normalerweise bearbeitet man SVGs mit Programmen wie Adobe Illustrator oder z.b. Inkscape (OpenSource und Linux) und kümmert sich nicht gross um solche Brain-Fuck Werte das man dort quasi per GUI nen Kreis erstellt und das Programm im Hintergrund diese Codes schreibt.
Wenn der Kreis aber nun auf der Webseite animiert werden muss, muss ich diese Werte im "d" dynamisch verändern können (mal grösser, mal kleiner, etc).
Das ist ein sorry den Ausdruck Brainfuck ohne Ende. Also schreibe ich GitHub Copilot schreib mir eine Funktion wo ich quasi sagen kann "mach Radius XY" und gibt mit dann das zurück was ich bei "d=" einfügen muss.
Das war die Antwort:
// Funktion zur Erzeugung von Kreis-Path-Daten
function createCirclePath(cx, cy, r) {
return `M${cx - r},${cy} a${r},${r} 0 1,0 ${2 * r},0 a${r},${r} 0 1,0 -${2 * r},0`;
}
Eine Funktion die ich aufrufen und sagen kann ich brauch Radius 325px also z.b. so:
Und e Voila bekomme ich diesen langen dummen String zurück den ich dafür brauche.
Ja, ich hätte das selber schreiben können. Hätte wohl noch einen Blick in die Dokumentation der SVGs gebraucht, da mir die Reihenfolge der Werte im d-Attribute gerade nicht geläufig sind. Das hätte mich aber viel mehr Zeit gekostet.
Ich habe das Problem in knapp 30 Sekunden mit einem Prompt gelöst und konnte weiter am Projekt arbeiten. Hätte ich es selber geschrieben wäre ich da wohl mit lesen der Doku eine Weile dran gewesen. Hätte ich es gegooglet, hätte ich wohl auch eine Pfannenfertige Funktion gefunden - hätte die aber für mein Projekt anpassen müssen. Kostet also auch mehr Zeit.
Das ist das spannende an GitHub CoPilot er schreibt die das Zeug so wie du es in deinem bestehenden Projekt benötigst, da es quasi permanent dein laufendes Projekt das du offen hast analysiert.
Klar kann man argumentieren, hätte ich es selber geschrieben und Doku gelesen wäre ich "ein besserer Programmierer" weil ich was gelernt habe. Ich arbeite nun seit über 15 Jahren mit Webseiten, seit über 7 Jahren Hauptberuflich und es ist das erste mal das ich ein Kreis innerhalb eines SVGs animieren musste (das man komplette SVGs animiert, gibt es immer wieder). Wenn ich das nun "gelernt und selber gemacht" hätte geht es min. wieder 5-6 Jahre bis so eine Aufgabe kommt - und ganz ehrlich bis dann hab ich es auch wieder vergessen und lerne es neu
Daher Nein ich glaube nicht das GitHub CoPilot oder ChatGPT mich zu einem "schlechteren Programmierer" macht. Es vereinfacht dir dumme Dinge die man hin- und wieder tun muss.