Lust selber kreativ mit Code zu werden? Vorraussetzung dafür ist das Verständnis grundlegender Funktionsweisen des Computers und Programmiersprachen. Viele tolle Anleitungen für ambitionierte Anfänger finden sich hier in einer Liste zusammengestellt.
Inhaltsverzeichnis
- 3D-Renderer bauen
- Augmented Reality
- BitTorrent-Client bauen
- Bot bauen
- Befehlszeilen-Tool bauen
- Datenbank erstellen
- Docker bauen
- Emulator / Virtuelle Maschine bauen
- Ein eigenes Frontend-Framework / Bibliothek erstellen
- Ein eigenes Git bauen
- Netzwerk-Stack aufbauen
- Ein eigenes neuronales Netzwerk aufbauen
- Das eigene Betriebssystem bauen
- Eine Physik-Engine bauen
- Eine eigene Programmiersprache erfinden
- Regex Engine bauen
- Eigene Suchmaschine bauen
- Eigene Shell bauen
- Template Engine erstellen
- Einen Texteditor erstellen
- Ein eigenes visuelles Erkennungssystem aufbauen
- Eine eigene Voxel Engine bauen
- Eine eigene Web-Suchmaschine bauen
- Einen eigenen Webserver bauen
- Sonstiges
3D-Renderer bauen
- C++: Einführung in Ray Tracing: eine einfache Methode zur Erstellung von 3D-Bildern
- C++: Wie OpenGL funktioniert: Software-Rendering in 500 Zeilen Code
- C++: Raycasting-Engine von Wolfenstein 3D
- C++: Physikalisch basiertes Rendering: Von der Theorie bis zur Implementierung
- C++: Rasterung: eine praktische Umsetzung
- C# / TypeScript / JavaScript: Lerne wie man eine 3D-Soft-Engine von Grund auf in C#, TypeScript oder JavaScript schreibt.
- Java / JavaScript: Erstelle Deinen eigenen 3D-Renderer
- Java: So Erstelle Deine eigene einfache 3D-Render-Engine in reinem Java
- JavaScript / Pseudocode: Computergrafik von Grund auf neu
- Python: Ein 3D-Modellierer
Augmented Reality
- C#: Anleitung: Augmented Reality App Tutorial für Anfänger mit Vuforia und Unity 3D [Video].
- C#: Wie man ARCore vereint [Video]
- C#: AR Portal Tutorial mit Einheit [Video]
- C#: Wie man einen Drachen in Augmented Reality in Unity ARCore erstellt.
- C#: Wie man Augmented Reality AR Tutorial: ARKit Portal auf den Kopf gestellt [Video]
- Python: Erweiterte Realität mit Python und OpenCV
BitTorrent-Client bauen
- C#: Erstellung eines BitTorrent-Clients von Grund auf in C#
- Nim: Schreibe einen Bencode-Parameter
- Node.js: Schreibe Deinen eigenen Bittorrent-Client.
- Python: Ein BitTorrent-Client in Python 3.5
Bot bauen
- Haskell: Baue Deinen eigenen IRC-Bot
- Java: Wie man einen gruseligen russischen Twitter-Bot mit Java macht
- Node.js: Erstelle einen einfachen Facebook Messenger KI-Bots mit API.ai in Node.js
- Node.js: Wie man einen Telegramm-Bot erstellt
- Node.js: Einen Discord-Bot erstellen
- Node.js: gifbot – Erstelle einerGitHub-App
- Node.js: Erstelle einen einfachen KI-Chatbots mit Web Speech API und Node.js
- Python: Chatbot Grundlagen: Eine interaktive Anleitung zum Schreiben von Bots in Python
- Python: Wie man seinen ersten Slack Bot mit Python baut
- Python: Wie man einen Slack Bot mit Python mit Slack Events API & Django unter 20 Minuten erstellt.
- Python: Einen Reddit-Bot erstellen
- Python: Wie man einen Reddit-Bot erstellt
- Python: Wie man einen Telegramm-Bot mit Python erstellt
- Python: Erstelle einen Twitter-Bot in Python mit Tweepy.
- Python: Reddit Bot mit Python & PRAW erstellen [Video]
- R: Baue mit R einen Kryptowährungs-Handelsbot auf.
- Rust: Ein Bot für Starcraft in Rust, C oder einer anderen Sprache.
Befehlszeilen-Tool bauen
- C: Den Befehl cat von Grund auf neu schreiben
- Geh: Visualisiere Deine lokalen Git-Beiträge mit Go
- Geh: Erstelle eine Kommandozeilen-App mit Go: lolcat.
- Geh: Aufbau eines Client-Kommandos mit Go: cowsay
- Geh: Go CLI Tutorial: Glücksklon
- Nim: Schreibe eine Alternative zur Verwaltung von Punktdateien
Datenbank erstellen
- C: Lass` uns eine einfache Datenbank erstellen
- C++: Implementierung eines Key-Value-Stores
- C#: Erstelle Deine eigene Datenbank
- Clojure: Eine von der Archäologie inspirierte Datenbank
- Crystal: Warum Deine eigene NoSQL-Datenbank erstellen solltest
- JavaScript: Dagoba: eine speicherinterne Diagrammdatenbank
- Python: DBDB: Datenbank für Hundebetten
- Python: Schreibe Deine eigene Miniatur Redis mit Python.
Docker bauen
- C: Linux-Container in 500 Zeilen Code
- Geh: Baue Deinen eigenen Container mit weniger als 100 Go-Linien.
- Geh: Einen Container von Grund auf neu erstellen in Go.
- Python: Ein Workshop über Linux-Container: Docker aus Scratch wiederherstellen
- Python: Eine Proof-of-Concept-Nachahmung von Docker, geschrieben zu 100% mit Python.
- Schale: Docker implementiert in rund 100 Linien von bash
Emulator / Virtuelle Maschine bauen
- C: Virtuelle Maschine in C
- C: Schreibe Deine eigene virtuelle Maschine
- C: Schreibe einen Game Boy-Emulators, Cinoop
- C++: Wie man einen Emulator schreibt (CHIP-8 Interpreter)
- C++: Emulations-Tutorial (CHIP-8 Interpreter)
- C++: Emulations-Tutorial (GameBoy-Emulator)
- C++: Emulations-Tutorial (Master System Emulator)
- Gewöhnliche Lispeln: CHIP-8 im Common Lisp
- JavaScript: GameBoy Emulation in JavaScript
- Python: Emulationsgrundlagen: Schreibe Deinen eigenen Chip 8 Emulator/Interpreter.
Ein eigenes Frontend-Framework / Bibliothek erstellen
- JavaScript: WTF ist JSX (Let’s Build a JSX Renderer)
- JavaScript: Ein DIY-Guide zum Erstellen eines eigenen Reacts
- JavaScript: Reverse Engineering Reaktion [Video]
- JavaScript: lerne React von Anfang an Scratch [Video]
- JavaScript: Aufbau eines eigenen React Clones in fünf einfachen Schritten
- JavaScript: Gooact: Reagiere in 160 Zeilen JavaScript
- JavaScript: React Basics
- JavaScript: Erfahre , wie das React Reconciler Paket funktioniert, indem Du Dein eigenes leichtes React DOM erstellen.
- JavaScript: Baue Dir selbst einen Redux
- JavaScript: Schreiben wir Redux!
- JavaScript: Redux: Implementierung des Speichers aus Scratch
- C: Lerne die Programmierung von Videospielen in C.
- C: Kodierung eines Sudoku-Lösers in C.
- C: Programmierung eines Rogue/Nethack-RPGs in C.
- C: Über Tetris und Reimplementierung
- C++: 2D-Spiel aufbauen
- C++: Beginn der Spieleprogrammierung v2.0
- C++: Tetris Tutorial in C++ plattformunabhängig mit Fokus auf Spiellogik für Einsteiger
- C++: Wiederherstellen von Cavestory in C++
- C++: Rauminvasoren von Scratch
- C#: Lerne C#, indem Du ein einfaches RPG erstellen.
- C#: Erstelle ein Spiels in c#
- C#: Erstelle ein C#/WPF RPG
- Geh: Spiele mit Go [Video]
- Java: 3D-Spielentwicklung mit LWJGL 3
- JavaScript: 2D Breakout-Spiel mit Phaser
- JavaScript: Wie man Flappy Bird in HTML5 mit Phaser macht
- JavaScript: Entwicklung von Spielen mit React, Redux und SVG
- JavaScript: Baue Dein eigenes 8-Ball Poolspiel von Grund auf neu [Video].
- JavaScript: Wie man seinen ersten Schurken wie einen Schurken macht
- JavaScript: Denke wie ein Programmierer: Wie man Snake nur mit JavaScript, HTML & CSS erstellt.
- Lua: BYTEPATH PFAD
- Python: Entwicklung von Spielen mit PyGame
- Python: Spiele machen mit Python & Pygame [pdf]
- Python: Das komplette Tutorial [Video]
- Python: Roguelike Tutorial überarbeitet
- Ruby: Entwickeln von Spielen mit Ruby
- Ruby: Spiele mit Ruby bauen
- Rust: Abenteuer in Rust: Ein einfaches 2D-Spiel
- Rust: Roguelike Tutorial in Rust + tcod
Ein eigenes Git bauen
- Haskell: Reimplementierung von „git clone“ in Haskell von unten nach oben
- JavaScript: Keule
- JavaScript: GIT aufbauen – GIT lernen
- Python: Gerade genug von einem Git-Client, um einen Repo zu erstellen, zu committen und sich selbst zu GitHub zu pushen.
- Python: Schreib dir selbst ein Git!
- Ruby: Aufbau der Git in Ruby
Netzwerk-Stack aufbauen
- C: Beejs Leitfaden für die Netzwerkprogrammierung
- C: Lass` uns einen TCP/IP-Stack bauen
- Ruby: Wie man einen Netzwerkstack in Ruby erstellt
Ein eigenes neuronales Netzwerk aufbauen
- C#: OCR für neuronale Netzwerke
- F#: Aufbau neuronaler Netze in F#
- Geh: Baue mit Golang ein mehrschichtiges Perzeptron auf.
- Go: Wie man mit Go ein einfaches künstliches neuronales Netzwerk aufbaut.
- Geh: Aufbau eines neuronalen Netzes aus Kratzern in Go
- JavaScript / Java: Neuronale Netze – Die Art des Codes [Video]
- JavaScript: Implementierung des Neuronalen Netzwerks in JavaScript, anhand eines Beispiels
- JavaScript: Neuronale Netze von Grund auf für JavaScript-Linguisten (Part1 - The Perceptron)
- Python: Ein neuronales Netzwerk in 11 Linien von Python
- Python: Implementierung eines neuronalen Netzwerks von Scratch
- Python: Optische Zeichenerkennung (OCR)
- Python: Klassifizierung von Verkehrszeichen mit einem Faltungsnetz
- Python: Musikgenerierung mit LSTM Neural Network in Keras
Das eigene Betriebssystem bauen
- Windows: Schreibe einen winzigen x86-Bootloaders
- Baking Pi: – Entwicklung von Betriebssystemen
- C: Erstellung eines Soft- und Hardware-Stacks für einen einfachen Computer von Grund auf neu [Video].
- C: Betriebssysteme: Von 0 bis 1
- C: Das kleine Buch über die OS-Entwicklung
- C: Baue Dein eigenes Spielzeug UNIX-Klon OS
- C: Kernel 101 – Lass` uns einen Kernel schreiben.
- C: Kernel 201 – Schreiben wir einen Kernel mit Tastatur- und Bildschirmunterstützung.
- C: Erstelle einen minimalen Multitasking-Kernel für ARM von Grund auf neu.
- C: Wie man ein Betriebssystem von Grund auf neu erstellt
- C: Malloc-Tutorial
- C: Hacke den virtuellen Speicher.
- C: Erlernen der Betriebssystementwicklung mit Linux-Kernel und Raspberry Pi
- C: Entwicklung von Betriebssystemen für Dummies
- C++: Schreibe Dein eigenes Betriebssystem.
- C++: Schreibe einen Bootloader
- Rust: Schreibe ein Betriebssystem in Rust
Eine Physik-Engine bauen
- C: Videospiel Physik Tutorial
- C++: Spielphysik-Serie von Allen Chou
- C++: Wie man eine benutzerdefinierte Physik-Engine erstellt
- C++: 3D Physik Motor Tutorial [Video]
- C#: TowerFall-Physik
- JavaScript: Erstelle Deine eigene grundlegende Physik-Engine in JavaScript.
- JavaScript: Wie Physik-Engines funktionieren
- JavaScript: Breitphasen-Kollisionsdetektion mit räumlicher Partitionierung
- JavaScript: Erstellen einer einfachen 2D-Physik-Engine für JavaScript-Spiele
Eine eigene Programmiersprache erfinden
- (any): mal – Make a Lispel
- Jonesforth
- C: Babys erster Müllsammler
- C: Baue Dein eigenes Lispeln: Lerne C und Baue Deine eigene Programmiersprache in 1000 Zeilen Code.
- C: Schreibe einen einfachen Garbage Collectors in C
- C: C-Interpreter bauen
- C: Eine C- und x86-Version des „Let’s Build a Compiler“ von Jack Crenshaw.
- C++: Schreibe Deinen eigenen Spielzeug-Compiler mit Flex
- C++: Wie man einen Compiler erstellt
- C++: Kaleidoskop: Implementierung einer Sprache mit LLVM
- F#: Verständnis von Parser-Kombinatoren
- Elixier: Entmystifizierung von Compilern durch das Schreibe einen eigenen[Videos].
- Geh: Der superwinzige Compiler
- Geh: Lexikalisches Scannen im laufenden Betrieb [Video]
- Haskell: Schreibe eine Haskell
- Haskell: Schreibe selbst ein Schema in 48 Stunden.
- Haskell: Schreibe ein Schema
- Java: Erstellung von Dolmetschern: Ein Handbuch zur Erstellung von Programmiersprachen
- Java: JVM-Sprache anlegen
- JavaScript: Der superwinzige Compiler
- JavaScript: Der superwinzige Dolmetscher
- JavaScript: Kleiner Lispelinterpreter
- JavaScript: Wie man eine Programmiersprache in JavaScript implementiert
- OCaml: Schreibe einen C-Compilers
- OCaml: Schreibe eine Lispel, die Serie
- Pascal: Lass` uns einen Compiler bauen.
- Python: Ein in Python geschriebener Python-Interpreter
- Python: lisp.py: Erstelle deinen eigenen Lisp-Interpreter
- Python: Einfaches Iterator-basiertes Parsen
- Python: Einfaches Top-Down-Parsing in Python
- Python: Wie man einen Lisp-Interpreter in Python schreibt
- Python: Lass` uns einen einfachen Interpreter erstellen.
- Python: Erstelle Deine eigene einfache interpretierte Programmiersprache.
- Schläger: Wunderschöne Schlägerei: Wie man mit Racket eigene Programmiersprachen erstellt
- Ruby: Ein Compiler von Scratch
- Ruby: Markdown-Compiler von Grund auf neu in Ruby
- Rust: Du möchtest also eine Sprach-VM erstellen?
- Rust: Lerne Parser-Kombinatoren mit Rust
- Schnell: Erstellen einer LISP von Grund auf neu mit Swift
- TypeScript: Erstelle Deinen eigenen WebAssembly Compiler.
Regex Engine bauen
- C: Ein regulärer Ausdrucksmusterer
- C: Regular Expression Matching kann einfach und schnell sein.
- JavaScript: Baue eine Regex Engine in weniger als 40 Zeilen Code.
- JavaScript: Wie man reguläre Ausdrücke in funktionalem Javascript mit Hilfe von Derivaten implementiert.
- Perl: Wie Regexes funktioniert
- Scala: Keine Magie: Reguläre Ausdrücke
Eigene Suchmaschine bauen
- CSS: Eine Suchmaschine in CSS
- Python: Aufbau einer Suchmaschine mit Redis und redis-py
- Python: Aufbau einer Vektorraum-Indexierungs-Engine in Python
- Python: Aufbau einer Python-basierten Suchmaschine
- Python: Damit die Textsuche aus dem Feedback lernt
- Python: Wichtige Wörter im Text mit TF-IDF finden
Eigene Shell bauen
- C: Tutorial – Schreibe eine Shell in C
- C: Lass` uns eine Granate bauen!
- C: Schreibe eine UNIX-Shell
- C: Baue Deine eigene Shell
- Geh: Schreibe eine einfachen Shell in Go
- Ruby: Eine Unix-Shell in Rubyrot
- Rust: Baue Deine eigene Shell mit Rust
Template Engine erstellen
- JavaScript: JavaScript-Template-Engine in nur 20 Zeilen
- JavaScript: Verstehen von JavaScript Micro-Templating
- Python: Herangehensweise: Erstellen einer Spielzeugvorlagen-Engine in Python
- Python: Eine Template Engine
- Ruby: Wie schreibt man eine Template-Engine mit weniger als 30 Zeilen Code?
Einen Texteditor erstellen
- C: Erstelle Deinen eigenen Texteditor
- C++: Design eines einfachen Texteditors
- Python: Python-Tutorial: Erstelle Deinen eigenen Texteditor.
- Python: Erstelle einen einfachen Python-Text-Editor!
- Ruby: Erstelle einen kollaborativen Texteditor mit Rails.
Ein eigenes visuelles Erkennungssystem aufbauen
- Python: Entwicklung eines Kennzeichenerkennungssystems mit Machine Learning in Python
- Python: Aufbau einer Gesichtserkennungspipeline mit Deep Learning in Tensorflow
Eine eigene Voxel Engine bauen
- C++: Lass` uns eine Voxel Engine bauen.
- Java: Lass` uns einen Voxel Engine bauen [Video].
- Java: Java Voxel Engine Tutorial
Eine eigene Web-Suchmaschine bauen
- PHP: Eine Suchmaschine in PHP kodieren
- Ruby: Schreibe eine Internet-Suchmaschine mit 200 Zeilen Ruby-Code.
Einen eigenen Webserver bauen
- C#: Schreibe einen Webservers aus Scratch heraus
- Node.js: Lass` uns einen Webserver von Grund auf neu programmieren mit NodeJS Streams.
- Node.js: lets-build-express
- PHP: Schreibe einen Webservers in reinem PHP
- Python: Ein einfacher Webserver
- Python: Lass` uns einen Webserver bauen.
- Python: Webanwendung von Grund auf
- Python: Erstelle einen einfachen HTTP-Servers von Grund auf in Python
- Python: Implementierung einer RESTful Web API mit Python & Flask
- Ruby: Erstelle einen einfachen Websockets-Servers von Grund auf in Ruby
Sonstiges
- (alle): Von NAND bis Tetris: Aufbau eines modernen Computers nach ersten Prinzipien
- Legierung: Die Same-Origin-Politik
- C: Wie man einen Videoplayer in weniger als 1000 Zeilen schreibt
- C: Lerne, wie man eine Hash-Tabelle in C schreibt.
- C: Die Grundlagen eines Terminalemulators
- C: Schreibe einen Systemaufruf
- C: Sol – Ein MQTT Broker von Grund auf neu
- C++: Erstelle Dein eigenes VR-Headset für $100.
- C++: Wie X Window Manager funktionieren und wie man einen schreibt
- C++: Schreibe einen Linux-Debuggers
- C++: Wie ein 64k Intro erstellt wird
- C#: C# Networking: Erstelle einen TCP-Chater-Server, TCP-Spiele, UDP-Pong und mehr….
- C#: Laden und Rendern von 3D-Skelett-Animationen von Grund auf in C# und GLSL
- Clojure: Erstellen einer Rechtschreibprüfung
- Java: So erstellest Du eine Android Reddit-App
- JavaScript: Baue Dein eigenes Modul Bundler – Minipack
- JavaScript: Lerne JavaScript Promises.
- JavaScript: Versprechen von Grund auf umsetzen (TDD-Weg)
- JavaScript: Implementiere Deine own - call(), apply() und bind() Methode in JavaScript.
- JavaScript: JavaScript-Algorithmen und Datenstrukturen
- JavaScript: Wie man eine evolutionäre Tetris KI macht
- JavaScript: Erstelle eine Ride Hailing App mit React Native.
- Kotlin: Erstelle Deinen eigenen Cache
- Nim: Schreibe einen Redis Protokoll-Parsers
- Nim: Schreibe einen Build-Systems
- Nim: Schreibe einen MiniTest-Frameworks
- Nim: Schreibe einen DMIDecode-Parameters
- Nim: Schreibe einen INI-Parameters
- Nim: Schreibe einen Link Checker
- Nim: Schreibe einen URL-Kürzungsdienstes
- Node.js: Erstelle einen statischen Site-Generator in 40 Zeilen mit Node.js.
- Node.js: Aufbau eines einfachen Single Sign On(SSO)-Servers und einer Lösung aus Scratch In Node.js.
- Node.js: So erstellst Du eine reale Node CLI-App mit Node
- PHP: Schreibe Deinen eigenen MVC von Grund auf in PHP.
- PHP: Erstelle Deinen eigenen Blog
- PHP: Modernes PHP ohne Framework
- Python: Baue eine Deep Learning Library.
- Python: Wie man einen Kick-Ass Mobile Dokumentenscanner in nur 5 Minuten baut.
- Python: Kontinuierliches Integrationssystem
- Python: Recommender Systems in Python: Beginner Tutorial
- Python: Schreibe SMS-Spam-Detektor mit Scikit-Learning.
- Python: Eine einfache inhaltsbasierte Empfehlungsmaschine in Python
- Python: Aktienmarktprognosen mit LSTM in Python
- Python: Erstelle Deinen eigenen Fehlerkorrektur-Brunnencode mit Luby Transform Codes.
- Python: Aufbau eines einfachen Generative Adversial Network (GAN) mit Tensorflow
- Python: Lerne ML Algorithmen durch Codierung: Entscheidungsbäume
- Python: JSON-Dekodierungsalgorithmus
- Ruby: Ein Schrittzähler in der realen Welt
- Ruby: Erstelle eine Linux-Desktop-Anwendung mit Ruby
- Rust: Lass` uns eine Browser-Engine erstellen.
- Rust: Aufbau eines DNS-Servers in Rust
- Rust: Baue einen skalierbarem Chatdienst aus Scratch heraus
- TypeScript: Kleiner Paket-Manager: Lernt, wie npm oder Yarn funktioniert.
Die aktuelle Liste von Daniel Stefanovic ist unter https://github.com/danistefanovic/build-your-own-x abrufbar.