Die wichtigsten Erkenntnisse
- ChatGPT bietet hervorragende Sprachunterstützung für eine große Auswahl an alten und neuen Sprachen.
- ChatGPT bietet im Vergleich zu Gemini eine höhere Genauigkeit und Codequalität für Codierungsaufgaben.
- ChatGPT zeichnet sich durch Debugging, Fehlererkennung, Kontextbewusstsein, Problemlösung und allgemeine Programmierfunktionen aus.
Wenn Sie bei einem Programmierprojekt nicht weiterkommen, suchen Sie möglicherweise nach einem Tool, das Ihnen beim Brainstorming von Ideen, beim Schreiben von sauberem Code oder beim Erklären eines kniffligen Konzepts hilft. Welchen KI-Chatbot wählen Sie: den schnellen und informativen Gemini oder den umfassenden und leistungsstarken ChatGPT?
Sprachunterstützung
Wenn es um die Sprachunterstützung geht, übertrifft ChatGPT Gemini in puncto Breite und Kompetenz. Während Gemini offiziell rund 22 gängige Programmiersprachen unterstützt – darunter Python, Go und TypeScript – sind die Sprachfunktionen von ChatGPT weitaus umfangreicher.
Im Gegensatz zu Gemini verfügt ChatGPT nicht über eine offizielle Liste der unterstützten Sprachen. Es kann jedoch nicht nur die gängigen Sprachen verarbeiten, die Gemini unterstützt, sondern auch Dutzende zusätzlicher Sprachen, von neueren Sprachen wie TypeScript und Go bis hin zu älteren wie Fortran, Pascal und BASIC.
Um ihre Sprachfähigkeiten zu testen, habe ich einfache Codieraufgaben in Sprachen wie PHP, JavaScript, BASIC und C++ ausprobiert. Sowohl Gemini als auch ChatGPT zeigten gute Ergebnisse bei gängigen Sprachen, aber nur ChatGPT konnte Programme in älteren Sprachen wie BASIC überzeugend zusammenfügen.
Genauigkeit und Codequalität
Sie sind mit Ihrem Projekttermin im Rückstand und benötigen einen Boilerplate-Code. Sie bitten ChatGPT und Gemini, Code zur Implementierung dieser Funktionalität zu generieren, und beide Tools spucken Dutzende von Codezeilen aus. Ein schneller Erfolg, oder?
Aber welchem Toolcode können Sie vertrauen, dass er die gewünschte Funktionalität liefert? Um die Genauigkeit und Qualität des von den beiden KI-Chatbots generierten Codes zu vergleichen, habe ich ihnen eine einfache Programmieraufgabe gegeben. Ich habe Gemini und ChatGPT gebeten, eine einfache To-Do-Listen-App mit HTML, CSS und JavaScript zu erstellen. Ich habe keine Einführung gegeben; das Ziel ist es, zu sehen, wie gut beide Chatbots mit begrenzten Informationen funktionieren.
ChatGPT (GPT-4o) hat funktionalen Code mit einer „gut genug“-Ästhetik erstellt. Mit dem Code von ChatGPT können Sie eine Aufgabe hinzufügen oder löschen. Folgendes habe ich erhalten, nachdem ich das Ergebnis von ChatGPT im Browser ausgeführt habe:
Als nächstes bat ich Google Gemini, dieselbe Aufgabe zu wiederholen. Gemini konnte ebenfalls eine funktionale To-Do-Listen-App erstellen. Man konnte zwar auch Aufgaben hinzufügen und löschen, aber das Gesamtdesign war nicht so ansprechend:

Ich führte einen zweiten Test durch und bat diesmal beide Chatbots, den Twitter-Feed (X.com) nachzubilden. ChatGPT erstellte einen Twitter-Feed im Vintage-Stil mit einer funktionsfähigen Tweet-Funktion. Ich konnte in das Textfeld tippen, einen Tweet senden und ihn dynamisch auf die Seite laden lassen. Es war nicht der Twitter-Feed, den ich mir erhofft hatte, aber wenn man bedenkt, dass die meisten Trainingsdaten von ChatGPT mit altem Twitter-Code überflutet sind, sind die Ergebnisse verständlich.

Leider konnte Googles Gemini in dieser Runde keinen funktionsfähigen Code liefern. Es wurden Hunderte von Zeilen JavaScript-Code generiert, aber es gab zu viele Platzhalter, die mit fehlender Logik ausgefüllt werden mussten. Wenn Sie in Eile sind, wäre ein solcher platzhalterlastiger Code nicht besonders hilfreich, da er immer noch viel Entwicklungsarbeit erfordern würde. In solchen Fällen ist es möglicherweise effizienter, den Code von Grund auf neu zu schreiben.
Ich habe ein paar andere grundlegende Codierungsaufgaben ausprobiert und in allen Fällen war die Lösung von ChatGPT eindeutig die bessere Option.
Debugging und Fehlererkennung
Fehler und Bugs sind wie Rätsel, die Programmierer gerne hassen. Sie werden Sie in den Wahnsinn treiben, aber sie zu beheben ist sehr befriedigend. Wenn Sie also auf Fehler in Ihrem Code stoßen, sollten Sie Gemini oder ChatGPT um Hilfe bitten? Dies hängt möglicherweise von der Art des Fehlers ab, den Sie vermeiden möchten.
Um das zu entscheiden, gab ich beiden KI-Chatbots zwei Debugging-Probleme zum Lösen. Zuerst forderte ich beide Chatbots auf, einen logischen Fehler in einem einfachen PHP-Code zu beheben. Logikfehler sind bekanntermaßen schwerer zu erkennen als Syntaxfehler, da sie von der Absicht des Codes abhängen:

Der Code in diesem Screenshot läuft und führt in vielen Fällen sogar zum richtigen Ergebnis. Er enthält jedoch mehrere Logikfehler, die nicht sofort ersichtlich sind. Können Sie sie erkennen? Ich habe Gemini um Hilfe gebeten und leider konnte der Chatbot den logischen Fehler im Code nicht erkennen:

Keiner der drei Lösungsversuche von Gemini war richtig. Ich habe vor sechs Monaten ein ähnliches Problem mit dem gleichen enttäuschenden Ergebnis versucht; es scheint, dass Gemini sich in diesem Bereich nicht verbessert hat.
Ich habe dann ChatGPT um Hilfe gebeten und es hat den logischen Fehler sofort erkannt.

Gemini hat außerdem den Code umgeschrieben, um den Fehler zu beheben:

Nachdem ich ein paar andere Aufgaben zur Fehlersuche und -behebung ausprobiert hatte, war ChatGPT bei dieser Aufgabe eindeutig besser. Gemini war allerdings auch kein völlig hoffnungsloser Fall. Es konnte viele Syntaxfehler beheben, die ich ihm vorlegte, hatte jedoch Probleme mit komplexen Fehlern, insbesondere logischen Fehlern.
Kontextbewusstsein
Eine der größten Herausforderungen bei der Verwendung von KI-Chatbots zum Programmieren ist ihr relativ begrenztes Kontextbewusstsein. Sie können möglicherweise separate Codeausschnitte für klar definierte Aufgaben erstellen, haben jedoch Schwierigkeiten, die Codebasis für ein größeres Projekt aufzubauen.
Angenommen, Sie erstellen eine Web-App mit einem KI-Chatbot. Sie sagen ihm, er soll Code für Ihre Registrierungs- und Anmelde-HTML-Seite schreiben, und er tut dies perfekt. Dann bitten Sie den Chatbot, ein serverseitiges Skript zu generieren, das die Anmeldelogik verarbeitet. Dies ist eine einfache Aufgabe, aber aufgrund der eingeschränkten Kontexterkennung könnte es dazu kommen, dass ein Anmeldeskript mit neuen Variablen und Namenskonventionen generiert wird, die nicht mit dem Rest des Codes übereinstimmen.
Welcher Chatbot behält den Kontext besser im Blick? Ich habe beiden Tools dieselbe Programmieraufgabe gegeben: eine Chat-App, von der wir wissen, dass ChatGPT sie bereits erstellen kann.
Seit der Einführung von GPT-4 Turbo und seinem 128k-Kontextfenster hat sich die Fähigkeit von ChatGPT, viel mehr Kontext über einen längeren Zeitraum hinweg beizubehalten, erheblich verbessert. Als ich zum ersten Mal eine Chat-App mit ChatGPT unter Verwendung des 4k-Kontextfensters GPT-4 erstellte, lief es relativ reibungslos und es kam nur zu geringfügigen Abweichungen vom Kontext.
Die Neuerstellung desselben Projekts im November 2023 mit dem 128k GPT-4 Turbo zeigte eine deutliche Verbesserung der Kontextsensitivität. Sechs Monate später, im Mai 2024, gab es keine nennenswerte Änderung der Kontextsensitivität, aber auch keine Verschlechterung.
Leider verlor Gemini (damals Bard genannt) bei meinem ersten Versuch mit demselben Projekt den Überblick über den Kontext des Projekts und konnte die App nicht fertigstellen. Mehrere Update-Runden später testete ich Gemini erneut mit demselben Projekt und es scheint sich weiter verschlechtert zu haben. In Sachen Kontextbewusstsein gewinnt also wieder einmal ChatGPT.
Problemlösung
An diesem Punkt mangelt es Googles Gemini in vielerlei Hinsicht. Aber kann es endlich einen Sieg erringen? Lassen Sie uns seine Fähigkeiten zur Problemlösung testen. Manchmal hat man einfach ein Problem, aber man ist sich nicht sicher, wie man es programmgesteuert darstellen soll, geschweige denn, wie man es löst.
In solchen Situationen können Chatbots wie Gemini und ChatGPT hilfreich sein. Ich habe sie beide gebeten, „Schreiben Sie einen JavaScript-Code, der zählt, wie oft ein bestimmtes Wort in einem Text vorkommt.„
Hier ist das Ergebnis von Google Gemini:

Und hier ist das Ergebnis von ChatGPT:

Auf den ersten Blick sehen beide Ansätze ziemlich solide aus. Der Ansatz von Gemini sieht sogar prägnant aus. Der Code von ChatGPT verfolgt jedoch einen robusteren und genaueren Ansatz zum Zählen von Wortvorkommen in einem Text. Er berücksichtigt Wortgrenzen und Groß-/Kleinschreibung, behandelt die Zeichensetzung richtig und liefert zuverlässigere Ergebnisse. Auch hier ist ChatGPT überlegen.
Der Ansatz von ChatGPT teilt den Eingabetext in Wörter auf eine Weise auf, die alle Nicht-Wortzeichen wie Satzzeichen und Sonderzeichen als Worttrennzeichen verarbeiten kann. Gemini hingegen berücksichtigt nur Leerzeichen als Trennzeichen. Dieser Ansatz kann fehlschlagen, wenn der Text Satzzeichen oder andere Nicht-Wortzeichen innerhalb von Wörtern enthält oder wenn die Wörter nicht durch Leerzeichen getrennt sind.
Da Google Gemini in praktisch jeder von mir zum Vergleich herangezogenen Metrik verloren hat, beschloss ich, ihm eine Chance auf Wiedergutmachung zu geben. Ich fragte den Chatbot:Wer kann besser programmieren? ChatGPT oder Gemini?„Hier ist die Antwort:

Scheint etwas zu sein, dem ich teilweise zustimmen würde! Ich habe ChatGPT gefragt, was es von der Bewertung hält, und es stimmte zu:

Das scheint zwar ganz normal, aber hier gibt es eine interessante Wendung. Während des größten Teils des letzten Jahres behauptete Gemini (damals Bard) immer voller Zuversicht, es könne besseren Code produzieren, sei effizienter und mache weniger Fehler. Hier ist ein Screenshot von einem meiner Tests im November 2023:

Es scheint, dass Zwillinge jetzt etwas selbstbewusster und bescheidener sind!
Programmierfunktionen
Weder ChatGPT noch Gemini verfügen über wichtige Funktionen, die ausschließlich für die Programmierung gedacht sind. Beide Chatbots verfügen jedoch über Funktionen, die Ihre Programmiererfahrung erheblich verbessern können, wenn Sie wissen, wie Sie diese effektiv nutzen können.
ChatGPT bietet eine Reihe von Funktionen, die den Programmierprozess bei der Verwendung des Chatbots optimieren können. Mit nützlichen Ergänzungen wie Memory und Custom GPT können Sie ChatGPT an Ihre spezifischen Programmieranforderungen anpassen.
Beispielsweise können Sie mit der Funktion „Benutzerdefiniertes GPT“ spezielle Miniversionen von ChatGPT für bestimmte Projekte erstellen, indem Sie relevante Dateien hochladen. Dies vereinfacht Aufgaben wie das Debuggen von Code, die Optimierung und das Hinzufügen neuer Funktionen erheblich. Insgesamt enthält ChatGPT im Vergleich zu Google Gemini mehr Funktionen, die Ihr Programmiererlebnis verbessern können.
ChatGPT spielt in einer eigenen Liga
Googles Gemini hat viel Aufsehen erregt, daher mag es überraschend sein, wie viel es im Vergleich zu ChatGPT verliert. ChatGPT hatte zwar eindeutig einen Vorsprung, aber man könnte meinen, Googles enorme Ressourcen würden dazu beitragen, diesen Vorteil zunichte zu machen.
Trotz dieser Ergebnisse wäre es unklug, Gemini als Programmierhilfe abzuschreiben. Obwohl es nicht so leistungsstark ist wie ChatGPT, hat Gemini immer noch eine beachtliche Schlagkraft und entwickelt sich rasant weiter.
Unterstützen Sie unsere Arbeit ❤️
Wenn Ihnen dieser Artikel gefallen hat, können Sie uns mit einem Trinkgeld unterstützen, damit wir weiterhin großartige Inhalte veröffentlichen können.


























