Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. The Insider News
  4. C++ Modules in VS 2015 Update 1

C++ Modules in VS 2015 Update 1

Scheduled Pinned Locked Moved The Insider News
c++visual-studiocomcollaborationannouncement
11 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    Kent Sharkey
    wrote on last edited by
    #1

    Visual C++ blog[^]:

    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.

    M R 2 Replies Last reply
    0
    • K Kent Sharkey

      Visual C++ blog[^]:

      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.

      M Offline
      M Offline
      Member 10088171
      wrote on last edited by
      #2

      Visual Basic is back

      R 1 Reply Last reply
      0
      • M Member 10088171

        Visual Basic is back

        R Offline
        R Offline
        Rob Grainger
        wrote on last edited by
        #3

        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.

        T 1 Reply Last reply
        0
        • K Kent Sharkey

          Visual C++ blog[^]:

          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.

          R Offline
          R Offline
          Rob Grainger
          wrote on last edited by
          #4

          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.

          D 1 Reply Last reply
          0
          • R Rob Grainger

            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.

            D Offline
            D Offline
            Dan Neely
            wrote on last edited by
            #5

            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

            K R 2 Replies Last reply
            0
            • D Dan Neely

              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

              K Offline
              K Offline
              Kent Sharkey
              wrote on last edited by
              #6

              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

              R 1 Reply Last reply
              0
              • R Rob Grainger

                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.

                T Offline
                T Offline
                TheGreatAndPowerfulOz
                wrote on last edited by
                #7

                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

                1 Reply Last reply
                0
                • D Dan Neely

                  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

                  R Offline
                  R Offline
                  Rob Grainger
                  wrote on last edited by
                  #8

                  Try. Doug McGregor's overview, linked here. Modules[^]

                  "If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.

                  D 1 Reply Last reply
                  0
                  • K Kent Sharkey

                    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

                    R Offline
                    R Offline
                    Rob Grainger
                    wrote on last edited by
                    #9

                    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.

                    1 Reply Last reply
                    0
                    • R Rob Grainger

                      Try. Doug McGregor's overview, linked here. Modules[^]

                      "If you don't fail at least 90 percent of the time, you're not aiming high enough." Alan Kay.

                      D Offline
                      D Offline
                      Dan Neely
                      wrote on last edited by
                      #10

                      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

                      R 1 Reply Last reply
                      0
                      • D Dan Neely

                        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

                        R Offline
                        R Offline
                        Rob Grainger
                        wrote on last edited by
                        #11

                        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.

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups