ChatGPT ist erschreckend gut darin, Code zu schreiben.
Jeder hat davon gehört ChatGPT in diesem Stadium. Es handelt sich um einen KI-gestützten Chatbot, der Modelle zur Verarbeitung natürlicher Sprache nutzt, um Antworten auf komplizierte Fragen zu liefern. Diese Antworten sind möglicherweise nicht unbedingt immer korrekt, aber sie sind in der Regel so detailliert, dass Sie die Antworten, die Sie erhalten, relativ einfach auf Fakten überprüfen können. Was wäre, wenn Sie ChatGPT nehmen und versuchen würden, damit Code zu schreiben?
Wie sich herausstellt, können Sie dies mit unterschiedlichem Erfolg tun, je nachdem, welche Sprachen Sie verwenden möchten und was Sie damit erreichen möchten. Ich habe es auf die Probe gestellt, um zu sehen, wie gut es in verschiedenen Programmiersprachen bei der Erledigung verschiedener Aufgaben abschneiden würde. Ich werde auch keine Änderungen am von ChatGPT erstellten Code vornehmen. Ich werde ihn nur anleiten, funktionierenden Code zu erstellen, wenn der von ihm erstellte Code nicht funktioniert.
Ich habe drei Sprachen verwendet, mit denen ich bereits vertraut bin, um ChatGPT auf die Probe zu stellen: Python, C und Java. Die Ergebnisse waren besonders überraschend, da es mit Python aufgrund der abstrakten Natur dessen, was ich von ihm verlangte, ein wenig Probleme hatte, C und einfaches Java jedoch problemlos handhabte. Ich habe auch hat ein GitHub-Repository erstellt Der gesamte Code ist hier zugänglich, sodass Sie ihn selbst ausprobieren können.
Automatische Seitenprüfung in Python
Python ist meine Lieblingsprogrammiersprache, mit der ich arbeite, und das liegt an seiner Leistungsfähigkeit und seiner einfachen Bedienung. Ich habe in der Vergangenheit viele Tools in Python geschrieben, um Teile meines Arbeitsablaufs zu automatisieren, und meine Bachelorarbeit in Informatik wurde sogar vollständig mit Python erstellt. Ich habe ChatGPT gebeten, ein Programm zu schreiben, das eine Webseite in regelmäßigen Abständen nach Änderungen durchsuchen kann, und es hat im Großen und Ganzen seinen Zweck erfüllt.
Das Problem mit dem obigen Code, den er mir liefert, ist, dass er keinen echten Browser simuliert. Websites prüfen, ob in Ihrem Browser ein Parameter namens „Benutzeragent“ vorhanden ist. Dieser definiert, welche Art von Browser Sie verwenden oder ob Sie ein Bot sind. Viele Websites akzeptieren keine Verbindungen, die keinen Benutzeragenten definieren, und ich bin darauf gestoßen, als ich XDA darauf hingewiesen habe. Ich habe es darum gebeten, der Anfrage benutzerdefinierte Header hinzuzufügen, um einen echten Browser zu simulieren, und es hat dem nachgekommen.
Der oben angegebene Code funktioniert für statische Websites, das Problem besteht jedoch darin, dass viele der Inhalte, die Sie online lesen, dynamisch sind. Wenn eine Seite beispielsweise irgendwo auf der Seite die aktuelle Uhrzeit zurückgibt, sagt der obige Code bei jeder Aktualisierung immer, dass sich die Seite geändert hat. Als ich ChatGPT darauf aufmerksam machte, war es verwirrt und ich erhielt eine völlig falsche Lösung für das Problem.
Das Obige ist eine falsche Erklärung der Funktionsweise von Hashes. Der Sinn eines Hashs besteht darin, dass eine geringfügige Änderung der Eingabe zu einem großen Unterschied im Hash führt, da zwei Hashes grundsätzlich nicht vergleichbar sind. Als ich ihm sagte, dass es eine falsche Behauptung sei, dass Hashes der beste Weg seien, um zu vergleichen und nach Änderungen zu suchen, antwortete es mit einer Entschuldigung und gab mir etwas Ähnliches tat arbeiten.
Das einzige Problem, das ich mit dem obigen Code festgestellt habe, besteht darin, dass dies bei größeren Websites der Fall ist rechenintensiv, da die Verarbeitung natürlicher Sprache zum Vergleich und zur Berechnung der Differenz verwendet wird zwischen ihnen. Dennoch ist ein Schwellenwert von 5 % für geänderte Inhalte für die meisten Websites ausreichend, wenn Sie nach Aktualisierungen suchen möchten, und Sie können den Schwellenwert bei Bedarf anpassen. Es hat eine Weile gedauert, aber am Ende ist es soweit.
Es gibt viele Gründe, warum Sie einen Web-Scraper wie diesen benötigen, und obwohl es Tools gibt, die das können, ist es cool, einen eigenen zu bauen. Sie können sie zur Paketverfolgung oder, in meinem Fall, zum Scannen nach neuen Immobilien verwenden, die auf lokalen Immobilienseiten zur Miete angeboten werden.
Passwortgenerator in C
Da Sicherheit in letzter Zeit in aller Munde ist, ist es wichtig, dass Sie sichere Passwörter verwenden und auch eine Zwei-Faktor-Authentifizierung verwenden. Wenn Sie mit dem sicheren Passwortteil zu kämpfen haben, ist es ziemlich einfach, einen Passwortgenerator in C zu schreiben. ChatGPT hat das ziemlich einfach gemeistert, und das einzige Problem, das ich entdeckte, war, dass es die String-C-Bibliothek nicht importierte, als ich es aufforderte, einen Passwortgenerator zu erstellen. Das habe ich ihm gesagt und es hat es zu Beginn zu den Importen hinzugefügt.
Ich habe die globale Variable MAX_LENGTH auf 32 statt 16 Zeichen erhöht und sie hat für mich das folgende Passwort generiert: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. Man kann mit Sicherheit sagen, dass es funktioniert!
Rechner in Java
Ein ziemlich einfaches Programm, mit dem viele Leute Erfahrung in Java haben, ist die Erstellung eines Taschenrechners. Es ist eine der frühesten Herausforderungen, denen Informatiker in ihrer Programmierkarriere gegenüberstehen, unabhängig davon, welche Sprache sie zuerst erlernen. Ich habe ChatGPT gebeten, einen Rechner in Java zu schreiben, der mindestens zwei Klassen verwendet, und er hat beim ersten Versuch perfekt funktioniert.
Dies ist die Rechnerklasse:
Dies ist die Hauptklasse:
Das Erstellen dieser beiden Klassen in meiner IDE, IntelliJ, und das Ausführen der Hauptklasse führt zu einem perfekt funktionierenden Ergebnis Taschenrechnerprogramm, das zwei Zahlen und einen Operator für Addition, Subtraktion, Multiplikation usw. berücksichtigt Aufteilung.
ChatGPT ist gut im Programmieren
Ich würde mich zwar nicht darauf verlassen, dass ChatGPT alles für Sie erledigt, aber es ist klar, dass es bei der Erstellung von Programmen und der Berücksichtigung von Kritik bei Problemen ziemlich gute Arbeit leisten kann. Ich war überrascht, dass es einen Hashing-Algorithmus vorschlug, um zwischen kleineren Änderungen auf einer Webseite zu unterscheiden, aber abgesehen davon hatte es überhaupt keine Probleme mit den grundlegenderen Aufgaben. Auch im Fall des Python-Programms hatte es von Anfang an die richtige Idee und hätte auf statischeren Seiten perfekt funktioniert.
Natürlich wird ChatGPT in absehbarer Zeit nicht unbedingt Programmierer ersetzen, aber es ist auf dem Weg, ein sehr gutes Werkzeug für die Arbeitswelt zu werden. GitHubs Copilot, zum Beispiel nutzt GPT Technologie, die Menschen beim Schreiben von Code unterstützt, und sie wird mit der Zeit immer weiter fortgeschritten sein. Selbst wenn Sie ein Programmieranfänger sind, könnte Ihnen ein solches Tool möglicherweise beim Lernen helfen, wenn Sie ihm völlig vertrauen könnten, aber wie wir gesehen haben, macht es manchmal seltsame Fehler.
Natürlich sind die hier gegebenen Beispiele sehr einfach und die meisten Programmierer könnten sie ziemlich einfach schreiben, aber darum geht es nicht. Es ist erschreckend gut darin, Lösungen für einfache Aufgaben zu entwickeln und scheint auch komplexere Aufgaben recht gut zu bewältigen. Wir sind gespannt, wohin Tools wie diese in Zukunft führen und Menschen dabei helfen, ihre Fähigkeiten zu verbessern.