Um Algorithmen im Computer zu implementieren, können Sie sich verschiedener Werkzeuge bedienen. Die Spannbreite reicht von einfachen Texteditoren bis zu schwergewichtigen Umgebungen. In loser Reihenfolge lernen Sie hier verschiedene Programmier-Entwicklungsumgebungen kennen. Dabei wird – wenn möglich und sinnvoll, eine kurze Einschätzung für die Eignung je nach Anwendungsfall gegeben.
Stand 21.11.2022
Texteditor vs. IDE
Eine IDE (integrated development environment) nimmt Ihnen vieles an operativen Arbeiten bei der Programmierung ab. Das führt bei Programmieranfängern zu dem Umstand, dass diese oft ihre Programm nur in der Umgebung laufen lassen können und nicht in der Lage sind, die Programme weiterzugeben (prominente Beispiele: Visual Studio Community, Eclipse). Wer hingegen in der Lage ist, mit einem Texteditor ein Programm zu schreiben und manuell zu kompilieren, hat meist auch den Entwicklungsprozess als solchen verstanden. In didaktische Sujets (Schule, Hochschule) sollte daher grundsätzlich erst mit einfachen Werkzeugen begonnen werden. Der unmittelbare Einsatz schwergewichtiger Entwicklungsumgebungen macht Lerner in der Regel dumm.
Bei der Verwendung von einfachen Texteditoren, die Syntax-Highlighting beherrschen (prominente Beispiele sind Notepad++ oder Sublime Text) stellt sich meist schnell eine Verständnis für den Programmerstellungsablauf ein. Die farbliche Markierung des Quelltextes ist eine große Hilfe bei der Fehlersuche.
Es geht aber auch „ganz ohne“ mit rudimentären Editoren wie nano im Linux-Terminal oder Notepad unter Windows.
Einfachste Texteditoren
nano
nano ist ein einfacher Texteditor im Linux- oder Mac-Terminal. nano kann auch über einen ssh-Login z.B. auf einem Raspberry Pi genutzt werden. Um ein kleines Python Programm auszuprobieren, ist nano ausreichend und besonders geeignet, wenn gar keine grafische Oberfläche zur Verfügung steht. Rudimentär hat nano auch Syntax-Highlighting.
Abb. 1: nano im Terminal über ssh, Python-Programmierung auf dem Raspberry
Texteditoren mit grafischer Benutzungsoberfläche
Notepad++
Sublime Text
Sublime Text ist ein Editor mit Unterstützung für viele Programmiersprachen und Betriebssysteme.
Abb. 2: Sublime Text im Einsatz auf MacOS, PHP-Programmierung
Atom
Brackets
Einfachere Entwicklungsumgebungen
Arduino-IDE
Die Arduino-IIDE ist ursprünglich die Entwicklungsumgebung für den Microcontroler Arduino. Die Programmierung erfolgt in C/C++. Die Arduino IDE ist relativ offen, so dass mittlerweile fast alle Controller (ESP32, STMxxx, Raspberry Pico u.v.m.) damit programmiert werden können.
Abb. 3: Arduino IDE auf dem Mac
Thonny
Thonny ist ein Python-Editor, der eine einfache Anbindung von Microcontrollern wie dem Raspberry Pico ermöglicht. Thonny läuft auch auf schwächeren Rechnern wie dem Raspberry Pi. Thonny wird direkt mit der aktuellen PythonVersion ( 3.10 ) ausgeliefert, so dass nur ein einfaches Installationsprogramm erforderlich ist, um das Programmieren zu lernen. Die Benutzeroberfläche ist aufgeräumt und frei von allen Funktionen, die insbesondere Anfänger ablenken.
Thonny lässt sich einfach installieren und läuft auf Windows 11, 10, 8, 7 , machOS und Linux. Unter Windows belegt Thonny mit Python etwa 390 MB.
Download-Link: https://thonny.org
Abb. 4: Thonny IDE auf dem Mac mit einem einfachen Python Programm
Integrierte Umgebungen für Frameworks
Visual Studio (Community / Enterprise)
Visual Studio ist die professionelle Umgebung von Microsoft. zur Entwicklung im Dot Net Framework.
Visual Studio Code
Visual Studio Code ist ein freier Editor von Microsoft und ist insbesondere im Zusammenspiel mit dem Dot-Net Framework geeignet.
Eclipse
Eclipse ist eine Umgebung für und mit Java, hat allerdings den Anspruch, für alle Frameworks und Umgebungen geeignet zu sein.
Spezialumgebungen
Jupyter Notebook (Nachfolger: Jupyter Lab)
Der Name Jupyter setzt sich aus den Anfangsbuchstaben der Programmiersprachen Julia, Python und der Statistiksprache R zusammen. allerdings unterstützt Jupyter aber auch zahlreiche weitere Sprachen wie C++, Ruby, Haskell, PHP, Java. Kernprodukt des Júpyter-Universums ist Jupyter Notebook. Jupyter Notebook gibt es seit 2015 uns ist eine Software zum kollaborativem Verarberiten interaktiver Arbeitsblätter nach dem Client-Server-Prinzip arbeitet. In einem Jupyter Notebook ausführbarer Programmcode mit Ergebnissen wie Zahlen, Texte, Grafiken bereitstellen. Der Zugriff erfolgt mittels Webbrowser. Jupyter Notebooks werden als JSON-(JavaScript Object Notation)Dateien gespeichert. Typische Anwendungsmöglichkeiten sind Datenanalysen und -visualisierungen sowie Machine Learning.
Jupyter Notebook kann auf dem eigenen Rechner installiert werden. Ebenso ist eine Nutzung über ein Google Konto möglich (Google colab).
Fazit Programmier-Entwicklungsumgebungen
Programmier-Neulinge und erfahrene Entwickler:innen können sich aus einem breitgefächerten Portfolio an Entwicklungsumgebungen bedienen.
Für den Prorammier-Einstieg sei zunächst ein einfacher Editor empfohlen.