Live data from Hacker News

Visual Studio 2013 released to web

blogs.msdn.com

131–140 of 162 posts

Re: Visual Studio 2013 released to web

#131
post #120

Earlier quoted context omitted.

Chromium is an extreme case of this. When we started we wanted to live the VS way of life (IDE tools and the like), so we had a Chrome.sln and various projects. Eventually it became too much. It would take minutes to load the sln, and woe to you if you synced your source tree while msvs was open, as you'd receive a neverending slew of modal prompts asking you to reload each of hundreds of projects. I think we still h…

What is the argument for keeping it all in the same solution?

It's a single product, composed of multiple projects/targets building different dlls/executables. That was my understanding of the point of a "solution" (vs the old days of VC6 when there were only projects and workspaces). Anyway, it used to work back in the days when most of Chrome's code came from WebKit. Now we're many times bigger. It's clear MSVS' project UI is not intended for building projects of this scale. I'm assuming Microsoft doesn't use this UI to develop windows, or office, so it's not surprising this case isn't supported.

Re: Visual Studio 2013 released to web

#132

Earlier quoted context omitted.

VS 2008 here, somebody apparently tested 2012 but nothing came out of it with people fearing that a different C++ compiler will break everything...

I'm still on VS 2008 as well. Is there anyone who has upgraded a substantially sized C++ project from VS 2008 to one of the newer versions that would be willing to share their experiences?

Yes. 700 of them in fact, from VS2008 to VS2010, a couple of years ago. Here's what I found...

- VS2010's macro system is just broken, and fails to coexist with VS2008. Basic macros using the DTE object work; more sophisticated ones (I have a few that used DTE90 - or was it DTE80? - anyway, whatever, they manipulated project properties) seemed to be literally impossible to make work, due to some kind of conflict between system-global components that both try to install. Pretty shameful.

- VS2010+ craps massive files into your solution folder, worse even than the NCB palaver, and so your more junior and/or inept programmers will keep checking that junk into source control.

- It's common in VS2008 to change the build product name by going to the Linker or Librarian property page and just changing that Output File property. VS2010 doesn't like this, though, due to some MSBuild limitation, and would much prefer you to modify the settings in the General page, leaving the output file name as its default of something like "$(OutputFolder)$(OutputName)$(OutputExt)". Of course, the project upgrade doesn't actually do anything about this for you, so after importing all your projects that work the old way way, they won't work properly, and you have to fix each one up yourself.

- VS2010 dependencies aren't like VS2008 dependencies. There's a new C#-style References section that manages the linking. Dependencies can still be set, but they only affect build order. (Also - when you change dependencies, you need to close and restart Visual Studio, because sometimes they don't take effect properly.)

- The new C#-style references are part of the project, not part of the solution, so they come with the project when you add it into a solution. Add a project but forget its references and you just get a cryptic error (along the lines of "Project has no Debug|Win32 configuration") when you try to build; to add insult to injury, when you go to the References page, the missing reference is not actually shown, because (of course...) it's not in the solution. You need to open the vcxproj in a text editor and look at its contents and compare it to the references VS2010 shows you to work out which is missing.

- When a project refers to a non-existent file, the project will be considered permanently out of date. VS2010 won't give you any clue about what's wrong, and to track the problem down you (as I recall...) have to change some random setting in a file you've never heard about, which gets MSBuild printing stuff out via fucking OutputDebugString, leaving you to scrape through its (unreadable) output with DbgView until you find the magic message that hints at the file in question. (The link I have in my notes is http://blogs.msdn.com/b/vsproject/archive/2009/07/21/enable-...)

- If a solution refers to a non-existent project configuration, you get a cryptic "The parameter is incorrect" error when trying to build, with no clue as to what's wrong.

- If you happen to open one of the built-in MSBuild files in the text editor, which can easily happen if you click on the wrong warning, all hell breaks loose and MSBuild starts to spew warnings everywhere each time you build.

This excludes a few vendor-specific issues I had, with my favourite (I think...) being the plugin that would instantly terminate Visual Studio if you used the phrase "%(ProjectFilename)" (instead of "%(ProjectFileName)") in your build output paths.

Needless to say, after this dreadful experience - and I have to say that if you have never embarked on an endeavour such as this, you probably won't (as I didn't) appreciate just how long it can take, and how time-consuming it can be to track down and fix all these issues ocurring in all these opaque black boxes - I swore off VS2010 completely. And to this day, I have yet to use it in anger.

Re: Visual Studio 2013 released to web

#133
post #110

Earlier quoted context omitted.

