3 ms·
As a person that started programming on X11 in the late 80s and still uses vim daily, I can't think of a better environment than Visual Studio (possibly with th
by andr 18y ago
As a person that started programming on X11 in the late 80s and still uses vim daily, I can't think of a better environment than Visual Studio (possibly with the vi plugin) for programming. It is actually sad that guys like the author of this post and some hardcore Linux geeks pride themselves in the lack of good IDEs.
The two main arguments are:
1) C# needs more boilerplate class code than C++ or other languages. Wrong. It definitely needs less boilerplate code than C++ and is close to Python and Ruby.
2) C# and Visual C++ have huge class libraries, which makes it impossible to use without an IDE. I'm sorry, but I would always go for the language with the big class library, rather than the one without it. Also, C++ has fairly hefty Unix libraries, too.
I guess the real problem is sour grapes. For languages other than Microsoft's and Java (and maybe Lisp - I don't know), there aren't any good IDEs, which really understand your code, are stable and bug-free, and provide useful refactoring tools (e.g., change the name of a method and update all of its invocations). For one, the lack of a good IDE and toolchain really does reduce efficiency in large projects (although I would guess the average Rails project is not that large). It also steepens the learning curve. While learning Scala I've spent ours trying to find a mistake in a single line, which neither the IDE nor the compiler could reasonably point out, but Visual Studio would have explained right away.
- trezor 18y agoAgreed. The article pretty much reveals that the author has never used a good IDE like Visual Studio for anything besides the obvious like adding new class-files, making some GUIs and then running a compile. I bet he didn't even customize the default layout, panels and toolbars. My list of top 3 features in Visual Studio, and I suspect most of them to be in Eclipse as well: 1) The built in debugger which can be invoked at any time, having conditional breakpoints and which automatically tells you where your code fucks up, with full statefull variable inspection. This single feature has saved me more hours than I can possibly count up trough the years. For any project not microscopic, I can't imagine not having a feature like this. 2) IntelliSense and code completion. Having the editor automatically look up all possible members and fields while writing code isn't just handy when it comes to speed and avoiding typos. It allows constant discovery of features in the .NET libraries whenever writing code. And when it stops working, you know you just did something wrong in your previous line of code. Absolutely invaluable. 3) The built in refactoring tools. Granted Resharper provides you with a even better toolset, but the importance of having a editor which actually understands your code as more than just "text" can't be overstated. These are just a few of the things which I love about Visual Studio. It seems obvious to me as a developer that all these features would be handy for any language. As for the author's praise of emacs as the text-editor which can be hacked and extended into something resembling a Lisp-IDE (using Lisp no less!), I guess he missed the memo that Visual Studio already is an IDE and can be extended infinitely as well. Last time I checked there were addons for Visual Studio for Python, Ruby and Perl. And addons for Visual Studio can be written in any language with a .NET compiler, Lisp included. That the author somehow feels more "limited" when using a IDE, that is a editor with intelligent code-related features, than when simply using a editor, show that he is clearly full of himself. To me, that seems about as intelligent as complaining about how you are feeling more "limited" with unused commands in /bin/ that you don't fully know or use, than if the commands weren't there at all.
- chandler 18y agoReading these posts about the "excellent, bug free" VS development environment: in my experience, this isn't quite the truth. I've used VS6 since the late 90's, mostly on small projects (less than ~10 000 lines, four or five source files) until 2004, where I signed up to work maintenance on what is essentially a very large codebase (thousands of source files, between 500-50 000 lines per file). In 2006, my frustration with VS6's inability to handle a codebase of this magnitude finally convinced me to try a different IDE toolset. My specific complaints: - Starting VS6 is slow, and brings the computer to a halt. - Compiling & linking through the IDE is slow, and brings my computer to a halt. This doesn't happen when run from the commandline, nor, as follows, from a subprocess within Emacs. - Intellisense stops working a lot; nothing breaks programming flow like having your favorite crutch be unavailable for half the methods (this seems to affect large files more than small). Incidentally, though Emacs has Intellisense type functionality, I much prefer the generic completion available in Emacs/Vim (M-/ in Emacs, Ctrl-N in Vim), as it works within comments and for undefined/undeclared (and unprocessed) structures. - The method navigation panel fails often, with it listing a method correctly, but displaying "method not found" when selected (the workaround is to select different methods until one is found, then jump around the file for the desired method). I suspect this is related to the parser not handling default arguments correctly in certain cases. Finally, VS is the only application that has blue-screened my XP machine (this happened only twice, however, and wasn't involved in my decision to migrate to a different toolset). Regarding software, either you bend software to meet your needs, or it bends you to meet its limitations. Unfortunately, because VS has a high difficulty regarding the former, I found I was consistently having to integrate workarounds into my day to day coding practices.
- sysop073 18y agoI can't imagine how building is freezing your computer when using the command-line isn't; all VS does is call cl, link and mt in that order, you can procmon it and watch it happen. The Intellisense thing, on the other hand, is the most ridiculous thing I've ever seen - the official Microsoft solution is to delete the Intellisense database and restart VS, apparently it "gets corrupted over time" and they don't feel the need to look into it
- snprbob86 18y agoAgreed. All of his arguments are weak and because they are built on false foundations. I develop games with C#. The libraries we have are very thin and do not really benefit from IDE designer support. However, VS still makes my life a whole hell of a lot easier. The debugger is superb. Complete integration with my bug tracking and source management tools. On the fly error checking, saves me from a bad compile. Especially with Resharper http://www.jetbrains.com/resharper/ http://www.jetbrains.com/resharper/ If you do any C# development, you MUST try resharper and train your fingers to press alt+enter and ctrl+shift+r a lot. It makes Visual C# much more like JetBrain's other product, IDEA IDE. When your IDE is this good, you never be able to go back. I have worked two jobs in the past which were at Linux shops. I've used VIM quite extensively and become reasonably proficient at it. It is pretty good for editing all types of text. Too bad that I spend most of my time editing only one type of text: code of a particular language. Visual Studio is EXCELLENT at editing each type of text it supports, but it sucks something awful if you give it a new type and don't write plugins to handle it. Part of my job is writing VS plugins which is certainly no fun because of the COM legacy. Future versions are getting more C#-ish, nice, managed extensibility APIs that will be closer to that of Eclipse.
- apotheon 18y ago> C# needs more boilerplate class code than C++ or other languages. RTFA. C++ was used as an example alongside C#. > close to Python and Ruby. You must be using a different Ruby than me (or maybe C# 3.0 has magically gotten rid of all its repetitive BS). > C# and Visual C++ have huge class libraries, which makes it impossible to use without an IDE. That was kind of part of the point. > I'm sorry, but I would always go for the language with the big class library, rather than the one without it. That says more about you than about whether the lack of VS on Slackware makes MS Windows a better development platform. > I guess the real problem is sour grapes. This "they hate us for our freedom" crap gets old really fast, y'know. It's not all about jealousy, no matter how much you wish it was.