Hier gibt es einen interessanten Artikel zum Thema IDEs. Luke Palmer beklagt sich darin, dass es keine Entwicklungsumgebung gibt, mit der man Programmcode so komfortabel bearbeiten kann, wie man mit anderer Software (z.B. Photoshop) Grafiken oder Musik bearbeitet. Ich möchte da zwei Dinge entgegensetzen:

    1. Bei Programmcode ist es wichtig, dass der Entwickler noch alles unter Kontrolle hat, und nicht alles nach undurchschaubaren Regeln generiert wird. Es ist kein Zufall, dass mittlerweile schon seit Jahrzehnten modellgetriebene Entwicklung und visuelle RAD-Tools von allen möglichen Firmen angepriesen werden, aber ein echter Durchbruch für diese Technologien bisher nicht erfolgt ist. Codegenerierung aus Objekten einer höheren Abstraktionsebene findet nur bei Anwendungen in ganz bestimmten Bereichen statt (z.B. Embedded-Systeme), oder bei bestimmten Teilen von Anwendungen (z.B. der GUI-Code).
      Ich habe auch schon die Erfahrung gemacht, dass man bei einer neuen Technologie (in meinem Fall: SharePoint-Erweiterungen) erst mal nicht die Klickibunti-Lösung benutzen, sondern einmal ein komplettes Projekt mit allen Konfigurationsdateien, Build-Skripten usw. von Hand erstellen sollte. Dadurch lernt man, was unter der Haube passiert, und weiß dann später bei Problemen auch schneller, wo es „hakt“.
    2. Zumindest bei Java kommt man mit Eclipse schon zu einem sehr guten Kompromiss zwischen dem komfortablen Arbeiten auf einer höheren Abstraktionsebene als reiner Text und Kontrolle über das Endergebnis. Ich benutze Eclipse seit 6 Jahren und meine Finger sind fast schon daran angewachsen. Trotzdem möchte ich gerne auch mal IntelliJ IDEA ausprobieren, das im Artikel erwähnt und oft hoch gelobt wird. Vielleicht schaffe ich es ja bei meinem aktuellen Freizeitprojekt (Entwicklung von Android-Apps). Allerdings gibt es auch für Android ein Eclipse-Plugin, so dass ich erst mal Komfort verliere, wenn ich eine andere IDE benutze, und viel öfter Kommandozeilenprogramme aufrufen oder Ant-Tasks schreiben muss. Aber vielleicht gilt hier ja das am Ende von Punkt 1 Gesagte…