Announcement

Collapse
No announcement yet.

GCC Looks To Turn Off Java, Replace With Go Or ADA

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

  • GCC Looks To Turn Off Java, Replace With Go Or ADA

    Phoronix: GCC Looks To Turn Off Java, Replace With Go Or ADA

    GCC developers from multiple companies are beginning to reach agreement that it's time for Java to be turned off by default in GCC. The Java compiler support in GCC is in the form of GCJ, but it doesn't see much active development these days with more of the Java work happening in OpenJDK. Developers are looking to disable Java from the default GCC build process but to potentially replace it with the Go or ADA languages...

    http://www.phoronix.com/vr.php?view=MTUwOTA

  • #2
    Does anyone actually use GCJ? I imagine Go sees much more usage.

    Comment


    • #3
      Thatís good news; Go is a pretty good language and having it enabled by default would be useful. Iíve only been using the official Go compiler so far, but gccgo is required to use shared libraries, and it has better optimizations too (thatís what I read, at leastÖ).

      On the other hand Iíve never seen anything written in ADA, but I guess some people are using it.

      Comment


      • #4
        Originally posted by stqn View Post
        Thatís good news; Go is a pretty good language and having it enabled by default would be useful. Iíve only been using the official Go compiler so far, but gccgo is required to use shared libraries, and it has better optimizations too (thatís what I read, at leastÖ).

        On the other hand Iíve never seen anything written in ADA, but I guess some people are using it.
        Because Ada is mainstream in places where Java was also used: in safety critical software. Ada site writes it:
        "Ada is seeing significant usage worldwide in high-integrity / safety-critical / high-security domains including commercial and military aircraft avionics, air traffic control, railroad systems, and medical devices."

        I've been working into one of these fields and I can say that Ada is more used "under the rock" than C++ in some places.

        In comparison Go are more mainstream (and Google is more about marketing at the end) from the point of usability and "safety critical" is not the concern of most programmers to look into highly validated on compile time runtimes. .Net has some libraries (and Java too) as an afterthought (like Code.Contracts), but none match Ada in terms of making sure that your data constraints are validated at every step.

        Comment


        • #5
          Why substitute when you can subtract? Just drop Java and be done with it.

          Comment


          • #6
            Originally posted by c117152 View Post
            Why substitute when you can subtract? Just drop Java and be done with it.
            You didn't read the article, or did you?

            It's about "stressing the codebase", because languages like java use less used codepaths and so on.

            Comment


            • #7
              I hope they'll consider Rust as well. Comparing the two, I'd prefer Rust over Go.

              Comment


              • #8
                Originally posted by shmerl View Post
                I hope they'll consider Rust as well. Comparing the two, I'd prefer Rust over Go.
                Rust is officially implemented in LLVM. As far as I know there exists no Rust front-end to GCC, at least certainly not mainline...
                Michael Larabel
                http://www.michaellarabel.com/

                Comment


                • #9
                  Yes, but neither was Go supported there as well. So, why not Rust then. It's implemented in LLVM now, but nothing stops other compilers to be created for it.

                  Comment


                  • #10
                    Originally posted by shmerl View Post
                    Yes, but neither was Go supported there as well. So, why not Rust then. It's implemented in LLVM now, but nothing stops other compilers to be created for it.
                    GCC has had Go for a long time now; just not enabled by default up to now.
                    Michael Larabel
                    http://www.michaellarabel.com/

                    Comment


                    • #11
                      Ah, I see. I red it that GCC plans to add support for Go, not to just enable it.

                      Comment


                      • #12
                        Originally posted by peppercats View Post
                        Does anyone actually use GCJ?
                        That's my thought too. There's a bunch of talk about it being important prior to Java being open-sourced, but as a Java developer, I don't see it - we've never seriously considered it as an alternative to the at-the-time proprietary releases from Sun. If anything, it was more than a hindrance - with it being installed by distros, it tended to get in the way, causing $PATH confusion with the versions we actually wanted to use...

                        Comment


                        • #13
                          If GCJ had actually supported the whole thing, it would've been useful: if for nothing else, to get proper binaries for open-source Java applications.

                          The huge first-start lag of Java remains to this day.

                          Comment


                          • #14
                            Originally posted by curaga View Post
                            If GCJ had actually supported the whole thing, it would've been useful: if for nothing else, to get proper binaries for open-source Java applications.

                            The huge first-start lag of Java remains to this day.
                            Which applications you mean? Can you point the one that is OSS and runs better than OpenJDK? And where the startup time is so much improved that much, so will make no sense to go to OpenJDK?

                            GCJ has an outdated profile (I'm almost sure it doesn't support 1.6, and certainly not Java 1.7, and the world goes soon into Java 1.8 with InvokeDynamic used in the language) , an outdated runtime (which has a very bad GC) so is really not a good option for the applications you say that are so good (by not using OpenJDK). I tried to compile more than two classes projects and I couldn't do it with GCJ. I didn't submit a bug because Java was a side task for me. But I am sure that even for Java developers was no interest. Even Google which has developers in GCC team and also has people interested in Java (as of Android) but GCJ is not interesting for anyone.
                            The huge first-start lag of Java remains to this day.
                            May you count this "huge", some real figures would be really nice? When I start Java applications they don't start slower than Visual Studio (which is written mostly in C++) or KDE applications in my Gnome environment.

                            Comment


                            • #15
                              Can you point the one that is OSS and runs better than OpenJDK?
                              They don't, that was my point. None of them even compile using GCJ.

                              There are many FOSS Java apps that I would use if I could have native binaries. Jitsi comes to mind first.

                              May you count this "huge", some real figures would be really nice? When I start Java applications they don't start slower than Visual Studio (which is written mostly in C++) or KDE applications in my Gnome environment.
                              Sure. It takes five seconds on the machine I'm typing on to start Tilitin from a cold start. It's a light-weight accounting program.
                              A larger delay is visible using FOP (7-8s), which is a XML-FO typesetter program. Those two are the only Java programs I have. Both behave better from warm caches, but that's irrelevant, as the complaint is about cold starts.

                              VS is a terrible comparison, since the thing takes a minute to start, far longer than any Java app
                              If KDE apps take as long to cold start as Java, KDE is doing something wrong.

                              Comment

                              Working...
                              X