Visual Studio 2013? Your Thoughts

closed account (13bSLyTq)
Hi,

I got VS2013 Ultimate (Full Version), and not to be negative or sound too arrogant but VS2013 is not too good in the sense that:

- VS2013 is same as VS2012 in almost every way

- VS2013 has about 6-15 new C++ features (MAYBE not even that)

The other thing I really got annoyed about is the "sign in" feature, Not to sound paranoid or overprotective but since Edward Snowden leaked NSA details about large corporations giving it's information to NSA. I cannot trust Microsoft to keep my Projects in their Server which is regularly "patroled" by NSA.

Not to mention that, MC are trying to make all their product in the cloud. It really annoys me as we cannot just buy and use but rather subscribe for many of the features which should be in the VS2013.

Anyway VS2013 UI either is not different to VS2012 except from the ICONS and such being coloured. But I suspect this must have taken just about a 5 or 6 days with the size of their employees working on VS2013. To be honest they should've just put VS2013 as a Update rather than a whole new VS product.

TD;LR

VS2013 is basically the same as VS2012 with some small improvements.

What do you think?
I'm fine with MinGW 4.8.2 and VS2010.

Because in the end, we just need a C++11 compiler and the standard C++ libraries.
I wonder what these 6-15 new C++ features are. Are they standard compliance improvements, language extensions, or additions to the WinAPI?

-Albatross
For the things we will be caring about:

Supports the following ISO C++11 language features:
Default template arguments for function templates.
Delegating constructors.
Explicit conversion operators.
Initializer lists and uniform initialization.
Raw string literals.
Variadic templates.
rvalue/lvalue Reference Casts. With rvalue references, C++11 can clearly distinguish between lvalues and rvalues. Previously. the Visual C++ compiler did not provide this in specific casting scenarios. A new compiler option, /Zc:rvalueCast, has been added to make the compiler conformant with the C++ Language Working Paper(see section 5.4, [expr.cast]/1).

C99 functionality added to <math.h>.
Complex math functions in new header, <complex.h>.
Integer type support in new header, <inttypes.h>; includes format string support for "hh".
Support for variable argument scanf forms in <stdio.h>. C99 variants of vscanf, strtoll, vwscanf/wcstoll, isblank/iswblank implemented.
New conversion support for long long and long double in <stdlib.h>.

Support for the C++11 explicit conversion operators, initializer lists, scoped enums, and variadic templates.
All containers now support the C++11 fine-grained element requirements.
Support for these C++14 features:
"Transparent operator functors" less<>, greater<>, plus<>, multiplies<>, and so on.
make_unique<T>(args...) and make_unique<T[]>(n)
cbegin()/cend(), rbegin()/rend(), and crbegin()/crend() non-member functions.
<atomic> received numerous performance enhancements.
<type_traits> received major stabilization and code fixes.

Auto-Vectorizer now recognizes and optimizes more C++ patterns to make your code run faster.
ARM platform and Atom micro-architecture code quality improvements.
__vectorcall calling convention is added. Pass vector type arguments by using the __vectorcall calling convention to use vector registers.
New Linker Options. The /Gw (compiler) and /Gy (assembler) switches enable linker optimizations to produce leaner binaries.

Brace Completion. C++ code now auto-completes the closing characters that correspond to these opening characters:
{ (curly brace)
[ (square bracket)
( (parentheses)
' (single quote)
" (double quote)
Additional C++ Auto-completion Features.
Adds semicolon for class types.
Completes parentheses for raw string literals.
Completes multi-line comments (/* */)


So, they didn't end the C++11 support and they're already into the C++14 features?

Or did they finish C++11 support?
closed account (N36fSL3A)
What about C11?
I don't think they did finish C++11 support.
http://msdn.microsoft.com/en-us/library/hh567368.aspx

The following are either incomplete or unsupported in VS2013.
*ref-qualifiers
*Expression SFINAE
*Attributes
*constexpr
*Alignment
*Inheriting constructors
*Unicode string literals
*Universal character names in literals
*User-defined literals
*Extended sizeof
*Inline namespaces
*Unrestricted unions
*noexcept


...and then some.

EDIT: Removed char16_t/char32_t as although they were listed as unimplemented, apparently they work anyway. Strangeness.

-Albatross
Last edited on
closed account (13bSLyTq)
Maybe, this may be slightly bigger but I would have loved it if they had actually added something we all could use daily. Like a new API.

I would love a P2P API similar to P2P in C#.
closed account (3qX21hU5)
http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx

Seems a bit more then 6-15 changes...

So, they didn't end the C++11 support and they're already into the C++14 features?

Or did they finish C++11 support?


At the bottom of link I posted he kind of answers this.

Q1: Why are you implementing C++14 Standard Library features when you haven't finished the C++11 Core Language yet?



A1: That's a good question with a simple answer. Our compiler team is well aware of the C++11 Core Language features that remain to be implemented. What we've implemented here are C++14 Standard Library features. Compiler devs and library devs are not interchangeable - I couldn't implement major compiler features if my life depended on it (even static_assert would take me months to figure out), and I like to think the reverse is true, although rocket scientists are probably better at pizza delivery than pizza deliverers are at rocket science.



Q2: Fair enough, but you mentioned "C++14 generic lambdas" earlier. Why is your compiler team planning to implement any C++14 Core Language features before finishing all C++11 Core Language features?



A2: As Herb likes to say, "C++14 completes C++11". The compiler team is pursuing full C++14 conformance, and views all C++11 and C++14 features as a unified bucket of work items. They're prioritizing these features according to customer demand (including library demand) and implementation cost, so they can deliver the most valuable features as soon as possible. The priority of a feature isn't affected by when it was voted into the Working Paper. As a result, their post-2013-RTM conformance roadmap places highly valuable C++14 features (e.g. generic lambdas) before less valuable C++11 features (e.g. attributes). Again, please see Herb's announcement video/post for more information.
Last edited on
@Albatross
VS2013 does support char16_t/char32_t
I like to use 2010 visual studio because i learned c++ using it so i'm fluent in the features and am stubborn to change to something not needed (2013 version).
@OrionMaster: Nah, that's basically like rewriting send/recv/connect.
It's in boost (asio), there's raknet for professional UDP networking... WGET for http... what else?
@naraku9333
It's listed as unimplemented on their list that I linked to... but I'll take your word for it.

-Albatross
I rather feel like a traitor to my roots, but since I switched to Clang, I've never looked back. Unfortunately, at the time, it was virtually impossible (at least for me) to integrate into the VS build system. I'll have to see if that's changed since then...I do miss all of the VS IDE features.
Last edited on
@Luke Leber:
https://github.com/ishani/ClangVSx

Also why the username change?
Mostly to follow suit with my Google account now that I'm re-acquainted with technology. I have some spare time to kill again, so I'm back to programming.
The forums have a feature to let you rename existing accounts, I meant to ask why you created an entirely new account. But I am derailing the thread - oh well.
Last edited on
Uh oh...I think I just lost the username "Luke Leber". After re-naming this account, I'm not able to rename my old one, as that username is taken.

And what's worse, I've just deprecated myself. I'm in a real pickle now.
Last edited on
Maybe you can hypenate your old account? "Luke-Leber"? Maybe you can try contacting twicker.
Last edited on
Topic archived. No new replies allowed.