Announcement

Collapse
No announcement yet.

Android NDK r16: Developers Should Start Using LLVM's libc++ With GCC On The Way Out

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

  • #21
    Originally posted by sdack View Post
    There are a few, but I'm not sure if these are all real problems or only artificial ones.

    There is the complexity of gcc and the fact that it's written in C. Some dislike this and feel more at home with a leaner compiler and with more code in C++. Some associate "new" with "better" and "starting from scratch" as "good" or hate having to work with older generations of developers. Some also feel they're having no choice even when the one available is a long-standing open source compiler. I don't believe there are real technical problems behind it, but these are problems nevertheless.

    There is currently a trend to reinvent the entire tool chain and not just gcc. So does the GNU linker now get competition from gold and the llvm linker lld. People also dislike autoconf and make, but prefer tools such as cmake, meson, ninja, and others. Some use them in combination, others as a replacement, but there is a growing trend that tries to change the way we build C/C++ software on Linux.

    We will have to see what finds followers, what gets copied and what remains standing, and what gets abandoned. There are many opinions floating around, most of them seem to be personal preferences based on what people started out with.
    There's only a single reason and it has nothing to do with your list. Companies (even supposedly open-source friendly like Google) are afraid of GPL as it doesn't allow them to keep code secret. This was the reason Sony chose FreeBSD and Clang for PS4 and is the reason many companies prefer LLVM as the foundation for their custom products.

    Comment


    • #22
      First of all there is the licence. Some people prefer completely free licences (like MIT, BSD etc) over ones that put more restrictions on your work (like GPL). What is more free is surely something people can debate intensely for a long time, but I always feel GPL is less free than MIT.

      And on the point of project no longer being able to compile with clang. Sorry, but I have always felt that using/relying on language extensions, especially GNU extensions, is a big error in itself. It is so great that we finally have a second good and popular open source compiler, so people are pointed to bugs in their code (also cases that e.g. GCC erroneously accept as valid while in fact the standard says that code is wrong).
      So yes, it is a pain for big and old projects, but it should yield much better code that is more standards compliant, when you are forced to make it compile on Clang.

      Comment


      • #23
        Originally posted by uytvbn View Post
        There's only a single reason and it has nothing to do with your list. Companies (even supposedly open-source friendly like Google) are afraid of GPL as it doesn't allow them to keep code secret. This was the reason Sony chose FreeBSD and Clang for PS4 and is the reason many companies prefer LLVM as the foundation for their custom products.
        No. That's nonsense. I know from other developers about their grief with gcc, which is why I wrote here. gcc exists for 30 years now and if it was a problem with the license of the GNU compiler then it would never have gotten as old as it is now. Rather would the llvm project have started much earlier. The compiler's license simply doesn't transfer onto the code you write and the executables you produce. Most of the license complaints are FUD and the few remaining complaints are sadly only attempts to undermine the freedom while also trying to hitch a free ride. The big companies have no problems funding their own compiler development if they wanted to. They just don't want to, but enjoy the free ride they get with other licenses. Don't listen to the big companies when they complain about open source licenses. They are supposed to and expected to complain.

        And some people even go as far as to believe true freedom should include the right to no freedom, too, or else it wouldn't be truly free. It's however nonsense and it only leads to the loss of freedom. You cannot have freedom without protection, just like you cannot have peace without a military.

        I know that for you these may seem like real problems, but I know they are not. Without gcc, and this includes its license, would we not have Linux today. So this just cannot suddenly be a problem. *lol*
        Last edited by sdack; 09-07-2017, 06:53 PM.

        Comment


        • #24
          Originally posted by jhenke View Post
          What is more free is surely something people can debate intensely for a long time, but I always feel GPL is less free than MIT.
          It depends entirely on your perspective.

          You're likely a developer, and for your point of view GPL puts restriction on you (you must always make the modification available together with any modified binary that you distribute). You want to make an app but the requirement to make the LGPLed libs you use available might scare you.

          I'm more an end-user / independent dev / power user. For me GPLv3 brings more freedom : no matter what some company tries to pull as a loophole, GPLv3 tries to guarantee me that I'll get what I (or someone else on the internet) need to be able to tinker a device I own.
          I don't want to end up with a smartphone that I can't poke its android about, because the manufacturer completely modified system libraries, I a way that I can't see (because they were 3-clause BSD licensed).

          Originally posted by sdack View Post
          And some people even go as far as to believe true freedom should include the right to no freedom, too, or else it wouldn't be truly free. It's however nonsense and it only leads to the loss of freedom. You cannot have freedom without protection, just like you cannot have peace without a military.
          My opinion exactly.

          My freedom as an end-users relies on the capability of license to prevent a developers from taking my freedom away at their leisure.

          My freedom (to tinker) is in direct conflict with a developper's freedom (to take access away).

          That's why I'm a bit weary of LLVM and direction this GCC vs. LLVM competition is taking.
          Not because of the quality of LLVM it self, but for the potential of abusing my freedom that LLVM's license opens.

          Comment


          • #25
            Originally posted by nadro View Post
            gnustl is in really poor state eg. problems with locale or missing trivial C++11 features like 'std::to_string'
            I don't know about the locale issues, I'm doing development for embedded devices that don't care about any locale. But I can tell you for sure that even gcc 4.7 that I have to use has std::to_string. Maybe you are not building with -std=c++11? gcc 4.9 still defaulted to C++03 (as did clang of similar age).

            Comment


            • #26
              Originally posted by L_A_G View Post

              No I didn't... I can see you think very highly of yourself with the way you expect everyone to read your post before posting a comment, but you can't assume that. Most people will just read the article and then post their comment rather than go trough pages of pages of comments before doing that.
              Really? There was a single page of comments at the time you posted, it looks like you are the one that thinks very highly of yourself. And because of jerks like you that don't bother to read what was already posted we end up with pages and pages of useless comments.

              Comment


              • #27
                Originally posted by L_A_G View Post
                I can see you think very highly of yourself with the way you expect everyone to read your post before posting a comment, but you can't assume that.
                I was frustrated by seeing all the unnecessary speculation and debate over speculation about the decision. Moreover, nobody seemed to have even bothered to see if they'd issued any kind of statement or explanation of the decision. It was not hard to find.

                Originally posted by L_A_G View Post
                Most people will just read the article and then post their comment rather than go trough pages of pages of comments before doing that.
                Above, I'm referring to people responding to other posts, so they're clearly looking at comments. Yours sounded like a general response in the discussion, even though you didn't specifically quote anyone. Since I infer from your tone that this was not the case, I apologize for picking on you. I hope it didn't upset you too much.

                Comment


                • #28
                  Originally posted by trivialfis View Post
                  What's the problem with GCC that pushes so many people to clang LLVM??
                  Probably like with FreeBSD it will have to do mainly with license, and after that all the reasons posted above. GPLv3 may be a blessing for Linux, but is incompatible with many other open source licenses and projects.

                  Comment

                  Working...
                  X