Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Ich habe in den frühen 80er Jahren mit dem Programmieren angefangen. Mein erstes Gerät war ein Atari 400 - nicht gerade ein Kraftpaket mit seiner Folientastatur, nur 8K RAM und Programmen, die von Kassetten geladen wurden. Ich lernte die Sprache BASIC und entwickelte einfache Spiele und Dienstprogramme.

Ich war total begeistert.

Natürlich bin ich mit der Zeit auf leistungsfähigere Maschinen umgestiegen. Auf dem Weg dorthin habe ich mir die Hände mit Sprachen wie Pascal, C und C++ schmutzig gemacht. Aber die IDEs haben sich nicht viel verändert, abgesehen von der Syntaxhervorhebung und den Debugging-Funktionen.

Mit der Ankunft von GitHub Copilot und ChatGPT hat sich alles dramatisch verändert. Das Ausprobieren dieser Tools fühlte sich an wie der Moment, in dem ich zum ersten Mal ein iPhone in der Hand hielt - ein absoluter Umbruch.

In natürlicher Sprache habe ich ChatGPT gebeten, Code zu schreiben. Oder ich tippte in VS Code ein Fragment einer Funktion ein, und GitHub Copilot generierte einen Codeblock. Oft war das wie ein Volltreffer. Oh, und dann habe ich ChatGPT benutzt, um Bilder in Code zu verwandeln.

Doch die eigentliche Stärke war, dass diese Tools viele der mühsamen Aufgaben für Entwickler übernehmen konnten. Wer hat schon Lust, sich mit Regex-Anweisungen herumzuschlagen oder Bash-Befehle oder GitHub-Aktionen zusammenzuklauben? Ich ganz sicher nicht. Aber diese KI-Programmierwerkzeuge? Sie fressen dieses Zeug zum Frühstück.

Es hat sich herausgestellt, dass diese KI-Tools nicht nur für die Programmierung nützlich sind. Ich fing an, ChatGPT für das Brainstorming von App-Ideen, den Entwurf von Anforderungen und sogar für die Erstellung von Unit-Tests zu nutzen.

Es dauerte nicht lange, bis ich davon überzeugt war, dass KI-gestütztes Programmieren zu den unverzichtbaren Fähigkeiten für Programmierer/innen gehören würde.

Also ja, ich sah ein großes Bedürfnis, dieses Buch zu schreiben. Ich erstellte eine Skizze und schlug sie O'Reilly vor. Die Leute dort sahen sofort das Potenzial.

Das Schreiben des Buches hat viel Spaß gemacht und ich habe eine Menge gelernt. Außerdem habe ich viele kluge Entwickler interviewt, die mir tolle Ideen und Tipps gegeben haben.

Aber die KI-gestützte Programmierung entwickelt sich schnell weiter. Deshalb hat dieses Buch ein begleitendes GitHub-Repository. Hier werde ich das Buch aktualisieren und weitere wichtige Entwicklungen in diesem spannenden Bereich aufnehmen.

Danke, dass du dieses Buch in die Hand genommen hast. Ich hoffe, es ist nicht nur informativ, sondern auch ein wertvoller Leitfaden für deine Reise.

Was ist abgedeckt?