Chromium is an extreme case of this. When we started we wanted to live the VS way of life (IDE tools and the like), so we had a Chrome.sln and various projects. Eventually it became too much. It would take minutes to load the sln, and woe to you if you synced your source tree while msvs was open, as you'd receive a neverending slew of modal prompts asking you to reload each of hundreds of projects. I think we still h…

The hundreds of modal prompts are combined into a single 'Reload All'. Only since VS2012 though if I'm not mistaken.

[deleted]

Re: Visual Studio 2013 released to web

#134
post #85

Earlier quoted context omitted.

Depending on what are you using, C++11 complete support is more that enough reason for upgrade to me. :)

Sold! Where can I confirm that VS 2013 is fully C++11 compliant?

While VS 2013 has much better C++11 support it's not close to full compliance. The Visual C++ team have decided to work on C++11/C++14 together which is slowing C++11 a bit. Here's a blog post laying out their plans. http://blogs.msdn.com/b/somasegar/archive/2013/06/28/cpp-con...

There's also a quite detailed talk by Herb Sutter on channel 9 as well. http://channel9.msdn.com/Events/Build/2013/2-306

Re: Visual Studio 2013 released to web

#135
post #45

Earlier quoted context omitted.

Microsoft developer tools are becoming more and more oriented towards "wizard-and-designer-clickety-clickery" type development. Maybe you are just now noticing, but MS dev tools have always had wizard clicky things. For example, see the original Visual Basics from the 90s.

AFAIK, Visual Basic was targeted at non-professional/beginner programmers, so having wizards and designers is fine there. My main gripe with abundance of today's "visual programming" is that we have memory-managed languages with immense expressive power and ability to write all kinds of DSLs, yet what Microsoft does is it provides crippled XML-backed designers along with half-baked frameworks and class libraries.

Microsoft has always had "half-baked frameworks and class libraries".

I actually like MFC, but it never really got past the "good for a first cut" phase, IMO. Fortunately, I've never had to deal with .NET, and besides a little MFC, most of my work is on Linux these days.

Re: Visual Studio 2013 released to web

#136

Earlier quoted context omitted.

It’s really not that bad. WiX is actually pretty decent, definitely not a “disaster”. It might look more frightening than InstallShield because you don’t get a nice UI that allows you to set up an installer with a few clicks, but I mean, we’re programmers here, surely editing textual configuration files is not an issue? It took me somethong like 30 minutes to replace our old InstallShield installer with WiX.

Don't mean to sound like an ass, but oh really? WiX is a thin wrapper around MSI (which sucks beyond belief) and as such it suffers full blast from all the "design" decisions of the latter, not even trying to remedy the situation. I really could pour out a full-blown rant on MSI in general and WiX in particular, but that would be wildly offtopic and of no interest to fellow HNers.

If you think MSI is bad, and I'll have to take your word for it, what MS had prior to it was probably worse. Writing installers for Windows using MS tools has always been a nightmare.

Re: Visual Studio 2013 released to web

#137

I can't seem to find the dmg for mac.

It's probably on apple's homepage in the same section for the iOS windows dev tools. Please share the link when you find it.

I think it's on the same page as the .deb and .rpm files.

Re: Visual Studio 2013 released to web

#138
post #95

This rant has been brewing for many years... Everything's been downhill since VS6. I'm only joking, but seriously, does anyone remember how lightning fast VS6 was? That was over 15 years ago with much slower computers. I guess application 'snappiness' has not been a priority for the Visual Studio decision makers. I've used VS since the late 90s (writing node.js in ST2 now) and honestly appreciate the hard work and co…

The initial load is slow. VS is a huge system with a lot of plugins. But I think it's still quite fast. I generally do VS on the fastest computer I own, which sucks, but oh well... it's still more usable and faster compare to Eclipse.

Re: Visual Studio 2013 released to web

#140
post #30

Earlier quoted context omitted.

> pander to web monkeys Really? How exactly does VS2012 pander to "web monkeys" at the expense of others?

It's not necessarily "monkeys", but, disturbingly, Microsoft developer tools are becoming more and more oriented towards "wizard-and-designer-clickety-clickery" type development. There are a few exceptions to this rule (think EF Code-First), but that's a drop in the ocean.

Enterprise developer here. That wizard bullshit is 100% enterprise. It's horrible to use and only exists because most enterprisey programmers are too terrible to grasp more productive coding methods.

Still 100x better than digging through 100 pages of abstruse Java docs about AbstractProxyBeanDAOFactoryProxy.GenerateAbstractProxyBeanDAOFactoryAccessor though.

Post reply on HN