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

  • #11
    Originally posted by dremon_nl View Post
    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.
    Wow. I cannot find any statement that's true among all your post.

    The worse thing with Ada is all those ignorant people who never used this language, or maybe 30 years ago, but feel obliged to criticize it with nonsense for free every time it is mentioned.

    Comment


    • #12
      We learned ADA in 2012 at my university in my programing languages class in my CS degree. We were told it was used by a lot of defense contractors and that being in a military town might need to work with it some day. I still prefer C or C++ to it but it seemed like a decent enough language. I look at Rust and in my opinion Rust is just reinventing what ADA invented 20 years prior. ADA was just ahead of its time.

      Comment


      • #13
        Originally posted by coder View Post
        I wonder how Ada compares in size & complexity with C++17.
        ada isn't competitor to c++17. c# and java are and they have about same size & complexity of core language plus order(s) of magnitude larger libraries

        Comment


        • #14
          Originally posted by dremon_nl View Post
          The syntax is too verbose and obsolete, something from Knuth epoch.
          he is still alive

          Comment


          • #15
            I guess Ada is still in demand by some corporations

            https://blogs.nvidia.com/blog/2019/0...omous-driving/

            https://www.adacore.com/press/europe...re-development

            Comment


            • #16
              Originally posted by timofonic View Post
              Is it only used by military these days? That may explain the problem!
              No, it is also used in the safety-critical domains (avionics, space, railway, energy, ...).
              See AdaCore's customer list to get an idea of usage domains: https://www.adacore.com/company/our-customers

              Comment


              • #17
                Originally posted by totoz View Post

                Wow. I cannot find any statement that's true among all your post.

                The worse thing with Ada is all those ignorant people who never used this language, or maybe 30 years ago, but feel obliged to criticize it with nonsense for free every time it is mentioned.
                What is exactly is not true about it? It's an obsolete niche language from 70's that nobody uses outside of very narrow industry and which is being actively replaced by C/C++ even in it's primary domain - avionics.
                A too verbose Pascal-like syntax, strictly procedural-oriented with all the innovation and top of the line technologies that the software industry had at the end of 70's. And it's not only about syntax but everything - tooling, community, libraries, etc. And no, adding a few bells and whistles periodically doesn't make it competitive. The world has moved on and there are much better platforms now. Saying it's relevant is the same as saying that Cobol is relevant. Yes it is - in maintaining legacy code that was written 40 years ago.

                Comment


                • #18
                  Originally posted by pal666 View Post
                  ada isn't competitor to c++17. c# and java are and they have about same size & complexity of core language plus order(s) of magnitude larger libraries
                  Not to mention the complex (often unportable) VMs that C# and Java require (written in C / C++ anyway). C# and Java are behemoths that basically require commercial companies to maintain.

                  Comment


                  • #19
                    Originally posted by dremon_nl View Post
                    What is exactly is not true about it?
                    I said it: everything is wrong in your post.

                    Let's take those statements one by one.

                    Originally posted by dremon_nl View Post
                    Why would anybody want to use Ada? I mean except for maintenance of very old code.
                    The main target is companies/organizations which have to write safety-critical software that require proofs. But the language doesn't require that and thus, can be used by anyone who wants to write software.

                    Originally posted by dremon_nl View Post
                    The syntax is too verbose and obsolete, something from Knuth epoch.
                    The verbosity has been chosen for making the language human readable (this is important in safety-critical software, to make things easier to audit and to maintain). I've seen colleagues able to understand Ada programs quite easily, even if they were not Ada developers. Put a non-C++ developer in front of C++ code: it will look just elvish for them.

                    But anyway, saying that a syntax is obsolete doesn't make sense at all, except if there's some old language rules like column limits. There is no definition of "modern" syntax that all languages should converge to. And personally, I prefer a clear syntax than a cryptic grammar with symbols everywhere.

                    Unreadable syntax for me as a human:


                    Originally posted by dremon_nl View Post
                    It's impossible to make a nice code in Ada.
                    Oh, come on. That's totally free nonsense.
                    A language with strong typing and strictness, designed to be human readable, sharing a lot features with other languages such as C++ or Java and with same paradigms (imperative and object oriented language), and you couldn't make clean code? This statement is probably originating from a bad developer.

                    Originally posted by dremon_nl View Post
                    An extremely dull coding experience, filling a tax form is more entertaining.
                    Maybe you're not born for being a developer. Maybe you would better be a bureaucrat.
                    Coming to Ada from a less strict language is dull at first, but it's not dull once you become rigorous yourself (generally, it comes after some experience with it). However, coming to C/C++ from Ada is a dull experience, on the long time. You have to work with a language that don't provide mechanisms for checking your inputs at compile time like Ada typing, and you always wonder if the caller won't put shit in your arguments (because it's just an "int" or "float" instead of an "hour" or a "longitude", etc.) and how your method will have to deal with that.

                    Originally posted by dremon_nl View Post
                    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.
                    What the hell do you mean? What were your looking for, a launch_missile() pre-built function?

                    Originally posted by dremon_nl View Post
                    Spark is an interesting concept though with formal verification. But still making something in it requires exponential time compared to conventional languages.
                    Are you saying that formal verification with a "conventional language" (like C++ ?) is easier than with a language designed for that with a subset of features restricted to what is really provable? LOL!

                    Originally posted by dremon_nl View Post
                    And no modern tooling.
                    Define your modern tooling. Currently, AdaCore provides:
                    - an IDE (actively developed) with coloration, code navigation, smart completion, refactoring and formatting features, integration with other tools like debugger, code analysis and code coverage, various VCS, etc. (GNAT Programming Studio).
                    - Static Analysis toolsuite (CodePeer).
                    - A framework for Unit Tests (AUnit).
                    - Code coverage (gcov)
                    - Debugger (gdb)
                    - A multi-language builder (gprbuild), which probably the best builder I ever found. The projects are described in a standardized syntax (gpr files) that can be used by all Ada tools to process your project tree. The syntax is very clear and a project can be described in few lines. Mixing languages in the same project is very easy.
                    - etc.

                    So in what can you say there's no modern tooling?

                    Let's continue with your second post's affirmations:

                    Originally posted by dremon_nl View Post
                    It's an obsolete niche language from 70's that nobody uses outside of very narrow industry and which is being actively replaced by C/C++ even in it's primary domain - avionics.
                    Being a niche language doesn't make it obsolete, and safety-critical software is not going to disappear. Ada had advanced features (threading features built in the language, type definitions, package dependencies, ...) very early (in 2019 you still have to guard your includes in C/C++, and to put them in proper order to make them compile...), and the language is actively improved (Ada83, Ada95, Ada2005, Ada2012, Ada202x coming). It has today globally the same features than what you call "conventional languages" (I say globally because each language has its own specific features).

                    Originally posted by dremon_nl View Post
                    A too verbose Pascal-like syntax, strictly procedural-oriented with all the innovation and top of the line technologies that the software industry had at the end of 70's.
                    Ok, so you live under a rock and don't know what you're talking about. The language is not strictly procedural-oriented as you can do Object-Oriented programming with it like in C++ or Java. And that, since 1995. But anyway, welcome to the future.

                    Originally posted by dremon_nl View Post
                    And it's not only about syntax but everything - tooling, community, libraries, etc. And no, adding a few bells and whistles periodically doesn't make it competitive. The world has moved on and there are much better platforms now.
                    Same blabla, see above.

                    Originally posted by dremon_nl View Post
                    Saying it's relevant is the same as saying that Cobol is relevant. Yes it is - in maintaining legacy code that was written 40 years ago.
                    No, there's new code being written in Ada, using modern features of the language. It's not just old code.

                    Comment


                    • #20
                      This is an interesting thread but I’m actually surprised at the negativity with respect to ADA verbose nature and syntax. Personally I like languages that are readable years latter and even if I never used the language before. That is one of the reasons I adopted Python for many of my pet projects. Being easy to remember or refresh what you did years ago is a big thing. C++ can be good but it also can end up looking like APL written by a wizard (not a good wizard).

                      Why anyone would prefer a language that requires you to parse complex lines of code in your head is beyond me. If a person needs to read a line of code more than once to understand it that is for the most part a fail. While I never got into ADA the language never seemed to suffer from these complexity issues. In other words people are knocking ADA here for one of the more important features of the language. That is nice clear verbose syntax.

                      Comment

                      Working...
                      X