Editoren/IDEs

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Übersicht Texteditoren/IDEs für Programmierer

Unix/Linux

Mac OS X

  • SubEthaEdit (nicht mehr frei für nichtkommerzielle Nutzung (seit Version 2.3), erlaubt das gemeinsame Bearbeiten einer Datei von mehreren Personen gleichzeitig)
  • jEdit
  • TextMate
  • Außerdem gibt es natürlich alle Unix-/Linux-Editoren als OS X-Port, je nachdem im Terminal oder unter X11. vim und Emacs gibt es als fertige Pakete über Fink oder die Darwinports.

Windows

  • PSPad (Freeware, vglb. mit UltraEdit)
  • UltraEdit (Shareware)
  • Programmers Notepad (Freeware, u.a. in WinAVR enthalten)
  • Vim (Native Windows Anwendung)
  • WinVi
  • Syn (Open Source)
  • SciTE
  • Textpad (Shareware)
  • Notepad++ (Open Source)
  • MED (Shareware)
  • Dev-C++ (GNU, komplette IDE für C/C++)
  • Proton (Texteditor)
  • VIDE (IDE für GNU g++ und Java)
  • Crimson Editor
  • Geany (GTK2 also auch mit Windows-Binaries!)
  • Emacs Versionen für Windows:
    • NTEmacs. Eine ältere Portierung für Windows, die nach Meinung eines Anwenders hier, der Xemacs Version vorzuziehen ist.
    • Xemacs - Fork Version.
    • GNU Emacs als Teil der Cygwin-Umgebung. Cygwin ist eine Sammlung freier Software, die unter Microsoft Windows eine Vielzahl von Funktionen einer UNIX-Umgebung bereitstellt (aus: Wikipedia)
  • IDEs für die AVR Programmierung
    • AVR-Studio (für AVR-Assembler/C/C++, vom Originalhersteller, kostenlos), Webseite
    • myAVRWorkpad (für AVR-Assembler/C, lauffähige DEMO verfügbar)
    • BASCOM (für BASIC Dialekt für AVR, lauffähige DEMO verfügbar)

Multiplattform


Erfahrungen

Einer für alle oder alle für einen?

Als Neueinsteiger sollte man sich u.a. folgende Frage stellen: will ich ein Programm(paket) für alles oder für alles ein Programm? Mit anderen Worten: möchte ich eine IDE oder lieber zu Fuß programmieren, kompilieren, flashen, debuggen? Bitte nicht falsch verstehen, beide Varianten haben ihre Vor- und Nachteile; obendrein gibt es auch Mittelwege. In jedem Fall sollte man aber wissen, dass es unter gewissen Voraussetzungen zumindest anfangs von Vorteil sein kann, eine IDE zu verwenden. Wenn bereits Erfahrungen z.B. mit Eclipse oder Code::Blocks gesammelt wurden, ist es sicher vorteilhaft, damit entsprechend weiterzuarbeiten. Wer jedoch einen Windows-PC und einen originalen Atmel-Programmieradapter (oder zumindest den Klon eines solchen) sein eigen nennt, dem sei das kostenlose AVR Studio ab Version 5 wärmstens empfohlen. Es tut zwar auch bekennenden Mausschubsern etwas weh, mehrere Gigabyte an Software zu installieren, um letztendlich ein Hello-µC-World von wenigen hundert Byte zu produzieren und zu testen, aber man erspart sich viele Unannehmlichkeiten und wird auch später nicht an funktionalen Engpässen scheitern. Wer mit Visual Studio klarkommt, wird auch mit AVR Studio (basiert auf der MS Visual Studio Shell) keine Probleme haben und für absolute Newbies gibt es auch Tutorial-Videos vom Hersteller, die einem die ersten Schritte erleichtern. Ich will nicht abstreiten, dass man auch mit Notepad++, WinAVR, AVRDUDE und einem selbstgestrickten Programmieradapter ans Ziel kommt, aber die Wahrscheinlichkeit Anfänger-Fehler zu produzieren ist ungleich höher. Fairerweise muss man dazusagen, dass genau diese Fehler häufig den besten Lerneffekt zur Folge haben. --Rellachs 22:26, 9. Nov. 2011 (UTC)

Ok, und welchen Editor nehme ich jetzt?

