Advertisement

Microsoft release free Community Edition of VS 2013

Started by November 12, 2014 08:07 PM
37 comments, last by imaginauteur 9 years, 9 months ago

You need to buy the stuff you wish to use in production, but you can keep using the software you received "for development and testing". You wont receive any updates or whatever though. Obviously the idea is that it helps you get started and that you'll continue using (paying) their stuff afterwards, but there are no binding agreements or such. So yeah, if it made you choose Microsoft over open source or whatever initially, then yes, this may cost you in the long run, but if you were going Microsoft anyway, there are only advantages.


http://blogs.msdn.com/b/vcblog/archive/2014/08/21/c-11-14-features-in-visual-studio-14-ctp3.aspx

Lists current as well as up coming Visual Studio 2015 (they call it 14 on the page).

That's old -- it only goes up to CTP 3 -- VS2013 community rolls up to CTP4.


Does anyone have a reasonable overview regarding the current C++11/C++14 state of that edition? Since MSVC 2013 seems to have received several features in successive updates it's very easy to run into outdated information. I found this post on StackOverflow but it's back from August of last year. Unless significant parts of that changed in the meantime I still would not consider MSVC for my hobbyist for-fun projects because the parts that would be fun are missing.

There's no dedicated resource for this, but VS2015 support for language features can tell you -- the VS2013 column is inclusive of CTP4, and reflects VS2013 Community or a fully-updated VS2013 install. But it only speaks to core language features, not the standard library.

throw table_exception("(? ???)? ? ???");

Advertisement

What about your developer PCs running Windows, Office, VS, etc? MS just say "OK those are free, good luck"?

It's basically a big legit keygen for MS programs. They don't remotely revoke those keys after a period of time, and yes you're allowed to keep using them.

From the Bizspark front page:
"BizSpark Alumni can keep, at no charge, all the software they downloaded during their three years in the program, including a standard configuration of Windows Server and Microsoft SQL Server."

Does anyone have a reasonable overview regarding the current C++11/C++14 state of that edition? Since MSVC 2013 seems to have received several features in successive updates it's very easy to run into outdated information. I found this post on StackOverflow but it's back from August of last year. Unless significant parts of that changed in the meantime I still would not consider MSVC for my hobbyist for-fun projects because the parts that would be fun are missing.


There's no dedicated resource for this, but VS2015 support for language features can tell you -- the VS2013 column is inclusive of CTP4, and reflects VS2013 Community or a fully-updated VS2013 install. But it only speaks to core language features, not the standard library.


Thanks. On first glance, that looks better than the older table but I don't think that makes me want to use MSVC for fun at home. I already have to use it at work, I want something more complete for my hobby. What I find a bit disheartening is the lack of C++14 support even in the current 2015 Preview.

Perfect timing, just working on Chromium Embedded, this will do nicely. smile.png

My Games - Blox and The Guessing Game


What I find a bit disheartening is the lack of C++14 support even in the current 2015 Preview.

They're behind, but they're coming on fast. They're on track to have C++17 fully ready around the same time that GCC and Clang have it on their roadmaps, IIRC. They've got a lot of work to do -- The roots of Microsoft's compiler run just as deep as (even a bit deeperer than) GCCs, and despite being a corporate effort, has gotten along with fewer core developers. They've openly talked about some architectural challenges that are standing in the way of implementing some of the remaining features, meaning, its not just adding a feature, they have to refactor and re-architect some pretty significant machinery first before its even possible. LLVM/Clang benefit from their relative youth, and an extra 20 years of human experience building compilers. Microsoft also have a hefty legacy of code in enterprise back-offices across the globe and none of those customers will accept that code becoming broken, so they typically have to maintain a backwards-compatibility mode that preserves the old (often incorrect) behavior; GCC/Clang don't have to deal with that problem in quite the same way, as open-source volunteers will usually step forward to patch old software if anyone is still using it.

throw table_exception("(? ???)? ? ???");

Advertisement

They've openly talked about some architectural challenges that are standing in the way of implementing some of the remaining features, meaning, its not just adding a feature, they have to refactor and re-architect some pretty significant machinery first before its even possible.


I seem to recall a presentation where Herb Sutter said that the compiler didn't do AST generation which was a major hurdle in getting a lot of the newer stuff going so they had to go back and add that in and refactor around it.

I have to say, that came as a surprise to me, but as you say a LOT of legacy in there.

Yep, that particular bit of vestigial architecture stems from a time when memory was tight -- the compiler historically hasn't kept anything around that it didn't need any longer, and some of the C++11/14 features as-yet-unimplemented (though I forget particularly which) are all but impossible to do without keeping AST info around. On the bright side, standards compliance has forced a modernization of the code-base which should pay dividends going forward. Once they've gotten feature parity to at least C++14, Microsoft's compiler is quite attractive -- Their Profile-Guided Optimizations and auto-vectorizer are, IMO, second only to Intel's own, scalar code generation is pretty tight, the debugger in Visual Studio is top-notch, and they've done a lot of work for VS2015 to improve diagnostics and build throughput -- Clang is still especially awesome on those last two points, but VS2015 will be a big step forward.

throw table_exception("(? ???)? ? ???");


http://blogs.msdn.com/b/vcblog/archive/2014/08/21/c-11-14-features-in-visual-studio-14-ctp3.aspx

Lists current as well as up coming Visual Studio 2015 (they call it 14 on the page).

That's old -- it only goes up to CTP 3 -- VS2013 community rolls up to CTP4.


Does anyone have a reasonable overview regarding the current C++11/C++14 state of that edition? Since MSVC 2013 seems to have received several features in successive updates it's very easy to run into outdated information. I found this post on StackOverflow but it's back from August of last year. Unless significant parts of that changed in the meantime I still would not consider MSVC for my hobbyist for-fun projects because the parts that would be fun are missing.

There's no dedicated resource for this, but VS2015 support for language features can tell you -- the VS2013 column is inclusive of CTP4, and reflects VS2013 Community or a fully-updated VS2013 install. But it only speaks to core language features, not the standard library.

Bit early for a c++ 17 preview surely?

Not sure exactly what you're asking, but yes, VS2015 Preview already supports some non-controversial features that are expected to be in C++17. Because of the engineering challenges of the older codebase as they refactor it, they're treating C++11/14/17 work as if its coming from a single bucket. They'll do what they think provides the most value as they can, provided that the compiler is in a state that it can be supported -- there's certain C++11 features that require more plumbing to be reworked than do certain C++14 or C++17 features. They aim to have it all done at around the same time GCC/Clang intend to wrap up C++17. Of course, C++17 isn't set in stone yet.

AFAIK, though, VS2013 doesn't support any C++17 features, and probably only a few C++14 features (I think make_unique is one, and maybe some of the std::tuple stuff).

throw table_exception("(? ???)? ? ???");

This topic is closed to new replies.

Advertisement