Hier ist ein kurzer Blick auf jedes Kapitel:

  • Kapitel 1, "Neue Welt für Entwickler/innen": Dieses Kapitel beginnt mit einem Blick darauf, wie generative KI das Spiel für Programmierer/innen verändert. Es geht darum, wie diese KI-Tools Entwicklern dabei helfen, mehr über das große Ganze nachzudenken und weniger über die Feinheiten des Programmierens. Das Kapitel macht auch einen Spaziergang durch die Geschichte der Programmiersprachen. Außerdem gibt es Details über fortschrittliche KI-Technologien wie GPT-4.

  • Kapitel 2, "Wie KI-Codierungstechnologie funktioniert": Zu Beginn des Kapitels wird erklärt, wie generative KI funktioniert und warum Transformatormodelle und große Sprachmodelle in der Programmierwelt eine große Rolle spielen. Außerdem wird der Playground von OpenAI vorgestellt, der dir zeigt, wie du mit diesen KI-Modellen spielen und sie an deine Programmieranforderungen anpassen kannst.

  • Kapitel 3, "Prompt-Engineering": Die Informationen hier sind entscheidend für den Einsatz von KI-unterstützten Programmierwerkzeugen. Dieses Kapitel ist vollgepackt mit praktischen Tipps, z. B. zum Umgang mit wortreichen oder verwirrenden Eingabeaufforderungen und um die KI davon abzuhalten, sich etwas auszudenken. Außerdem werden die wichtigsten Bestandteile einer Eingabeaufforderung aufgeschlüsselt und es wird gezeigt, wie du sie effektiv nutzen kannst.

  • Kapitel 4, "GitHub Copilot": Dieses Kapitel ist ein Durchgang durch dieses leistungsstarke Tool. Es geht um die wichtigsten Funktionen wie das Erstellen von Code mit Kommentaren, Chat und die Verwendung einer KI-gesteuerten Befehlszeilenschnittstelle. Auch die Anpassung des Systems für eigene Codebasen wird behandelt.

  • Kapitel 5, "Andere KI-gestützte Programmierwerkzeuge": In diesem Kapitel werden die wichtigsten KI-gestützten Programmierwerkzeuge wie Amazon CodeWhisperer, Duet AI von Google und Replit vorgestellt, um nur einige zu nennen.

  • Kapitel 6, "ChatGPT und andere Allzweck-LLMs": Hier erfährst du, wie du diese Tools für Aufgaben wie den Umgang mit regulären Ausdrücken, Startcode und GitHub-Aktionen nutzen kannst.

  • Kapitel 7, "Ideen, Planung und Anforderungen": Hier geht es um den Einsatz von Chatbots als Starthilfe für Softwareprojekte. Dabei geht es um Themen wie Brainstorming, Marktforschung, Anforderungsdokumente und testgetriebene Entwicklung.

  • Kapitel 8, "Codierung": In diesem Kapitel geht es um gängige Entwicklungsszenarien, wie die Arbeit mit APIs, modulare Programmierung oder Refactoring. Außerdem geht es um den Umgang mit Funktionen und objektorientierte Programmierung.

  • Kapitel 9, "Fehlersuche, Tests und Einsatz": In diesem Kapitel geht es um die weniger glamourösen Teile der Entwicklung. Es behandelt Themen wie das Beheben von Fehlern, den Einsatz von KI-gestützten Programmiertools für Codeüberprüfungen, die Durchführung von Unit-Tests und die Beschreibung von Pull-Requests.

  • Kapitel 10, "Schlussfolgerungen": Dies ist eine Zusammenfassung des Buches, in der die wichtigsten Punkte hervorgehoben werden.

Wie dieses Buch anders ist

Softwareentwickler/innen leben von der Gewissheit. Wenn du einem Programm eine bestimmte Eingabe gibst, erhältst du immer die gleiche Ausgabe. Lange Zeit war diese rein deterministische Logik das Herz und die Seele der Software.

Aber wenn du KI-gestützte Programmiertools verwendest, werden die Dinge ein wenig auf den Kopf gestellt. Ergebnisse zu erhalten ist wie Würfeln, da alles auf Wahrscheinlichkeiten beruht. Wenn du ein KI-Tool aufforderst, einen Code zu erstellen, und sogar dieselbe Eingabeaufforderung mehrmals verwendest, kann es sein, dass du jedes Mal andere Ergebnisse erhältst. Am Anfang ist das natürlich etwas verwirrend, aber wenn du den Dreh erst einmal raus hast, lohnt es sich auf jeden Fall. Deshalb gibt es ein Kapitel über Prompt-Engineering, das dir bei dieser neuen Art der Programmierung helfen wird.

Wer sollte dieses Buch lesen?

Dieses Buch ist für jeden Entwickler geeignet, egal ob du gerade erst anfängst oder schon seit vielen Jahren dabei bist.

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Hinweis

Dieses Element steht für einen allgemeinen Hinweis.

Code-Beispiele verwenden

Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/ttaulli/AI-Assisted-Programming-Book zum Download bereit .

Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an

Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich .

Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "KI-gestützte Programmierung von Tom Taulli (O'Reilly). Copyright 2024 Tom Taulli, 978-1-098-16456-0."

Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter kontaktieren

O'Reilly Online Learning

Hinweis

Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.

Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/AI-assisted-programming aufrufen .

Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.

Finde uns auf LinkedIn: https://linkedin.com/company/oreilly-media

Schau uns auf YouTube: https://youtube.com/oreillymedia

Danksagungen

Ich möchte den Leuten bei O'Reilly danken, die an dieses Buch geglaubt und hart daran gearbeitet haben, es Wirklichkeit werden zu lassen: Nicole Butterfield, Shira Evans und Brian Guerin. Ich hatte auch den Vorteil, dass ich von hervorragenden technischen Prüfern unterstützt wurde. Dazu gehören Roja Boina, Abraham Borg, Sarah Kim, Ebubechukwu (Nnenna) Oguaju-Dike und Gaurav Deshmukh.

Get KI-unterstützte Programmierung now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.