Hallo Leute, Neben dem Studium programmiere ich recht viel, hauptsächlich in Perl und C unter Linux. Inzwischen bin ich total frustriert über das Angebot herkömmlicher IDE's und Texteditoren. Immer finde ich irgendwas, was mich absolut stört. Dabei sind das oft ganz simple Dinge (kein Fullscreen Coding möglich, kein Splitscreen, schlechtes Syntaxhighlighting, Man wählt ein anderes Colorscheme aber z. B. der Explorer wird weiterhin in knall weiß angezeigt weil es auf irgendwelche Farbresourcen des Systems zurückgreift etc...). Ich weiß nicht wie viele IDE's und Editoren ich schon ausprobiert habe, aber es sind gewiss dutzende und ich bin es Leid. Ich glaube, ich muss man mich langsam mit Vim oder Emacs auseinander setzen. Jetzt frage ich mich aber, was von beiden ich lernen soll. Vor allem, welches der beiden für Anfänger zugänglicher ist und mich schnell zu dem Punkt bringt, wo ich wirklich produktiv arbeiten kann. Was mich auch noch interessieren würde. In eurem Job, falls es so sein sollte, was bringt euch mehr? Emacs oder Vim? Viele Grüße
:
Gesperrt durch Moderator
Oder vielleicht doch eine vollwertige IDE wie Eclipse? Oder einen Texteditor wie gedit? Der bietet auch "Syntaxhighlight". vi, vim oder emacs braucht man, wenn nur mit der Konsole gearbeitet wird.
Ich nutze den vi nur, wenn ich auch nur die Kommandozeile habe. Sobald ich eine graphische Oberfläche habe, nehme ich gedit, im Moment aber nur für kleinere Dinge. Früher im Beruf habe ich mal sehr intensiv nedit genutzt. Der war richtig gut. Ich bin ein Emacs-Hasser.
Also ich kann gvim empfehlen. Das hast du syntax highlighting, Codevervollständigung, make ausführen und an Fehler springen usw.
min schrieb: > Oder vielleicht doch eine vollwertige IDE wie Eclipse? Oder einen > Texteditor wie gedit? IDE's schon mal gar nicht. Die sind mir viel zu aufgebläht. Und Gedit und Konsorten habe ich schon ausprobiert. Wäre etwas passendes dabei, hätte ich es benutzt :( ..
Ich finde KDevelop recht gut, als reinen Editor ohne IDE nehme ich normal Kate. Wenn mich da irgendwas dran massiv stören würde - es wäre kein Problem das nach meinen Wünschen umzuprogrammieren. Der Code ist ja zum Glück frei zugänglich. Was meiner Meinung nach mir für die Bequemlichkeit beim Programmieren am meisten gebracht hat: Multi-Monitor. Ich hab 3 20"-Monitore mit je 1600x1200 nebeneinander. Da muss ich nicht immer auf begrenztem Platz hin- und herspringen, sondern kann mich ausbreiten und hab alles wichtige im Blick.
Dann benutz vi und seine Kollegen. Das ist zwar aufwendig zulernen meine Meinung. Aber wenn du es verstanden hast. Dann kannst unter die Schale schauen und deine Schreibmaschine so ummodelieren das alles geht was dir bei den anderen Programmen gestört hat. Gruß, Matthias K.
Tomboy schrieb: > Und Gedit > und Konsorten habe ich schon ausprobiert. Wäre etwas passendes dabei, > hätte ich es benutzt :( .. Wenn du alles graphischen Texteditoren schon ausprobiert hast, und unzufrieden bist, dann wirst du mit vim oder emacs auch nicht zufrieden. vim und emacs ist doch ein Rückschritt im Vergleich zu den graphischen. So, wie es aussieht, wirst du dein Problem nicht lösen können.
Gerd E. schrieb: > Was meiner Meinung nach mir für die Bequemlichkeit beim Programmieren am > meisten gebracht hat: Multi-Monitor. Ich hab 3 20"-Monitore mit je > 1600x1200 nebeneinander. Da muss ich nicht immer auf begrenztem Platz > hin- und herspringen, sondern kann mich ausbreiten und hab alles > wichtige im Blick. Das ist natürlich nice :-) ... Benutze leider nur 2 Monitore. 1x 22" zum Fullscreen programmieren und den rest mache ich dann auf meinem 14" Thinkpad Notebook der daneben auf dem Notebook Ständer steht. Gerd E. schrieb: > Wenn mich da irgendwas dran massiv stören würde - es wäre kein Problem > das nach meinen Wünschen umzuprogrammieren. Der Code ist ja zum Glück > frei zugänglich. Da fehlt mir leider die Erfahrung, da einfach mal was umzuprogrammieren. user schrieb: > Also ich kann gvim empfehlen. Das hast du syntax highlighting, > Codevervollständigung, make ausführen und an Fehler springen usw. Matthias K. schrieb: > Dann benutz vi und seine Kollegen. > > Das ist zwar aufwendig zulernen meine Meinung. > Aber wenn du es verstanden hast. > > Dann kannst unter die Schale schauen und deine Schreibmaschine so > ummodelieren das alles geht was dir bei den anderen Programmen gestört Ja ich glaube das werde ich machen. Danke euch :) ! Gerd E. schrieb: > vim und emacs ist doch ein Rückschritt im Vergleich zu den graphischen. Nö. Ganz im Gegenteil. Von dem was ich bis jetzt gelesen und gesehen habe, ist es eine Offenbarung. Endlich alles mal so anpassen zu können, wie man es braucht - und dazu auch noch für jede Sprache. Und es gibt massig Shortcuts, wodurch man nicht mehr zur Maus greifen muss. Genau das richtige. Es ist nur sehr aufwendig zu lernen, aber 1x gelernt, dann brauch ich wahrscheinlich bis zum Lebensende nichts anderes mehr :-) ...
Rolf schrieb: > vim und emacs ist doch ein Rückschritt im Vergleich zu den graphischen. > So, wie es aussieht, wirst du dein Problem nicht lösen können. Wie es aussieht. Hat der Rolf keine Ahnung. Einfach ignorieren. Vim und Emacs ist genau das richtige für Power-Programmierer.
Palette W. schrieb: > Wie es aussieht. Hat der Rolf keine Ahnung. Ich würde es eher so ausdrücken, dass ich eine andere Meinung oder einen anderen Geschmack habe.
Der (x)emacs hat den Vorteil, dass man klicken und im Menü suchen kann wenn einem der Shortcut nicht einfällt. Das brauche ich bei den selteneren Befehlen öfters mal. Vielleicht geht das beim vi auch ähnlich, aber ich stand mit dem immer auf Kriegsfuss :-)
"Emacs oder Vim - was soll ich lernen?" Eine klassiche Eroeffnung fuer einen Flame-War, zuendet hier aber nicht richtig :-)
> was bringt euch mehr? Emacs oder Vim?
Beide sind die Steinzeit der Computerei und seit 30 Jahren überholt.
Genau das richtige für Masochisten die den Schuss nicht mehr gehört
haben.
Emacs ist sehr mächtig, kann fast alles. Was er nicht kann, kann man ergänzen. Es ist nur eine Frage des Aufwandes. Allerdings wird er nur noch von einigen Freaks verwendet und wohl selten für größere Programmierprojekte. Das Bedienkonzept stammt aus dem vorigen Jahrtausend und jeder der die heute bekannten grafischen IDEs kennengelernt und verstanden hat, will nicht mit emacs oder vi arbeiten. Bis auf die unverbesserlichen Freaks aus den älteren Jahrgängen. Dazu kommt, dass es keine ausführlichen Dokumentationen zu emacs gibt, auch nicht in käuflicher Buchform. Das bekannte Tutorial der Fernuni-Hagen kratzt nur etwas an der Oberfläche. Alles gesagte gilt im wesentlichen auch für vi. Nur dass bei vi die Bedienung noch gewöhnungsbedürftiger ist.
Profis verwenden selbstverständlich ed ;-) Übrigens ist EMACS die Abkürzung für: Escape Meta Alt Control Shift. Und das kannst Du wörtlich nehmen.
Verstehe nicht, warum so ein Theater um die Editoren gemacht werden. Tippen muss man nämlich überall noch selbst, denken sowieso. Und selbst bei sperrigen Programmiersprachen macht die Tipparbeit nur einen sehr kleinen Anteileil der Softwareentwicklung aus. Der automatisierbare Teil einen noch kleineren Anteil.
> Übrigens ist EMACS die Abkürzung für:
"Eight Megabytes And Constantly Swapping" aus einer Zeit wo 8MB noch
sehr viel war.
Zur Ausgangsfrage: Beides, oder keinen. Beide haben ihre Vorteile. Beide kosten viel Zeit um reinzukommen. VI startet sehr schnell und ist auf fast jedem Unix verfügbar. Das ist dann nicht notwendigerweise VIM, aber eben irgendein anderer VI-Klon oder gar das Original. Wer öfter mal auf der Kommandozeile arbeitet und das vielleicht noch in beschränkten Umgebungen (Recovery-Modus, uralt-Hardware, unbekanntes Unix) wird ihn nicht missen wollen. Dass man den Cursor sogar per Buchstabenkürzel bewegen kann, ist eine unschätzbare Hilfe bei Terminalproblemen oder Tastaturen ohne Cursortasten (Smartphone). Die Bedienung ist aber wirklich sehr anders als alle anderen Editoren. Große Projekte würde ich damit nicht angehen. Emacs ist das Ultimum an Personalisierbarkeit. Ich mache in Emacs Dinge, die kein Eclipse kann, es sei denn ich würde Eclipse umprogrammieren. Und das ist der wesentliche Vorteil vom Emacs: Die Hürde, ihn umzuprogrammieren ist so niedrig, dass man das "mal eben so nebenbei" erledigt -- kein Editor-Neustart nötig, man kann seinen Code verändern und immer wieder ausprobieren. Das, und der Umstand, dass es tausende Webseiten mit Codebeispielen zu allen möglichen Funktionen gibt, macht Emacs so besonders und mächtig. Leider ist Emacs auch die denkbar schlechteste Wahl: Er ist lahm, er wird in LISP programmiert (und einem unkomfortablen Dialekt noch dazu), er trägt Altlasten von 30 Jahren mit sich rum, und man braucht Wochen, bis man sich den Komfort eingerichtet hat, den man von herkömmlichen IDEs gewohnt ist. Und wenn Englisch eine Hürde für dich ist (als Programmierer eigentlich ein totales no-go), wirst du auch nicht viel Dokumentation haben. Und man muss sich an viele Tastenkombinationen gewöhnen -- Emacs hat Menüs, aber seine Stärke ist die Tastaturbedienung, darauf muss man sich einlassen. Wenn du ohnehin nur in einer oder zwei Programmiersprachen arbeitest, und dich nicht an fremdes Projektmanagement anpassen musst, dann such dir eine IDE, die diese Sprachen vernünftig umsetzt. Eclipse ist da immer ein gut erster Versuch. Hast du aber klare eigene Vorstellungen, was dein Editor machen soll und bist nicht bereit, dich dem Diktat deiner IDE zu unterwerfen, könnte Emacs für dich sein. Sei dir der oben genannten Nachteile bewusst, aber lass es dir auch nicht mies reden: Mein Emacs findet automatisch heraus, zu welcher Sorte Projekt eine Datei gehört (Autoconf, Perl, plain Make usw.) und passst sich jedem Buildsystem an, er hat für 8 Sprachen Code-Completion, Call-Tips (wie IntelliSense) und kontinuierliche Syntaxüberprüfung. Dazu kommt, dass Emacs von allen Editoren und IDEs die ich kenne das solideste Syntax-Highlighting hat -- gerade als Perl-Programmierer kennst du das Problem bestimmt. Emacs hat eine aktive Community mit eigenem Wiki und neuerdings auch Erweiterungen per integriertem Paketmanagement, dazu tausende Webseiten von Anwendern mit deren kleinen Codeschnippseln. Durch die durchgängige Tastaturbedienung kann man nach der Einarbeitung schneller arbeiten als in einer menügeführten IDE. Und da Emacs sowohl per GUI als auch per Text-Terminal läuft, kann man sein erlerntes Wissen auch mal über eine SSH-Verbindung anwenden. Zusammenfassung: Meiner Meinung nach braucht man früher oder später auf jeden Fall VI-Kenntnisse, wenn man gelegentlich mit der Kommandozeile arbeitet. Emacs lohnt sich nur, wenn der hohe Aufwand für Einarbeitung und Personalisierung (in LISP-Code) auch durch einen persönlichen Mehrwert ausgeglichen wird. In dem Fall ist er aber das Ultimum an Flexibilität. Wer den Aufwand (und das Lernen neuer Tastenkürzel und gleichzeitig einer funktionalen Programmiersprache) scheut, wird bei soliden Fertiglösungen wie Eclipse glücklicher.
MaWin (Gast) schrieb: >> was bringt euch mehr? Emacs oder Vim? > Beide sind die Steinzeit der Computerei und seit 30 Jahren überholt. > Genau das richtige für Masochisten die den Schuss nicht mehr gehört > haben. Sehe ich auch so. Vielleicht kommt noch hinzu, dass man mal darüber nachdenken sollte, warum einen das eigene OS zu solch einer Wahl zwischen Pest und Colera nötigt. Der Fisch stinkt bekanntlich am Kopf zuerst. Alles was auch heutzutage sich noch beharrlich weigert intuitiv zu sein, gehört ins Museum und nicht auf einen modernen Desktop (mit Ausnahme von sehr spezieller Software die quasi "alternativlos" daherkommt, dann aber auch meistens entsprechend teuer ist). Schon mal Scite probiert?
Ich hatte mich letztens mal ein wenig mit vim beschäftigt und bin zu folgendem Schluss gekommen: Um mal schnell Konfigurationsdateien und Einmalskripte zu schreiben perfekt (besser als nano), aber für den täglichen Einsatz mir persönlich zu umständlich. Oder will mir wer weiß machen, dass ESC :w schneller geht als CTRL-s?
> Oder will mir wer weiß > machen, dass ESC :w schneller geht als CTRL-s? Völlig unerheblich, wie schnell ein bestimmter Befehl ist. Wie schnell ist denn in deinem Editor das Kopieren der nächsten 3 Zeilen, das Löschen der nächsten 2 Wörter, oder der Sprung zum Ende der gerade geöffneten Klammer? Wenn man so versucht zu argumentieren, welcher Editor der beste ist, wird man zurecht nicht ernstgenommen. Was in erster Linie zählt, ist dass man das Programm beherrscht, egal welches es ist. wlad
vim kann Suchen + Ersetzten mit regex und andere funktionen, die ich nicht mehr missen will. Du brauchst etwas zum reinkommen, aber sobald du drin bist ist es genial, und ich kenne vielleicht 5% des Funktionsumfang von vim. zB. ctrl-x ctrl-f möchte ich nicht mehr missen, damit kannst du nach Dateinamen suchen.
Moin, wie wärs alternativ mit Joe? Den verwende ich am liebsten
user schrieb: > vim kann Suchen + Ersetzten mit regex Naja, also das kann heutzutage wirklich jeder Editor. ;)
Ich bin zu emacs gekommen, wie die Jungfrau zum Kind! Ich habe C und emacs gleichzeitig gelernt (lernen müssen), und ich will ihn nie mehr missen!
Adler schrieb: > Sehe ich auch so. Vielleicht kommt noch hinzu, dass man mal darüber > nachdenken sollte, warum einen das eigene OS zu solch einer Wahl Was hat das Betriebssystem mit der Programmierumgebung zu tun? > zuerst. Alles was auch heutzutage sich noch beharrlich weigert intuitiv > zu sein, gehört ins Museum und nicht auf einen modernen Desktop (mit Das richtige Werkzeug für den richtigen Zweck. Übliche IDEs haben zwar schöne Komfortfunktionen, der Editor selbst ist aber der letzte Scheiss. Mal eben einen Bereich korrekt Einrücken, um den man gerade eine Schleife hinzugefügt hat? Einrückung vergrößern/verkleinern, das können die besseren gerade noch. Aber welcher kann vollautomatisch korrekt einrücken und sich dabei jedem denkbaren Einrückungsstil anpassen? Dazu kommt: Eine IDE, die einen zwingt, die Maus in die Hand zu nehmen, ist kein ernstzunehmendes Werkzeug. Das ist was für Gelegenheitsprogrammierer. Wer wirklich ohne Störung des Gedankenflusses programmieren will, der braucht etwas, was sich blind bedienen lässt, und das geht nunmal nur über geeignete Tastenkürzel. Tasten sind irgendwann im Kleinhirn gespeichert, man benutzt sie blind, ohne Nachzudenken. Für Mausklicks muss man vom Code wegsehen, von der Tastatur zur Maus greifen, zielen und ggf. mehrfach die Reaktion des Programms abwarten (Menüs, Untermenüs, Dialoge). Für "Suchen und Ersetzen" muss man das Maus-Tastatur-hin-und-her gleich mehrfach machen. Und nein, die universell verfügbare Tab-Taste zum Wechsel zwischen Eingabefeldern zählt nicht, weil man dann immer noch auf das visuelle Feedback vom Programm warten muss. Änderungen an der Benutzeroberfläche ändern automatisch auch Tab-Positionen. Buchstabenkürzel (Alt+Buchstabe) sind manchmal auch vorhanden und etwas besser, aber in der Praxis war noch jedes "intuitive" Programm umständlicher zu bedienen als ein gut erlerntes textbasiertes Programm. Das ist das gleiche Spiel wie mit 3D-Modellierern, Schaltplan-Editoren oder Echtzeit-Strategiespielen: Der Einsteiger ist auf "Entdeckbarkeit" angewiesen, benutzt Menüs, Icons, Dialogfenster. Der Profi will vor allem schnell und direkt jede gewünschte Funktion aufrufen können. Jeder Wechsel des Eingabegeräts, jede Schleife Programm-Auge-Hirn-Hand-Programm ist verlorene Zeit und verlorene Konzentration. Wer also hin und wieder mal ein kleinen Programm für Mikrocontroller schreibt, kriegt mit einem Werkzeug wie Emacs nicht das, was am meisten nützt. Wer täglich stundenlang programmiert, tut sich mit einer IDE mit minderwertigem Editor keinen Gefallen. Es behindert die Produktivität erheblich. Oder als Analogie aus der Elektronik: Wer nur ein paar einfache Steuerungsaufgaben erledigen will ohne gleich ganze Geräte und Schaltungen zu entwerfen, ist mit Arduino oder mbed bestens bedient. Wer flexibel sein will und alle seine Vorstellungen exakt umsetzen will, wird eher auf Steckbrett oder Lochraster experimentieren, auch wenn die weniger Komfort bieten und einen zwingen, mehr per Hand zu machen.
Also ich will eine IDE, die die Semantik meiner Sprache versteht, nicht mehr missen. Es geht einfach so viel schneller, auf einem Klassennamen Ctrl+. zu drücken, als von Hand irgendein Header-File rauszusuchen... das ist für mich persönlich wesentlich produktiver, als da mit vim irgendwas rumzubasteln. Natürlich ist vim ein feiner Editor, aber ich benutze ihn in der Praxis nur zum Editieren von z.B. Konfigurationsdateien.
Wenn man viel an unterschiedlichen Unixen herumadministriert, ist der VI von Vorteil, weil er immer da ist.
Lukas K. schrieb: > Ich hatte mich letztens mal ein wenig mit vim beschäftigt und bin zu > folgendem Schluss gekommen: Um mal schnell Konfigurationsdateien und > Einmalskripte zu schreiben perfekt (besser als nano), aber für den > täglichen Einsatz mir persönlich zu umständlich. Oder will mir wer weiß > machen, dass ESC :w schneller geht als CTRL-s? Na ja, wenn man eine GUI hat, dann nimmt man wohl eher gvim -- und der ist schon sehr gut. Ich habe die letzten Jahre meist gedit benutzt, bin dann vor einem halben Jahr auf gvim umgestiegen. Hat sich gelohnt. Emacs ist wohl noch etwas mächtiger, für Leute die Scheme können und lieben vielleicht die erste Wahl. Emacs kann Proportionalfonts verwenden, das wäre für mich ein Plus gewesen.
Sam P. schrieb: > Das richtige Werkzeug für den richtigen Zweck. Übliche IDEs haben zwar > schöne Komfortfunktionen, der Editor selbst ist aber der letzte Scheiss. > Mal eben einen Bereich korrekt Einrücken, um den man gerade eine > Schleife hinzugefügt hat? Einrückung vergrößern/verkleinern, das können > die besseren gerade noch. Aber welcher kann vollautomatisch korrekt > einrücken und sich dabei jedem denkbaren Einrückungsstil anpassen? Welche brauchbare IDE kann das nicht? VS, Eclipse, Netbeans können das alles. Als vim damals auf dem Amiga erschien, hätte es lebenslanges Computerverbot für den "Programmierer" geben müssen und religiös verblendete Fanatiker (emacs) muss ich nicht unterstützen.
> Moin, wie wärs alternativ mit Joe? Den verwende ich am liebsten Der Joe hat ein alter-ego, nämlich jmacs. Das ist Joe aber mit den wichtigsten Emacs-Kommandos. Für schnelle Editieraktionen (config-File, ...) ist das super, ist sofort da und man kommt mit den Tastenkombis zum Emacs nicht durcheinander... Ansonsten nehm ich (x)emacs (was halt installiert ist), obwohl ich eigentlich da nicht gross rumkonfigurier oder gar Lisp mache. Ich finde es sehr schön, für ALLE Anwendungen (C, ASM, VHDL, Perl, TeX, XML, XSL, ...) dieselbe Editor-Umgebung zu haben und das auf allen Platformen und mit oder ohne GUI. Finde ich persönlich wichtiger, als die Unterstützungen von Classbrowsern, Symbol-Datenbanken etc. Wenn jemand zB. nur C++ macht, mag das natürlich anders sein, mein Portfolio lebt jedenfalls vom Universal-Diletantismus :) Beim vi weiss ich im wesentlichen nur, wie ich was abspeichere bzw. OHNE Abspeichern rauskomme... Das Verhalten der vi-Varianten auf Cursortasten ist mir jedenfalls suspekt. Man weiss nie, ob man im Insert-Mode gefahrlos eine drücken kann, ohne dass Control-Code-Dreck im Text landet.
Sam P. (Gast) schrieb: Adler schrieb: >> Sehe ich auch so. Vielleicht kommt noch hinzu, dass man mal darüber >> nachdenken sollte, warum einen das eigene OS zu solch einer Wahl > Was hat das Betriebssystem mit der Programmierumgebung zu tun? Anscheinend sehr viel, denn unter Windows würde niemals jemand auf die Idee kommen, einen so krankhaften Scheiss wie die beiden genannten "Editoren" (die den Namen heutzutage nicht mehr nicht verdienen) zu empfehlen. > Übliche IDEs haben zwar > schöne Komfortfunktionen, der Editor selbst ist aber der letzte Scheiss. Der Editor von MS Visual Studio ist sehr gut. Man muss auch nicht jeden Krampf mit dem Editor anstellen, den man von vi sich einmal ins Gehirn gefräst hat. Wenn's ums programmieren geht verbringt man die Zeit mit ganz anderen Dingen als mit kryptischen Editoren-Kommandos und die Maus stört dabei auch nicht wie immer behauptet wird, egal ob man layoutet oder Quelltexte verfasst. Hier wird immer krampfhaft versucht zu verkaufen es ginge bei den genannten Themen um Akkordarbeit, aber genau das ist i.d.R. nicht der Fall, sondern die Zeit wird hauptsächlich mit ÜBERLEGUNG verbracht.
Also den Eclipse-Editor mag ich wirklich gar nicht, aber "bei üblichen IDEs ist der Editor der letzte Scheiß" finde ich auch wesentlich zu weit gegriffen. ;)
Adler schrieb: > Der Editor von MS Visual Studio ist sehr gut. Man muss auch nicht jeden > Krampf mit dem Editor anstellen, den man von vi sich einmal ins Gehirn > gefräst hat. Wenn's ums programmieren geht verbringt man die Zeit mit > ganz anderen Dingen als mit kryptischen Editoren-Kommandos und die Maus > stört dabei auch nicht wie immer behauptet wird, egal ob man layoutet > oder Quelltexte verfasst. Hier wird immer krampfhaft versucht zu > verkaufen es ginge bei den genannten Themen um Akkordarbeit, aber genau > das ist i.d.R. nicht der Fall, sondern die Zeit wird hauptsächlich mit > ÜBERLEGUNG verbracht. Ja, das sehe ich ganz genauso!
Gut, dann oute ich mich jetzt: Ich nutze emacs auch in Windows! Was man sich alles für Anfeindungen gegen einen oder zwei Editoren einfallen lassen kann ist schon grandios! Zum Thema Class oder Functionbrowsing: M-x speedbar ;-)
Patrick Dohmen (oldbug) (Moderator) schrieb: > Gut, dann oute ich mich jetzt: > Ich nutze emacs auch in Windows! Patrick schrieb auch > Ich bin zu emacs gekommen, wie die Jungfrau zum Kind! Ich habe C und > emacs gleichzeitig gelernt (lernen müssen), und ich will ihn nie mehr > missen! Du bist aus zwei Gründen "entschuldigt". Zum einen hast du selbst betont, dass du emacs lernen MUSSTEST und zum anderen schätze ich mal das ist schon länger (viele Jahre) her und somit kennst dich inzwischen sehr gut mit emacs aus. Dagegen ist absolut nichts einzuwenden bzw. kann ich gut verstehen. Die Frage ist halt, ob man das heutzutage auch noch so handhaben MUSS?! ;)
Das Wort MUSS mag ich gar nicht, weil es hört sich immer so an als ob es keine Alternative gibt. Und sowas gibt es schon zwei mal nicht. Wenn einer es sagt ich muss das machen, dann werde ich dafür auf jedenfall dafür bezahlt und dann habe ich immer noch eine Wahl. ?????????????????????????????????????????????????????????????????????? Gruß, Matthias K.
Die wahl: arbeitslos und spaß dabei :-) außerdem hat man dann zeit, vim, mutt, irssi etc. zu lernen :-) jetzt brauch ich noch nen guten rss cli reader Man muss sich auch kein Windows8 kaufen oder im Büro benutzen, wenn man den Desktop schrott findet ;-)
Eine praktische Diskussion dazu findet sich hier: https://www.youtube.com/watch?v=2Hy89myXLvc Ein schönes Zitat daraus, "Ich bin jetzt nicht betrunken aber ich nehme sed". Ich muss gestehen, ich nehme ganz "normale" Editoren wie den mcedit oder kate. Die einzige "richtige" Entwicklungsumgebung die ich verwende ist Lazarus, die teilt sich Quellcode mit dem Compiler und kann somit wirklich verstehen was ich schreibe.
>Emacs oder Vim ? >programmiere ich recht viel, viel? das glaub ich nicht.. wer WIRKLICH Programmiert, hat min. 20 Sourcefiles gleichzeitig offen, dazu noch Hilfetexte/Webseiten/sonstige Nachschlagewerke die IDE muss vorallem Codevervollständigung könne, funktionsparameter anzeigen (als HINT) fehler sofort anzeigen automatisch zur implementierung einer funktion springen können automatisch den hilfe-text zur funktion anzeigen können codeblöcke ein/ausblenden beim debuggen unterstützen usw. usw. usw. und (manchmal) auch einen GUI designer enthalten ..
Adler schrieb: > Wenn's ums programmieren geht verbringt man die Zeit mit > ganz anderen Dingen als mit kryptischen Editoren-Kommandos und die Maus > stört dabei auch nicht wie immer behauptet wird, egal ob man layoutet > oder Quelltexte verfasst. Hier wird immer krampfhaft versucht zu Und da sieht man, das wir zwei unterschiedliche Auffassungen von Programmieren haben. Ich rede natürlich von dem Teil des Programmierens, der mit der Erstellung des Quelltextes verbracht wird. Für das andere (Entwurf, UI-Design) braucht man keinen Editor. Da benutze ich genau so wie du GUI-Werkzeuge (UML-Editor, UI-Layouter) -- wie schon gesagt, das richtige Werkzeug für den richtigen Zweck. > verkaufen es ginge bei den genannten Themen um Akkordarbeit, aber genau > das ist i.d.R. nicht der Fall, sondern die Zeit wird hauptsächlich mit > ÜBERLEGUNG verbracht. Mit Verlaub, nein. Erst die Planung, dann die Durchführung. Wenn du während des Schreibens von Quelltext tatsächlich regelmäßig überlegen musst, dann beherrschst du deinen Problembereich noch nicht. Natürlich gibt es immer unvorhergesehene Probleme, aber dann musst du doch um so mehr Ablenkungsfrei arbeiten können. Jedes mal, wenn du irgendwo anders hingucken musst, um irgendeine Aktion auszulösen, wird dein Arbeitsgedächtnis unnötig belastet. Die von dir "kryptisch" genannten Tastaturbefehle kannst du jedoch blind benutzen. Wenn du erst einmal Tastaturbedienung gewohnt bist, musst du nicht nachdenken. Deine Finger (genauer: dein Kleinhirn) kennen die nötigen Tastenkürzel von selbst. Die Augen bleiben im Quelltext, dein Geist auch. Ich weiß, es ist müßig darüber zu reden: Wer sich noch nie darauf eingelassen hat, der versteht es einfach nicht. Das ist so, wie jemanden, der zig Projekte mit Arduino gemacht (und hinbekommen) hat, davon zu überzeugen, dass Steckbrett oder Lochraster viel mächtiger sind. Robert L. schrieb: > wer WIRKLICH Programmiert, hat min. 20 Sourcefiles gleichzeitig offen, > dazu noch Hilfetexte/Webseiten/sonstige Nachschlagewerke Und genau deswegen bevorzuge ich einen Editor, mit dem ich schnell und direkt navigieren kann. Den ich mir so einstellen kann, dass ich die gesuchten Informationen möglichst schnell bekomme. Meine Finger rufen in weniger als einer Sekunde exakt die gesuchte Datei auf, und zwar nicht nur unter den 20 offenen, sondern auch unter den 200 zuletzt benutzen. Das mache ich nicht bewusst, das läuft so automatisch wie ich mir die Nase putze. Das ist das Mächtige an der Tastaturbedienung. Und wenn ich von einem flexiblen Editor rede, dann rede ich von Dingen wie: - mit einem Tastendruck bis zum Zeilenende löschen - mit einem Tastendruck nur den aktuellen Klammerausdruck löschen - ein Wort in Groß- oder Kleinbuchstaben wandeln - den drittletzten kopierten Text nochmal einfügen - an Anfang/Ende der aktuellen Funktion springen - zur Stelle der letzten (vorletzten, ...) Änderung springen - eine Änderung rückgängig machen, aber nur die vorletzte - alle Änderungen in einem bestimmten Bereich rückgängig machen - den Einrückungsstil einer Datei automatisch erkennen und bewahren - einen Kommentar unter Erhaltung von Rahmenzeichen korrekt einrücken - einen ganzen Block vorübergehend auskommentieren (und zurück) - einen Text in allen (auch ungeöffneten) Projektdateien (Dokumentationsdateien, anderen Projekten, ...) suchen - schnell mal das Projekt wechseln um etwas zu vergleichen > die IDE muss vorallem Codevervollständigung könne, > funktionsparameter anzeigen (als HINT) > fehler sofort anzeigen > automatisch zur implementierung einer funktion springen können > automatisch den hilfe-text zur funktion anzeigen können > codeblöcke ein/ausblenden > beim debuggen unterstützen usw. usw. usw. Da gebe ich dir recht (ausser das mit den Codeblöcken -- hat man gute Navigationsfunktionen, benutzt man das eigentlich gar nicht mehr). Darum nehme ich emacs. Ich kenne keine IDE, die das für alle Sprachen kann, die ich benutze. Sicher, VS, Eclipse, Netbeans usw sind sehr stark, wenn man deren primäre Sprachen benutzt. Ich habe so einige benutzt/benutzen müssen. Aber immer wieder nervt der unflexible Editor, so dass ich zu Emacs zurückkehre. Dem kann ich auch beibringen, mich nicht mit Tooltips und Popup-Menüs zu nerven, die mir Teile des Quelltextes verdecken. Das mag ich nicht. Dank der Flexibilität eines komplett gescripteten Editors hatte ich die Wahl, das an den unteren Bildschirmrand zu verbannen. Und dank der Community musste ich das nicht einmal selber herausfinden, das Problem hatte schon einmal jemand anders gelöst. Er zeigt mir die Call-Tips auch mit farblichen Hervorhebungen und mit den Informationen in der Reihenfolge an, wie ich sie haben möchte. Und dank der freien Programmierbarkeit lassen sich eben die Komfortfunktionen nachrüsten. Die Community hat für vieles Lösungen. Das ist der Teil, wo man Zeit braucht, um sich das so zusammenzustellen, wie man es selber mag. Das sagte ich bereits: Gelegenheitsprogrammierer brauchen diese Flexibilität nicht. Es kostet zu viel Einarbeitung, es kostet viel Zeit für Personalisierung. Aber wer viel programmiert, für den lohnt es sich. Man kann das gelernte in allen Projekten anwenden. Egal ob es eine HTML-Seite, ein AVR-Assemblerprogramm oder eine komplexe Java-Businessanwendung ist. Welche IDE kann mit ihrem Komfort quer durch alle Anwendungsgebiete?
Robert L. schrieb: > wer WIRKLICH Programmiert http://xkcd.com/378/ edit: ach Mist, den gab's ja in diesem Thread schonmal :D
Ich habe den Thread damals geöffnet und muss zugeben, dass ich mich lange Zeit vor dem lernen gedrückst habe. Da es aber jetzt ein Update gibt, möchte ich euch das gerne mitteilen. Ich habe mit Beginn der Semesterferien angefangen Vim zu lernen und bereue inzwischen, dass ich das nicht schon viel früher gemacht habe. Am Anfang war es ungewohnt - vor allem dachte ich beim durcharbeiten des "vimtutor" das ich Monate brauchen werde um an den Punkt zu kommen, mit VIM ernsthaft entwickeln zu können. Aber ich wurde eines besseren belehrt. Für den Vimtutor habe ich mir 2 Tage Zeit gelassen, dann noch rund 3 Tage in den Büchern "Hacking vim" und "Practical vim" quer gelesen. Und dann hat es auch keine weitere 3 Tage gedauert, bis ich mir eine voll funktionsfähige C++ IDE gebaut habe mit C++11 Syntax Highlighting, Code Completion, Classview Browser, Doxygen, Git-Anbindung usw. usf. Jetzt habe ich eine eigene .vimrc , die ich beim OS Wechsel oder bei Neu installation nur aufrufen muss und er richtet mir alles inkl. Colorscheme, Font, Plugins automatisch ein. :) ! Die letzten zwei Tage habe ich angefangen dann meine Projekte weiter zu entwickeln und die Zeit ersparnis durch die Tastaturbindung ist gewaltig. Zum resizen von Fenstern im Splitview benutze ich manchmal noch die Maus. Das wars. Ich kann nur sagen, das war die beste Investitoin an Lernzeit die ich bislang getätigt habe. Einfach Unvergleichlich
Achja, ich benutze übrigens nicht GVim, sondern Vim im Terminal :) !
Tomboy schrieb: > Emacs oder Vim? Editor war http://en.wikipedia.org/wiki/Editor_war Emacs vs Vim http://www.diffen.com/difference/Emacs_vs_Vim vi or emacs? http://oreilly.com/pub/a/oreilly/ask_tim/1999/unix_editor.html Don't get me wrong: Emacs is a great operating system---it lacks a good editor, though. http://thomer.com/vi/vi.html
alesi schrieb: > Tomboy schrieb: >> Emacs oder Vim? > > Editor war > http://en.wikipedia.org/wiki/Editor_war > > Emacs vs Vim > http://www.diffen.com/difference/Emacs_vs_Vim > > vi or emacs? > http://oreilly.com/pub/a/oreilly/ask_tim/1999/unix_editor.html > > Don't get me wrong: Emacs is a great operating system---it lacks > a good editor, though. > http://thomer.com/vi/vi.html Schau mal zwei Post höher ;) !
Auch wenn ich Gefahr laufe, dass die Diskussion wieder geschlossen wird. Das Thema ist einfach zu interessant. Zu mir: Ich bin Emacs-Nutzer seit 2002. Der große Vorteil: Die Tastenkombinationen laufen automatisiert ab. Ich muss gar nicht mehr darüber nachdenken. Was mich an IDE stört: Viel zu viele Buttons, ständige Schlimmbesserungen, Instabilitäten (das war bei Eclipse sehr schlimm). Ich habe mit dem Emacs Python, Java, C, C++,VHDL, Shell-Skripte, Haskell und mehr programmiert während des Studiums. Natürlich nutze ich auch sowas wie Eclipse... Java-Support war bei Emacs traditionall immer schlecht und das wichtigste Feature ist Autovervollständig, das Browsen durch alle Pakete. Java nutze ich beruflich. Aber ich nutze auch den Emacs beruflich. Selbst für Java-Schnippsel. Manchmal habe ich eine semistrukturierte Spezifikation, die sich sehr gut anbietet, direkt in Source-Code verwandelt zu werden. Das mache ich mit Keyboard-Macros, die ich nach neun Jahren Emacs-Anwendung für mich entdeckte. Recht spät. Heute nutze ich fast täglich Keyboard-Macros und bin enorm produktiv. Es gibt Youtube-Videos über dieses Feature, falls sich jemand ein Eindruck darüber verschaffen möchte. Ich habe neulich den Azubis in wenigen Minuten demonstriert, wie ich den Source-Code eines Java-Enums erzeuge mithilfe einer Tabelle aus der Wikipedia, die ich per Copy'n'paste in den Emacs holte. Ich zeichnete fünf bis sechs Keyboard-Macros auf und wiederholte diese und mit wenig Aufwand entstand kompilierfähiger und semantisch korrekter Java-Code, den ich dann zurück in den Eclipse kopierte. Der große Vorteil der IDEs war immer, dass die Kompilierung im Hintergrund läuft, dass sofort Kompilierprobleme angezeigt werden usw. Sowas kann der Emacs aber auch. Microsoft hat ja das Language Server Protokoll aus der Taufe gehoben, mit der Idee, die Trennung von Front- und Backend. Die Entwickler wollen ihren Lieblingseditor verwenden, ohne auf die Hintergrundfunktionalität der IDEs zu verzichten. Da ich privat viel mit Python mache, bestätige ich, dass es funktioniert. Emacs mit eglot und dem python-lsp-server... Das funktioniert sehr gut. Autovervollständig ist richtig gut. Mit Flymake hat man auch one-the-fly-Syntax-Überprüfung. Zu Vim kann ich nicht viel sagen. Benutze ich nicht gerne. Bin ja ein Emacser. Vim-Leute, die ihren Vim wirklich beherrschen, sollen aber auch eine hohe Produktivität erreichen. Im Buch "Der pragmatische Programmierer" gibt es den Tipp: "Lernen Sie einen Editor, den aber richtig." Ich habe mir erst vor wenigen Tagen den Emacs 31 kompiliert. Es gibt stetige Verbesserung. Die Community lebt. Was hier gesagt wurde, dass eine Entscheidung für Emacs eine gegen Gui sei, war schon vor 20 Jahren falsch. Schon vor 20 Jahren hatte der GNU Emacs 'ne Gui und der XEmacs sowieso. Es lohnt sich in jedem Falle, einen der beiden Editoren in der Tiefe kennen zu lernen. Die Produktivitätszuwächse sind enorm.
Rudi R. schrieb: > Auch wenn ich Gefahr laufe, dass die Diskussion wieder geschlossen wird. > Das Thema ist einfach zu interessant. Nicht wirklich. Vim muss man (rein als Text-Editor!) benutzen können, weil es halt auf praktisch jeden unixoiden Zielsystem verfügbar ist. Ansonsten braucht (und benutzt) man es für nix. Weil: vom heutigen Stand der Technik aus betrachtet: maximal unkomfortabel. Und Emacs ist halt nur vom heutigen Stand der Technik betrachtet maximal unkomfortabel. > Es lohnt sich in jedem Falle, einen der beiden Editoren in der Tiefe > kennen zu lernen. Die Produktivitätszuwächse sind enorm. Eher nicht...
Ob S. schrieb: > Ansonsten braucht (und benutzt) man es für nix. Verdammt. Ich ahnte es. Da mache ich doch seit Jahrzehnten alles falsch. ;-)
gähn, nee, die 11 Jahre alte Diskussion muss man nicht neu aufrollen