Announcement

Collapse
No announcement yet.

KWin Now Requires C++14; Perhaps More Of KDE Will Make Use Of Newer C++?

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

  • KWin Now Requires C++14; Perhaps More Of KDE Will Make Use Of Newer C++?

    Phoronix: KWin Now Requires C++14; Perhaps More Of KDE Will Make Use Of Newer C++?

    KDE's KWin window manager previously made optional use of C++14 when a supported compiler was now available but is now explicitly requiring a C++14 compiler. With this being a core component for the KDE Plasma desktop, hopefully we'll soon be seeing more of KDE make use of more modern C++ features?..

    http://www.phoronix.com/scan.php?pag...14-Requirement

  • #2
    The problem with C++ is that it's a complete and utter mess, and every new version just seems to add to the mess with more "exceptional" rules.
    None on the standard committee knows what the standard says. Heck, Stroustrup himself has no clue. You can find presentations of him online where he evades non-trivial questions about it.

    I don't see why anyone would use C++ anymore today.

    Comment


    • #3
      One popular "modern" distribution without proper C++14 compiler is RHEL/CentOS. Latest version still ships gcc 4.8. I guess they don't care about that though (KWin version shipped is frozen together with gcc version so it won't be affected).

      @xnor: c++ (as a systems languge) is much like democracy: it's the worst language ever, except for all the others.

      Comment


      • #4
        Because when you dump $100,000 into a project you want it done in a laungage where if you need new human resources it'll be easier to find over XYZ H4X0R Language 2017

        Comment


        • #5
          Originally posted by arteast View Post
          @xnor: c++ (as a systems languge) is much like democracy: it's the worst language ever, except for all the others.
          Every language comes with its own set of warts. C++ is your answer when you put more emphasis on popularity. It's also stupid to think that all possible projects should use the same language. C++ is used both for very low level things and for application programming. Those are totally different domains. The only reason why people think that stuff like KDE (and its applets) and kernels should be implemented in the same 'systems' language is that they're accustomed to that with C/C++. In driver/OS programming, developers could really make better use of macros. C++ with its templates and preprocessor (+ external preprocessors) is a terribly arcane system for doing that job. On high level, the * and & operators definitely don't need to be available for every lvalue expr. They're a constant source of bugs. There are dozens of other problems like that. The syntax is terrible. C++ is also reaching for functional programming now, but totally fails to express complex function signatures in an elegant way.
          Last edited by caligula; 07-17-2017, 06:24 PM.

          Comment


          • #6
            popular languages get bitched about, not really news. Recommending the use of Macros over templates or classes is really funny though, Macros break systematic analysis in the most horrible way possible and are a constant issue in modifying codebases.
            This and the lack of modules (with macros being a big roadblock) are my biggest concern with C++.
            I could bitch about other languages, but I really don`t care enough about them to waste time. Most of em will be gone in a couple years anyway =)

            Comment


            • #7
              Originally posted by ElectricPrism View Post
              Because when you dump $100,000 into a project you want it done in a laungage where if you need new human resources it'll be easier to find over XYZ H4X0R Language 2017
              so, a 6 month project with a project manager and a programmer and *maybe* some part time QA? A small project like this seems like the perfect target for rust/golang :P

              Comment


              • #8
                Originally posted by xnor View Post
                The problem with C++ is that it's a complete and utter mess, and every new version just seems to add to the mess with more "exceptional" rules.
                None on the standard committee knows what the standard says. Heck, Stroustrup himself has no clue. You can find presentations of him online where he evades non-trivial questions about it.

                I don't see why anyone would use C++ anymore today.
                You are not wrong, but c++ is a pretty good language. It is true that one has to be very careful and selective of features to use and it is easy to get carried away and end up with a mess that only original author understands for a one week after it is written. But if we do not get carried away and use good bits while avoiding bad bits then its really ok.

                Comment


                • #9
                  Originally posted by bitman View Post

                  You are not wrong, but c++ is a pretty good language. It is true that one has to be very careful and selective of features to use and it is easy to get carried away and end up with a mess that only original author understands for a one week after it is written. But if we do not get carried away and use good bits while avoiding bad bits then its really ok.
                  To add on to that, my understanding is that unique_ptr and shared_ptr make the memory management story much better than it was earlier. You still don't have default immutable variables with mutability optional like you do in Scala, Clojure, and (yes) Rust.

                  Comment


                  • #10
                    I am very glad that C++14 is getting more established in KDE. I am currently spending a fair amount of time learning Rust and really think there are quite a few things they get right over C++. Rust is also a relatively complex language and struggling with ownership, borrows and mutability is a common occurence for a newbie to the language. Does anyone know if any KDE Plasma applications makes use of Rust? 

                    Comment

                    Working...
                    X