Announcement

Collapse
No announcement yet.

AdaCore Has Been Developing A GNAT/Ada Front-End To LLVM

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

  • AdaCore Has Been Developing A GNAT/Ada Front-End To LLVM

    Phoronix: AdaCore Has Been Developing A GNAT/Ada Front-End To LLVM

    While the GNAT Ada front-end for GCC is in quite good shape, AdaCore has been experimenting with bringing their GNAT front-end to LLVM for allowing Ada code compilation with the LLVM compiler stack...

    http://www.phoronix.com/scan.php?pag...LLVM-Front-End

  • #2
    I would love to see tighter integration of Ada in GCC, so its easier to use on new platforms :^)

    Comment


    • #3
      I had a lot of hope for ADA when it first came out. Now it is mostly history, haven’t even
      thought about for at least a decade.

      Comment


      • #4
        Originally posted by wizard69 View Post
        I had a lot of hope for ADA when it first came out. Now it is mostly history, haven’t even
        thought about for at least a decade.
        I think it has suffered from the same issue as other languages; it is too awkward to interface with platform libraries (always written in C). You need to write a binding layer yourself (a fairly long task) or use one written by someone else which is always a maintenance burden and out of date.

        Comment


        • #5
          Is it only used by military these days? That may explain the problem!

          Comment


          • #6
            Originally posted by kpedersen View Post

            I think it has suffered from the same issue as other languages; it is too awkward to interface with platform libraries (always written in C). You need to write a binding layer yourself (a fairly long task) or use one written by someone else which is always a maintenance burden and out of date.
            Not quite right, what you've described are thick Ada bindings, which are Ada-like, but you can also generate light bindings from C headers with very little to no work

            Comment


            • #7
              I wonder how Ada compares in size & complexity with C++17. Since the 90's, I'd heard it was bloated, but maybe it's even small by comparison with modern C++.

              Comment


              • #8
                New Ada also going to release let's see how it goes

                Comment


                • #9
                  Why would anybody want to use Ada? I mean except for maintenance of very old code.
                  The syntax is too verbose and obsolete, something from Knuth epoch. It's impossible to make a nice code in Ada. An extremely dull coding experience, filling a tax form is more entertaining. I tried it just to see if there there something in there that is up to its promises (military use, blah blah). There is nothing.
                  Spark is an interesting concept though with formal verification. But still making something in it requires exponential time compared to conventional languages.

                  And no modern tooling.

                  Comment


                  • #10
                    Originally posted by Redfoxmoon View Post

                    Not quite right, what you've described are thick Ada bindings, which are Ada-like, but you can also generate light bindings from C headers with very little to no work
                    I'm not convinced that thin bindings are ever that easy to generate. For example the simple readdir function (https://man.openbsd.org/readdir.3)
                    Returns a struct dirent *. This structure has to be decomposed into native Ada types; the binding generator rarely can make i.e getters and setters. Imagine that life was a little bit more awkward involving function pointers or stack based objects (such as how the SDL_Event gets populated by SDL_Poll and friends). No binding is as easy as including it from C, C++ (or to a small extent, Golang).

                    If I was to start a simple 3D game. I would look at Ada, then look at OpenGL, look back at Ada and then switch to C++. Unfortunately.

                    Obviously the MoD or communications companies don't care about OpenGL bindings, but for the majority of users, this is an issue.
                    Last edited by kpedersen; 10-06-2019, 04:40 PM.

                    Comment

                    Working...
                    X