Warum ist Visual Studio bei Programmierern so beliebt?
-
ipsec schrieb:
Pfeiltasten
Pfeiltasten sind eh das hinterletzte, was es gibt. Ob ich meine Hand zur Maus bewege oder zu den Pfeiltasten macht qualitativ keinen Unterschied. Beidesmal habe ich verloren.
VS scheint noch oft auf diese exotischen Tasten zu setzen (FXX-Tasten, Delete, etc.) und damit die Produktivität zu hemmen.
GPC schrieb:
VS kann z.B. ein paar Dinge, die nicht jedem geläufig sind:
- Per Strg+I inkrementell suchen
- Strg+W wählt das Wort aus, über dem sich der Cursor grad befindet
- Alt + Pfeiltasten links recht springt zum nächsten/letzten Wortanfang
- Strg+L löscht die aktuelle Zeile und fügt Sie in den Zwischenablageringpuffer ein
- Shift+F12 um herauszufinden, wer die Variable/Funktion unter dem Cursor alles aufruft
- Strg+K Strg+C kommentiert eine oder mehrere Zeilen aus.. Strg+K Strg+U unkommentiert wiederum
- Shift+Alt+Enter setzt VS in den Fullscreen modus
Nichts von alledem ist auf irgend eine Weise herausragend. Alle mittelmässigen Editoren beherrschen das. Da musst du schon echte Killer-Features bringen.
-
pfeilschnell schrieb:
ipsec schrieb:
Pfeiltasten
Pfeiltasten sind eh das hinterletzte, was es gibt. Ob ich meine Hand zur Maus bewege oder zu den Pfeiltasten macht qualitativ keinen Unterschied. Beidesmal habe ich verloren.
VS scheint noch oft auf diese exotischen Tasten zu setzen (FXX-Tasten, Delete, etc.) und damit die Produktivität zu hemmen.
Na ja, entweder du machst es über Meta-Keys wie Ctrl/Alt oder über getrennte Command/Edit-Modi. Beides hat seine Vor-und Nachteile.
pfeilschnell schrieb:
Nichts von alledem ist auf irgend eine Weise herausragend. Alle mittelmässigen Editoren beherrschen das. Da musst du schon echte Killer-Features bringen.
Ich muss gar nichts bringen
Ich hab nur ein paar Sachen aufgelistet, die nicht übermäßig bekannt sind. Bisher hab ich aber auch im Thread noch keine Killer-Features gesehen, die in VS fehlen (die bisher genannten sind wohl sinnvoll, aber keine Sachen, die mich unglaublich weiter bringen).
-
GPC schrieb:
Ist jetzt nichts wonach ich mich wirklich sehnen würde, aber ich verstehe, dass es (optional) sinnvoll wäre
ist wohl gewöhnungssache
VS kann z.B. ein paar Dinge, die nicht jedem geläufig sind:
- Per Strg+I inkrementell suchen
- Strg+W wählt das Wort aus, über dem sich der Cursor grad befindet
- Alt + Pfeiltasten links recht springt zum nächsten/letzten Wortanfang
- Strg+L löscht die aktuelle Zeile und fügt Sie in den Zwischenablageringpuffer ein
- Shift+F12 um herauszufinden, wer die Variable/Funktion unter dem Cursor alles aufruft
- Strg+K Strg+C kommentiert eine oder mehrere Zeilen aus.. Strg+K Strg+U unkommentiert wiederum
- Shift+Alt+Enter setzt VS in den Fullscreen modus
Nunja, mal ehrlich, die Punkte sind alle Pipifax:
Strg+W: Das kann ich mit Doppelklick auch, davon abgesehen ist die Funktion ziemlich uninteressant, was will ich im Programmcode auch mit nur einem Wort. Interessant wird das erst, wenn die Funktion, wie in IntelliJ Syntax Aware ist, sprich:int z = eineMethode(2 * andere|Methode(x, y)); // | = Cursor
Strg+W => selektiert "andereMethode",
nochmal Strg+W => selektiert "andereMethode(x, y)"
nochmal Strg+W => selektiert "2 * andereMethode(x, y)"
nochmal Strg+W => selektiert "eineMethode(2 * andereMethode(x, y))"
usw. usf. bis du die ganze Klasse selektiert hast. Das ist sinnvoll und produktivitätssteigernd, aber gibt es in VS soweit ich weiß auch nicht.Alt + Pfeiltasten: geht sogar im Windows Editor, nur mit Strg statt Alt
Strg+K Strg+C etc.: Der Witz an der Sache ist, dass es 2 verschiedene Shortcuts dafür braucht, anstatt eine Funktion, die vorher guckt ob die Zeile schon auskommentiert ist oder nicht und jenachdem den Kommentar setzt oder entferntDie ganzen Doppelshortcuts ala Strg+K Strg+C als Standard sind sowieso eine Seuche in VS, versteh ich nicht, dass die das so machen statt mit Strg+Shift+XY oder Strg+Alt+XY wie alle anderen
-
gastantwort schrieb:
Strg+K Strg+C etc.: Der Witz an der Sache ist, dass es 2 verschiedene Shortcuts dafür braucht, anstatt eine Funktion, die vorher guckt ob die Zeile schon auskommentiert ist oder nicht und jenachdem den Kommentar setzt oder entfernt
Na ja, wenn du einen großen Bereich selektiert hast, der bereits einzelne Kommentarzeilen enthält, dann bist du froh, wenn Strg+K Strg+C nicht einfach nur auf "invert line comment status" reagiert :p
Die ganzen Doppelshortcuts ala Strg+K Strg+C als Standard sind sowieso eine Seuche in VS, versteh ich nicht, dass die das so machen statt mit Strg+Shift+XY oder Strg+Alt+XY wie alle anderen
Strg+Shift+A ist halt per default z.B. schon für "Neues Element zum Projekt hinzufügen" (oder sowas) belegt
-
rüdiger schrieb:
hustbaer schrieb:
Warum VS? schrieb:
ipsec schrieb:
Es ist nun mal eine sehr gute IDE.
Vom Bedienkonzept mag es auch bessere geben, herausragend ist aber der Debugger. Ich behaupte, für C++ ist der VS-Debugger der beste überhaupt.Was macht den VS Debugger zum besten Debugger überhaupt?
Für VMware gibt es in Kombination mit Eclipse nun z.B. die Möglichkeit alle Befehle rückwärts zu gehen und dabei die Daten auch rückwärts richtig wiederherzustellen.Öh.
Das geht mit VMware + VS genauso.Vielleicht meinte er "ohne VMware". Zumindest kann der GDB mittlerweile "Reverse Debugging" ohne externe Hilfe.
Dann hätte er sich sehr irreführend ausgedrückt.
BTW: kann GDB das für "native" Code? Wenn ja, welche IDE (die idealerweise unter Windows verwendbar ist) unterstützt das?
(Und für "managed" Zeugs kann das VS soweit ich weiss auch ohne Hilfe)
-
GPC schrieb:
gastantwort schrieb:
Strg+K Strg+C etc.: Der Witz an der Sache ist, dass es 2 verschiedene Shortcuts dafür braucht, anstatt eine Funktion, die vorher guckt ob die Zeile schon auskommentiert ist oder nicht und jenachdem den Kommentar setzt oder entfernt
Na ja, wenn du einen großen Bereich selektiert hast, der bereits einzelne Kommentarzeilen enthält, dann bist du froh, wenn Strg+K Strg+C nicht einfach nur auf "invert line comment status" reagiert :p
Stimmt, IntelliJ macht's erstaunlicherweise trotzdem richtig :p
-
gastantwort schrieb:
- Shift+F12 um herauszufinden, wer die Variable/Funktion unter dem Cursor
Nunja, mal ehrlich, die Punkte sind alle Pipifax:
Find all References ist Pipifax? Für C++? Wenn du meinst...
Ich weiss dass das mittlerweile viele IDEs können, aber als Pipifax würde ich es ganz sicher nicht bezeichnen.
-
gastantwort schrieb:
Hier mal ein paar Kleinigkeiten die mich jedesmal aufregen im VS Editor (C++):
- Keine "Zeile duplizieren" FunktionDen Funktionswunsch verstehe ich weniger, für mich klingt dies nur nach einer Kurzform von Einfügen und Ersetzen.
gastantwort schrieb:
- Keine Syntaxvervollständigung (z.B. schließende Klammern setzen, Semikolon einfügen, geschweifte Klammern einfügen, etc.)
Bei C++ und C# verstehe ich sehr gut warum nicht einfach Klammern und Semikolons gesetzt werden, da dies durchaus von Fall zu Fall nicht gewünscht ist (und wenn muss das Einfügen hinter dem Cursor erfolgen). Davon abgesehen das VS bei mir durchaus gewisse Syntaxvervollständigung (unter C#) durchführt, wobei dies auch durch ein Plugin (Resharper) kommen kann.
gastantwort schrieb:
- Defekte "Zeile unter/über dieser Zeile einfügen und Cursor dorthin setzen", Beispiel, da schwer zu beschreiben (| = Cursor):
if(x == 123|) { // Cursor z.B. hinter 123 oder irgendwo im if statement. }
Drücke Enter: Cursor steht am Anfang der Zeile, nicht eingerückt.
Da in C++/C# ein Befehl in mehrere Codezeilen aufgeteilt werden kann (was ich bei längeren Ausdrücken [gerade bei einem if] schon häufig gesehen habe), würde eine solche Funktion einen Sonderfall erzeugen.
gastantwort schrieb:
- Null Fehlerberichtigung oder Refactoring im Editor (z.B. automatisch den richtigen header includen, oder eine neue Methode oder Variable anlegen, wenn ich versuche eine Methode aufzurufen/Variable zu benutzen die es noch nicht gibt.
In C# hast du Refactoring, in C++ zugegeben nicht. Aber es gibt Plugins (teilweise kostenlose, z.B. die "Free Editions" vom Refactor! von devexpress) dafür. In der IDE die ich an der Firma nutzen muss gibt es nicht einmal die (und überhaupt nur eine Hand voll sinnvoller Erweiterungen). Ja, MS liefert nicht alles mit (Unter C# sieht die Situation aber schon wesentlich besser aus), aber es lässt sich wenigstens fast beliebig erweitern (eine Funktion die einigen anderen IDEs leider fehlt, sei es wegen einem eingeschränkten Pluginsystem oder weil niemand einen Markt oder eine Notwendigkeit dafür sieht).
-
gastantwort schrieb:
- Defekte "Zeile unter/über dieser Zeile einfügen und Cursor dorthin setzen", Beispiel, da schwer zu beschreiben (| = Cursor):
if(x == 123|) { // Cursor z.B. hinter 123 oder irgendwo im if statement. }
Drücke Enter: Cursor steht am Anfang der Zeile, nicht eingerückt.
Dann hast du was an den Standardeinstellungen rumgeschraubt. Standard ist
if(x == 123|) { }
[Enter] ->
if(x == 123 |) { }
[Ctrl] + [Enter] ->
| if(x == 123) { }
[Ctrl] + [Shift] + [Enter] ->
if(x == 123) { | }
-
lol, jetzt wird schon als "Argument" gegen VS aufgeführt, dass Blockselektion nur mit Maus geht. Oh man wie lächerlich. Was kommt als nächstes? Dass jemanden der Grauton der Buttons nicht gefällt?
Auch ist offenbar einigen total entgangen, dass es für VS zig Plugins gibt. Aber naja, mir solls Wurst sein. Einige können sich ja gerne weiterhin über Mikrodetails künstlich aufregen. Und ihre GUIs in vi schreiben oder so.
-
Warum ist Visual Studio bei Programmierern so beliebt?
Das ist wahrscheinlich so beliebt, weil von Microsoft für Microsoft Betriebssysteme und sonst nichts.
Ich bin persönlich von der IDE immer wieder traumatisiert. Beruflich bis jetzt nur unter Visual Studio 2005 gearbeitet. Das war ein Krampf. Irgendwo ungünstig geklickt - Visual Studio hängt. In solchen Fällen klicke ich noch absichtlich Hundert mal oder so, dann kam manchmal noch eine lustige Meldung, vielleicht kennt das jemand, "Visual Studio ist beschäftigt ...". Es gab hin und wieder echte Abstürze, wenn man sich ungünstig mit einem Windows CE Target verbinden wollte.
Daheim habe ich Visual Studio 2010 Express Edition ausprobiert. Aber ich mach das so, editieren tue ich mit meinem Lieblingseditor, bauen mit der IDE, hobbymäßig halt.
Visual Studio 2010 Express Edition funktioniert bei mir nicht, ich starte es und es kommt eine Meldung, man muss sich irgendwo registrieren, bähEditiermöglichkeiten empfinde ich allgemein irgendwie primitiv. Mein Lieblingseditor ist gVim, ich würde sagen, nutze nur die grundlegenden Kommandos, empfinde die Arbeit damit aber bereits auch so effektiver. Man muss sagen, es geht nicht darum, ob der Editor viele Abkürzungen für irgendwelche Funktionen bietet. Bei gVim schätze ich die Möglichkeit, die Texteingabe, -verarbeitung sozusagen zu automatisieren und das fehlt mir bei den modernen IDEs bzw. kenne mich da nicht aus, vielleicht bieten die so was an
-
abc.w schrieb:
Warum ist Visual Studio bei Programmierern so beliebt?
Das ist wahrscheinlich so beliebt, weil von Microsoft für Microsoft Betriebssysteme und sonst nichts.
Blah
Ich bin persönlich von der IDE immer wieder traumatisiert. Beruflich bis jetzt nur unter Visual Studio 2005 gearbeitet. Das war ein Krampf. Irgendwo ungünstig geklickt - Visual Studio hängt. In solchen Fällen klicke ich noch absichtlich Hundert mal oder so, dann kam manchmal noch eine lustige Meldung, vielleicht kennt das jemand, "Visual Studio ist beschäftigt ...".
Ich arbeite nun schon seit Jahren mit VS 2005 SP1, und ich kann was du da beschreibst überhaupt nicht nachvollziehen.
-
gastantwort schrieb:
GPC schrieb:
- Keine Syntaxvervollständigung (z.B. schließende Klammern setzen, Semikolon einfügen, geschweifte Klammern einfügen, etc.)
Okay, stört mich weniger. Aber kann man auch teilweise über Code-Snippets angehen, so wie ich dich verstehe.
Glaube ich nicht dass man das manuell erweitern kann. Wenn dich das nicht stört kann das nur bedeuten, dass du es noch nie besser gesehen hast
Wenn man einmal daran gewöhnt ist, dann ...
Beispiele:methode(
Warum wird schließende Klammer nicht automatisch hinzugefügt?
Beispiel 2:methode(2 * f(x, y| )
Cursor hinter y => shift+enter (oder ähnliche kombination)
=> Klammer von f wird geschlossen, semikolon hinter das letzte ), cursor ans ende der Zeile (oder nächste Zeile)Igitt... das Feature regt mich in Eclipse so auf, vor allem da es so endlos buggy ist. Ich muss ständig per Pfeiltasten oder Maus hinter die Klammern springen, weil Eclipse irgendwie nicht erkennt das ")" jetzt keine zusätzliche Klammer da hinschreiben soll, sondern hinter die bereits von Eclipse angefügte Klammer springen soll. Ich meine, vielleicht ist es ja in der Tat so gewollt, das man selber nicht aufpassen muss, wie viele Klammern jetzt noch geschlossen gehören, aber ich finde es ist den Mehraufwand des Handverbiegens zur Maus oder zu den Pfeiltasten nicht Wert
Im VS fehlen mir übrigens einige Komfortfunktionen, sowas wie: automatisch .cpp datei zur .hpp (oder .h) datei erstellen. Vll sogar sowas nettes wie #ifndefs gleich dazu, und wenns sehr toll wäre auch noch einen schönen kommentar-header der sich automatisch updated ganz oben in der datei (mit einträgen wie "letzte änderung", "version", "notizen" etc). Klassenstubs inklusive Standard Kon-, Copy und Destruktor erstellen, inklusive const & copy und dem ; am Ende der Klasse, dass ich seit Jahren regelmäßig vergesse, und das mir beim ersten mal kompilieren immer nen Schreck versetzt
Übrigens scheinen die ersten 4-5 Seiten hier erschreckend Argumentschwach. Viele Behauptungen ohne Begründung . Sowas ist echt ätzend
-
knivil schrieb:
V
Wenn es die beste IDE fuer Windows ist, gibt es keinen Grund eine andere zu benutzen. Aber nicht alle benutzen VS unter Windows. Warum nur?
Gute Frage!
Ja, warum nur gibt es Leute die trotzdem was anderes benutzen?
Wie sieht es z.b. beu euch aus, die ihr in eurer Firma das Ding von Borland benutzen müßt. Warum hat sich die Geschäftsführung für das Borlandprodukt entschieden?
Ich sag jetzt mal Borland, weil die neue Firma/Marke so unglaublich schlecht aussprechbar ist.
-
ipsec schrieb:
knivil schrieb:
Wohl genauso aussagekraeftig wie der TIOBE-Index. Was wird wohl herauskonnen. VS bestimmt.
Du gehst hier a priori davon aus, dass VS nicht das Beste ist und es nur am häufigsten auftacht, weil vor allem Anfänger damit als erstes in Berührung kommen. Dabei verwechselst du aber Ursache und Wirkung. Warum wird es denn so oft Anfängern empfohlen? Und warum liegt es oft Anfängerbüchern bei? Wohl doch weil die Experten/Buchautoren VS als gute IDE ansehen. Und so grauenhaft kann sie ja nicht sein, sonst würden sich die Programmierer durchaus irgendwann umentscheiden.
Ich würde mal sagen, die Buchautoren entscheiden sich für VS, weil sie 1. VS selber kennen und 2. VS nicht schlecht genug ist, daß man etwas anderes nehmen müßte.
Umentscheiden tut man sich doch nur dann, wenn das gegebene absolut unzureichend ist, wenn es aber so lala geht, dann wird es durchaus akzeptiert.
-
asc schrieb:
Weil jeder einen anderen Geschmack hat, weil es unterschiedliche Zielsetzungen gibt, weil man bestimmte Frameworks verwenden will, die von einer Entwicklungsumgebung nicht unterstützt wird...
Also das mit den Frameworks und Toolkits ist zu einfach.
Klar, VS ist für Microsoft spezifische Frameworks & Toolkits wie MFC usw. sicher besser geeignet, aber warum verwenden Firmen, die z.B. mal angenommen die wxWidgets einsetzen trotzdem VS?
-
Bashar schrieb:
ipsec schrieb:
Warum wird es denn so oft Anfängern empfohlen? Und warum liegt es oft Anfängerbüchern bei? Wohl doch weil die Experten/Buchautoren VS als gute IDE ansehen.
Vielleicht weil es billig ist und weil die Anfänger später mal mit VS arbeiten werden, weil VS die beliebteste IDE ist. Mit der Qualität hat das doch erstmal gar nichts zu tun.
Und so grauenhaft kann sie ja nicht sein, sonst würden sich die Programmierer durchaus irgendwann umentscheiden.
Trägheit, individuell und organisatorisch. Entscheidungen dieser Art werden oft von oben herab getroffen, von Leuten, die gar nicht direkt davon betroffen sind.
Bezügl. Buchautoren fällt mir noch ein, daß die Buchautoren sich deswegen für VS entscheiden, weil es den größten Marktanteil hat und die Buchautoren selbst davon profitieren wollen.
Denn wär würde schon ein Buch haben wollen, zu dem man eine Nischenide einsetzen muß, weil z.b. einiger Buchtext aus Anweisungen wie "hier mußt du klicken, dann da klicken usw." besteht.
-
this->that schrieb:
VS is einfach das beste Gesamtpaket (IDE eben). Jeder, der es mal laenger benutzt hat (und vor allem "Alternativen" wie KDevelop oder Eclipse) wird zustimmen muessen.
Allerdings ist der Compiler nicht so gut, wenn es darum geht:
1. eine schnelle aussagekräftige Fehlermeldung zu bekommen. Error Nr. 4562 wo man nachschauen muß, ist halt einfach Mist, der g++ sagt gleich was los ist.2. crossplattformfähigen und standardisierten C++ Code zu erzeugen.
VS macht aus einem simplen Konsolenprogramm z.B. kein normales main(), sondern bennent es um und fügt noch nen Haufen zusätzlichen Ballast hinzu.
Und die Projektfiles taugen leider auch nur in der Windowsumgebung.
Sprich, crossplattformentwicklung kann man damit nicht vernünftig machen.
Der gcc ist da besser, denn der ist überall zu hause.
-
abc.w schrieb:
Editiermöglichkeiten empfinde ich allgemein irgendwie primitiv. Mein Lieblingseditor ist gVim, ich würde sagen, nutze nur die grundlegenden Kommandos, empfinde die Arbeit damit aber bereits auch so effektiver. Man muss sagen, es geht nicht darum, ob der Editor viele Abkürzungen für irgendwelche Funktionen bietet. Bei gVim schätze ich die Möglichkeit, die Texteingabe, -verarbeitung sozusagen zu automatisieren und das fehlt mir bei den modernen IDEs bzw. kenne mich da nicht aus, vielleicht bieten die so was an
gVim ist zwar ein guter Editor, aber die Integration des Debuggers ist Mist.
D.h. Ich will nicht jedesmal die Variabeln bei jedem Debuggereinzelschritt einzeln auslesen, sondern ich will ein Fenster in dem mir alle betroffenen Variablen automatisch angezeigt werden.
Bei VS geht das, bei Eclipse CDT auch, bei Vim geht das nicht.
Wenn man da den Variableninhalt haben will, dann muß man erstmal so etwas wie "print variable" eingeben.
Wer bitte schön viel so viel beim debuggen Tippen?
-
Warum VS? schrieb:
2. crossplattformfähigen und standardisierten C++ Code zu erzeugen.
VS macht aus einem simplen Konsolenprogramm z.B. kein normales main(), sondern bennent es um und fügt noch nen Haufen zusätzlichen Ballast hinzu.
Und die Projektfiles taugen leider auch nur in der Windowsumgebung.
Sprich, crossplattformentwicklung kann man damit nicht vernünftig machen.
Der gcc ist da besser, denn der ist überall zu hause.Das stimmt (wobei die Umbennennung von main wohl auf WinMain rausläuft, aber ka). Jedoch ist es auch völlig egal, denn VS bzw. der VC++ compiler hat auch gar nicht den Anspruch, Binaries für alle möglichen Plattformen zu erstellen. Das einzige Target ist Windows... also gibt es gar keinen Grund, irgendwie zu einer anderen Platform kompatibel zu sein. Wenn man standardkonform programmiert, dann wird es sowohl vom VC++ gefressen als auch vom gcc. Klar, irgendwo wird man vmtl. ein paar #ifdefs machen müssen, aber nicht in abartigem Ausmaß.