Announcement

Collapse
No announcement yet.

C++20 Modules Compiler Code Under Review, Could Still Land For GCC 11

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • C++20 Modules Compiler Code Under Review, Could Still Land For GCC 11

    Phoronix: C++20 Modules Compiler Code Under Review, Could Still Land For GCC 11

    With C++20 one of the major features added is that of modules as a modern alternative to that of conventional C++ header files for packages. The C++20 modules code for the GNU Compiler Collection that has been in the works for several years is now under review and could potentially still land for the GCC 11 release next year...

    http://www.phoronix.com/scan.php?pag...es-Code-Review

  • #2
    this makes me happy

    Comment


    • #3
      Sort of off-topic, but does anyone know of a good place or resource(s) to get started with modern C++? Ideally it'd be comprehensive, maybe not fully C++20 compliant since things like the modules thing is still being implemented in compilers. I'd like to get into it and I thought of asking first in case there are seasoned C++ programmers over here that could point me in the right direction.

      It needn't cover OOP, nor be beginner oriented, but it doesn't matter if it does; I'd just go through the beginner things faster and brash up on OOP so no harm done.

      Comment


      • #4
        I like this resource, finding advices there reasonable https://isocpp.github.io/CppCoreGuid...CoreGuidelines It assumes you already know c++ though in some form

        Comment


        • #5
          Originally posted by KaoDome View Post
          Sort of off-topic, but does anyone know of a good place or resource(s) to get started with modern C++?
          Possibly "modern" C++ shouldn't be an excuse to ignore the standard "older" stuff. In order to be a half-competent developer, you will need to learn all of the previous stuff *and* now the modern stuff. In this case "modern" is not really your friend.

          Scott Meyers's C++ book Effective Modern C++ is pretty decent (https://moodle.ufsc.br/pluginfile.ph...Modern_C__.pdf)
          Otherwise the classic "The C++ Programming Language" and "Programming: Principles and Practice using C++" is also good because Bjarne Stroustrup also covers a GUI library (FLTK) which is fairly rare in C++.

          Comment


          • #6
            This together with conan should make dependencies slightly easier to use. But it will probably take 10 years before most libraries add module support.

            Comment


            • #7
              Thanks kpedersen ! I'm used to C programming, but C++ would be fairly new for me, having only delved into it a tiny bit.

              I'll be sure to check those books you mentioned

              Comment


              • #8
                Originally posted by KaoDome View Post
                Sort of off-topic, but does anyone know of a good place or resource(s) to get started with modern C++? ...
                I think (my opinion !!) the single most important thing is to understand how the C++ algorithms and iterators work together with the containers. Nearly every other new concept is somehow based on that.

                One of the places that helped my transition from C to C++ is the Boost Library. One of the things that C++ was lacking (and still is to some degree) is a comprehensive library with pre-fabricated stuff. (Like the "batteries included" standard library for Python) The Boost library fills that void. Learn to use the Boost Library(ies).

                Lack of knowledge in one part of C++ is not necessarily a bad thing. Every C++ expert out there has his "blind spots". It is not possible "to completely understand C++" as it is so extensively comprehensive. There is perhaps not a single C++ expert out there that understands *everything*.

                Comment


                • #9
                  Originally posted by KaoDome View Post
                  Sort of off-topic, but does anyone know of a good place or resource(s) to get started with modern C++? Ideally it'd be comprehensive, maybe not fully C++20 compliant since things like the modules thing is still being implemented in compilers. I'd like to get into it and I thought of asking first in case there are seasoned C++ programmers over here that could point me in the right direction.

                  It needn't cover OOP, nor be beginner oriented, but it doesn't matter if it does; I'd just go through the beginner things faster and brash up on OOP so no harm done.
                  Bite the bullet, learn template metaprogramming in the context of C++11 (or more recent).

                  https://www.amazon.com/C-Templates-C...s%2C144&sr=8-1

                  https://www.amazon.com/Functional-Pr...s%2C144&sr=8-5

                  http://index-of.es/C++/THE%20BOOST%2...%20Library.pdf

                  Comment


                  • #10
                    Originally posted by KaoDome View Post
                    Sort of off-topic, but does anyone know of a good place or resource(s) to get started with modern C++? Ideally it'd be comprehensive, maybe not fully C++20 compliant since things like the modules thing is still being implemented in compilers. I'd like to get into it and I thought of asking first in case there are seasoned C++ programmers over here that could point me in the right direction.

                    It needn't cover OOP, nor be beginner oriented, but it doesn't matter if it does; I'd just go through the beginner things faster and brash up on OOP so no harm done.
                    I would recommend CS at university. You won't get the full benefit out of C++ without also knowing algorithms, system programming, parallel programming, compiler programming (you sometimes have to know compilers to understand C++ behavior), and many other CS subjects. You can learn it all yourself from many sources, but my experience with that is that formal education at a good school teaches it better, even if what they teach isn't directly C++.

                    Comment

                    Working...
                    X