C++ Modules in VS 2015 Update 1
-
The VC++ team is excited to preview a new feature in VS 2015 Update 1: The first experimental implementation of A Module System for C++, proposed for C++17.
"Modules allow you to express the symbolic dependency your component is taking on providers of functionalities it needs, and the boundary of that dependency, directly in code." Oh, well that makes perfect sense then.
-
The VC++ team is excited to preview a new feature in VS 2015 Update 1: The first experimental implementation of A Module System for C++, proposed for C++17.
"Modules allow you to express the symbolic dependency your component is taking on providers of functionalities it needs, and the boundary of that dependency, directly in code." Oh, well that makes perfect sense then.
Visual Basic is back
-
Visual Basic is back
C++ modules are a whole bucket-load more flexible than the VB counterpart, I'm glad to say. They have a whole bunch of issues of their own - such as the ability to hold code intended to be expanded inline in the call-site. The big plus is that, when standardised, we'll finally get to see reasonable compilation times for large C++ projects. Whoop!
"If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.
-
The VC++ team is excited to preview a new feature in VS 2015 Update 1: The first experimental implementation of A Module System for C++, proposed for C++17.
"Modules allow you to express the symbolic dependency your component is taking on providers of functionalities it needs, and the boundary of that dependency, directly in code." Oh, well that makes perfect sense then.
That is a spectacularly bad explanation. C++ modules will be a technical feat. Unlike other languages, C++ has to handle inline expansion at call-site, a bucket-load of backward-compatibility issues (largely caused by the C preprocessor). The bottom-line is that when implemented fully, we should see compile-times reduce by an order of magnitude or more.
"If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.
-
That is a spectacularly bad explanation. C++ modules will be a technical feat. Unlike other languages, C++ has to handle inline expansion at call-site, a bucket-load of backward-compatibility issues (largely caused by the C preprocessor). The bottom-line is that when implemented fully, we should see compile-times reduce by an order of magnitude or more.
"If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.
Do you know where I could find a good explanation then? Also is the order of magnitude speedup a theoretical estimate; or from actual speedups seen from porting major existing code bases? After reading MSDNs fail, I was left going "WTF does this do that `#include WTE.h` doesn't?
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt
-
Do you know where I could find a good explanation then? Also is the order of magnitude speedup a theoretical estimate; or from actual speedups seen from porting major existing code bases? After reading MSDNs fail, I was left going "WTF does this do that `#include WTE.h` doesn't?
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt
Here's another take on it: Getting Started with Modules in C++[^]. I think I'm still not getting it, but pre-compiled object files you can link in later?
TTFN - Kent
-
C++ modules are a whole bucket-load more flexible than the VB counterpart, I'm glad to say. They have a whole bunch of issues of their own - such as the ability to hold code intended to be expanded inline in the call-site. The big plus is that, when standardised, we'll finally get to see reasonable compilation times for large C++ projects. Whoop!
"If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.
faster compilation is, for me, not the most important aspect of modules. Isolation, encapsulation and componentization that will enable more effective reuse and maintainability are more important, IMHO.
Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
-
Do you know where I could find a good explanation then? Also is the order of magnitude speedup a theoretical estimate; or from actual speedups seen from porting major existing code bases? After reading MSDNs fail, I was left going "WTF does this do that `#include WTE.h` doesn't?
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt
-
Here's another take on it: Getting Started with Modules in C++[^]. I think I'm still not getting it, but pre-compiled object files you can link in later?
TTFN - Kent
They basically combine the role of headers and object files, and eliminate the need to parse millions of lines of code to compile a small program due to standard headers. (or they will once the library is updated). See the link I posted in reply to Dan below.
"If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.
-
Thanks.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt
-
Thanks.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt
Personally, I think Modules and Concepts provide the best chance of making C++ almost bearable to develop in again. It is finally becoming a 21st century language, without sacrificing its expressiveness and performance.
"If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.