Hacker News new | ask | show | jobs
by moccajoghurt 4476 days ago
Why?
3 comments

That's a great question. Here's my take on it: I switched from Windows to Linux over a decade ago...but as somebody that has to often write a lot of C/C++ code, man do I miss Visual C++. I've gone through all the IDEs (Eclipse, Code::Blocks, Anjuta, QtCreator, etc). QtCreator comes close for me, but I feel most comfortable with Sublime Text and a terminal for compiling/debugging/profiling.

Visual C++'s intellisense actually worked...not perfectly, but much better than what I've seen on Linux (QtCreator is close). Their debugger quality, source control integration, profiler integration, target code quality, compiler error messages/feedback, a call browser (a feature I still can't find on any other IDE, not the same as grep)...all wonderful. All of that stuff can be leveraged for writing cross platform code, including the Linux kernel. I know it sounds insane to use a Windows-specific IDE, but VC++ is that good of an IDE. Personally I would think it's way more trouble than it's worth, but apparently the OP felt otherwise :)

I don't have many good things to say about Microsoft's products, but for Visual Studio I only have praise. MS has always excelled with compilers, languages, development tools. People mock Steve Ballmer for his "developers, developers, developers!!!" rant, but IMO MS's dev toolchain is a big part of how they attracted developers and achieved market domination.

In all honesty, it's not even close to VS. As a lifelong MS hater, even I have to admit that they sure know how to produce an amazing IDE.
I don't suppose you've heard of KDevelop?
I have and forgot to mention it. Good IDE, but still not on par with VS IMO.
Because the Visual Studio debugger is the most advanced, wonderful, and beautiful (if that's a thing) debugger ever written.
I keep my code portable to Windows soley for the purpose of getting to use the Visual Studio debugger. Likewise, Windows developers should write portable code so they can use valgrind.
No need for valgrind when using memory safe languages :)
Are your memory safe languages also concurrency/data-race safe? (<3 valgrind DRD)
The wonders of FP.
"Often time when using high level algebraic languages we have a tendency to do things in a way that looks the best, or in the shortest number of statements. Often completely ignoring what will execute fastest." - Donald Knuth The Art Of Programming Volume 1 Second Edition Preface X.
But its the most maintainable so 99% of the time that's the right choice.
It has a steep learning curve, but the package Microsoft calls "debugging tools for windows" (windbg, cdb, kd) really puts the VS debugger to shame, to the point where I am frustrated when I try to use it. If you want to point and click your way through variables I guess VS is OK, but if you want everything you might ever want to know about a process it is frustrating.
You can use the WinDbg debugging engine as your debugging engine in Visual Studio, which allows you to combine the benefits of the IDE with the power of WinDbg virtually seamlessly.
Just step back and think for a minute why that is the case.
Is it because Microsoft has always invested heavily in development tools to encourage development of Windows software?
I don't think that's the case when VS bundle is priced in thousands of dollars. They just want to make good product.
Because writing good debuggers is unglamorous hard work.

Actually, I think the VS C++ debugger is only decent - not great, just decent. I prefer the Borland debugger kernel, seen these days in Embarcadero Delphi and C++ Builder, the CPU view in particular. Although if you're working with mixed native and .NET code, it's quite good.

VS's ability to comprehend C++ code and provide meaningful code completion, follow symbol references, etc. even when it isn't able to compile the C++ is excellent, however.

If you're implying that it's because code written on/for Windows is more buggy, remove that chip from your shoulder.
Actually you're right. I stepped over the line. I don't use Windows products but Windows does make incredible software.
Because it's proprietary, and other debuggers aren't allowed to copy it?
“The Linux philosophy is 'Laugh in the face of danger'. Oops. Wrong One. 'Do it yourself'. Yes, that's it.” - Linus Torvalds.