Nun sind hier einige Editoren genannt, aber welchen soll ich als blutiger Anfänger nehmen? Nunja die Wahl des Editors ist in Unix-Umkreisen schon eine Art Religion geworden und daher muss auch jeder selber wissen, womit er arbeitet. Wichtig ist es jedoch sich mit seinem Editor auszukennen. Wer bei seinem Editor nur das einfache Suchen/Ersetzen beherrscht, der kann nicht produktiv arbeiten. Wichtig ist es, dass man sich schnell und sicher in seinem Editor bewegen kann. Wer schon mal die Befehle oder Tastaturkürzel für ans Zeile-Anfang und Zeile-Ende kennt und auch anwendet, dem ist schon stark geholfen. Als weiteres kann es sinnvoll sein zu wissen, wie man an den Anfang/Ende des Absatzes kommt. Wer sich dann auch durch den Text bewegen kann, ohne dass er sich lästig mit den Pfeiltasten Buchstabe für Buchstabe vorarbeiten muss, dem sei schon arg geholfen. Ein weiterer wichtiger Punkt ist für mich das Highlighting, also das Einfärben des Textes. Ebenfalls nützlich und sehr produktiv ist es, den Compiler direkt aus dem Editor heraus zu starten. Also Leute, lernt, mit Eurem Editor produktiv zu arbeiten. Der Weg dorthin ist sehr hart, da man sich immer wieder dabei erwischt, anstatt schneller Tastaturkürzel mühsam mit den Pfeiltasten durch den Text zu wühlen. Wer es jedoch schafft, wird irgendwann feststellen, dass es ein verdammt geiles Gefühl ist. Im übrigen ist derjenige kein Warmduscher, der immer eine Reference Card neben sich liegen hat. Im Gegenteil derjenige ist der Gewinner, bei dem sich die Reference Card mit eigenen Einträgen füllt!

Vielleicht Emacs?

Sieht doch gar nichts so schlecht aus! Emacs mit der empfehlenswerten ECB Erweiterung unter Windows! Link zum Screenshot.

Ok wer jetzt doch noch einen Tip hören will! Ehrlich gesagt, weiss ich nicht, ob ich den Emacs uneingeschränkt empfehlen kann. Fürs Auge ist das Ding leider nichts (Xemacs sieht ein wenig besser aus) und es lässt sich für Anfänger auch nicht intuitiv bedienen. Wenn man mich selber nicht dazu genötigt hätte, mit diesen Editor ein halbes Jahr zu programmieren, hätte ich ihn immer und ewig gemieden. Jedoch habe ich mich in dem halben Jahr damit arrangiert und gelernt mit Emacs produktiv zu arbeiten.

Die Tastaturkürzel sind teilweise grauenhaft und sehr wichtig ist die Konfiguration. Leider ist gerade die Konfiguration der Knackpunkt. Besonders wenn man irgendwann häufiger mit dem Emacs arbeitet will man bestimmte Funktionen schnelle erreichen. Im Grunde jedoch gibt es keine Funktion die der Emacs nicht kennt. Empfehlen kann ich die Versionsmanagementfunktion. Somit kann man sich selber erziehen, um seine Programme mit einer Versionskontrolle zu schreiben. Auch dieser Schritt sollte sich jeder Programmierer mal überlegen. Wie oft hat man schon Programme umgeschrieben, auskommentiert, gelöscht und nachher wieder alles neu geschrieben. Mit dem Ergebnis, dass das Ergebnis vorm auskommentieren und löschen nicht viel anderes aussieht wie danach.

Kurz, Emacs ist sehr mächtig, aber leider ist die Lernkurve anfangs sehr gering. Hilfe für den Anfang bietet u.a. das eBook Learning Gnu Emacs.

Ready to RUN

Als sehr interessante Alternative zu vielen fertigen IDEs kann ich eine bootbare CD mit Linux (LiveCD) empfehlen.

Guido Socher von Tuxgraphics hat ein bootbares Linux erstellt. Die IDE besteht aus mehreren Editoren, dem Gnu-C-AVR Compiler inkl. Bibliotheken und einem Programmierer. Somit kann man auch auf anderer Hardware seine Atmegas programmieren. Auch wenn man sich den Compiler und Programmierer auf dem Rechner installert (Anleitung auch bei Tuxgraphics) und dann losprogrammiert kann es häufiger passieren, dass es nicht funktioniert. Dann steht man davor zu entscheiden ob die Programmierumgebung kaputt ist oder der das Board nicht so will. Abhilfe: CD-Rein und dann ausschliessen.... Zugegebenermaßen soweit ich weiss, ist die CD nur käuflich zu erhalten. Der Preis ist mit Handbuch und Programmieradapter auch für mich als Student mit knapp 16 Euro mehr als akzeptabel. Die Oberfläche ist jedoch ein wenig gewöhnungsbedürftig. Für Leute die keinerlei Erfahrung mit Linux haben und auch nicht experimentierfreudig sind, kann ich diese CD nur bedingt empfehlen.

Eine relativ junge LiveCD ist die AVR-Live-CD von Michael Heidinger.