Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Visual C++ 2015 Brings Modern C++ to the Windows API (msdn.microsoft.com)
74 points by cek on Jan 3, 2015 | hide | past | favorite | 25 comments


Its nice to see that C++ has evolved to the point where COM code can be represented with nice easy-to-follow vanilla C++ without making you want to throw up!! (and theres no stupid ^ (hat) symbol in sight)

It looks like Kenny Kerr has a site specifically for this here: http://moderncpp.com/ and a video explaining things here: https://www.youtube.com/watch?v=Nvh3MePAzKs


> and theres no stupid ^ (hat) symbol in sight

Easily avoidable with CComPtr.

The major complaint of many Windows C++ developers is that WRL could have been made more developer friendly instead of spending resources on C++/CX.

Maybe Windows 10 will make it so, and C++/CX will join ranks with Managed C++ (.NET 1.x) and C++/CLI (does anyone use it?).


We use C++/CLI, because it's the easiest way to use .NET components together with legacy MFC code.


Will 2015 be the year Microsoft fully supports C++11?


Close enough for most people, but no. Based on their latest update[0], at the minimum it'll be missing attribute expression SFINAE, an unfucked preprocessor, and unfucked (C++98) template name lookup. If you're feeling charitable the latter two could be called bugs rather than missing features (and bugs that will break a bunch of existing code when they're fixed).

[0] https://view.officeapps.live.com/op/view.aspx?src=http%3a%2f...


Will 2015 be the year other commercial C++ vendors (Intel, Borland, Green Hills, CodePlay HP, IBM, Oracle,...) catch up Microsoft?


No, that was probably 2014.

Intel ships a compiler based on Clang: http://llvm.org/devmtg/2014-04/PDFs/Posters/ClangIntel.pdf

This means they get clang's ridiculously conforming implementation with icc's performance.


Unless Intel's documentation is out of date, they still haven't full C++11 support.

https://software.intel.com/en-us/articles/c0x-features-suppo...


Those docs refer to Intel Composer XE 2013. The PDF I linked to is with regards to Intel Composer XE 2015.


Have you bothered to read the "Version 15.0" column at all?


For a minute there I was worried the Microsoft Foundation Classes (MFC) were making a come back.


I remember using the obscure comet library to abstract COM in C++ ( https://github.com/alamaison/comet ) because the COM support in C++ required more knowledge.


glad to see MS are still involved with languages they don't own, but i would have been much happier if they supported C99..


They also finally began revising the C compiler with VS2013 to include partial support for that.


Only for what is required by the C++ standard, plus some key open source projects.


I for one am glad they are killing C on Windows.


I remember a white paper outlining MS's initial attempts (c. 2000?) to add additional syntax to C++ in order to save developers from much of the quagmire that was COM programming in C++, before abandoning the whole thing in favour of .NET. So nice to see that the language can now suppport that effort natively.


It was called Ext-VOS.

http://blogs.msdn.com/b/dsyme/archive/2012/07/05/more-c-net-...

WinRT is basically Ext-VOS reborn with .NET metadata.


Does anyone know the upgrading price? I am trying to compare against Clion from JetBrain.


2015 Community Edition (which is basically VS Pro) will be free for non-enterprise use.


Awesome! Thank you for the info. Did not know about the Community Edition when I bought my VS 2012.


The Community Edition wasn't available when you bought your VS2012, nor when I bought my VS2013+MSDN subscription. It's something new from about a month ago.


Am I right in thinking the wonderful features VC++ 2015 introduces that render most of C++/CX irrelevant were in fact supported by GCC and CLang several years before C++/CX was even released?


2.9 was the first version of Clang with C++11 stuff (outside of the features which everyone happened to support as extensions to C++03), released several months before C++/CX in April 2011. It's easy to forget these days with how impressive their progress has been, but it wasn't that long ago that Clang was the neat project that people hoped would turn into a usable compiler. The C++14 bits used weren't even proposed yet when C++/CX was released, so C++/CX may have been needed even if VC++ was fully caught up with the standards.


C++/CX came out in 2011. The C++14 constexpr stuff didn't make it into Clang and gcc until last year.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: