Der einzige Fall, in dem Sie kompilieren/verknüpfen müssen, indem Sie die Kommandozeile verwenden, ist, wenn Sie auf einem reinen Linux-Server arbeiten, auf dem keine grafische Benutzeroberfläche installiert ist - in diesem Fall ist Ihre EINZIGE ECHTE OPTION emacs. (Alles andere ist reiner Masochismus).
Zu allen anderen Zeiten wäre es schiere Dummheit keine ausgereifte IDE zu verwenden.
Ihre Fragen:
Wann wechseln Sie von einem zum anderen?
(oben beantwortet)
Ist es überhaupt notwendig, beides zu wissen? Wenn nicht, was sollten Sie wissen?
Das hängt davon ab, wie sehr Sie sowohl als Programmierer als auch als Systemadministrator arbeiten wollen. Letzterer muss den Ersteren unterstützen und alles Notwendige umsetzen, damit alle Systeme reibungslos funktionieren. Beides zu können, kann NIEMALS schaden, aber wenn Sie darauf bestehen, nur Programmierer zu sein, dann ist die Notwendigkeit, eine bestimmte IDE für die von Ihnen gewählte Plattform zu kennen, offensichtlich.
Leichtgewichtige oder schwergewichtige IDEs (nur Code-Highlighting oder alle denkbaren Funktionen)
Ich gehe davon aus, dass sich die Wahl hier nur auf den Programmierer bezieht: Es besteht kein Zweifel, dass es umso besser ist, je mehr Unterstützung Ihnen Ihr Programmiertool bzw. Ihre Programmierumgebung bieten kann und je mehr Unterstützung Sie erhalten können, damit Sie sich auf die Umsetzung Ihrer Programmspezifikation konzentrieren können. Also JA: HEAVYWEIGHT ist die einzig sinnvolle Wahl.
Welches IDE empfehlen Sie im Allgemeinen und warum?
Auf einer Windows-Plattform ist diese Frage überflüssig: was immer Mictrosoft empfiehlt (und wenn Sie die $$$ haben). Unter Linux haben Sie mehrere Möglichkeiten: GTK-basiert (Gnome & Co.), QT-basiert (KDE & Co.), (wenn Sie auf Strafe aus sind, können Sie sich für Pure X entscheiden, und dann steht Ihnen eine mehr oder weniger interessante Zeit bevor), sowohl Gnome als auch KDE haben IDEs, die Sie verwenden können. IDEs von Drittanbietern, wie z.B. Eclipse, sind verfügbar; sie alle ermöglichen es, GUI-Anwendungen zu entwickeln, die in der vom Benutzer gewählten GUI-Umgebung laufen. Einige dieser IDEs erlauben sogar eine Vielzahl von Programmiersprachen (das ist der Ruhm von Linux und FOSS: Sie haben die Wahl; Sie sind nicht auf eine "Geographie" festgelegt, nicht zur Schlachtbank geführt, ...).
Meine persönliche Wahl der IDE (nur C++) ist Ultimativ++ . Sie ist sowohl mit Windows als auch mit Linux quellkompatibel. Die IDE nähert sich einer reichhaltigen Reife UND sie bietet 'alles-plus', was andere C++-IDEs anstreben. (Ich weiß, das ist Werbung, aber ich habe einen guten Grund: Probieren Sie es aus.)
HTH