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.
Announcement
Collapse
No announcement yet.
AdaCore Has Been Developing A GNAT/Ada Front-End To LLVM
Collapse
X
-
Originally posted by dremon_nl View PostWhat is exactly is not true about it?
Let's take those statements one by one.
Originally posted by dremon_nl View PostWhy would anybody want to use Ada? I mean except for maintenance of very old code.
Originally posted by dremon_nl View PostThe syntax is too verbose and obsolete, something from Knuth epoch.
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 PostIt's impossible to make a nice code in Ada.
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 PostAn extremely dull coding experience, filling a tax form is more entertaining.
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 PostI tried it just to see if there there something in there that is up to its promises (military use, blah blah). There is nothing.
Originally posted by dremon_nl View PostSpark is an interesting concept though with formal verification. But still making something in it requires exponential time compared to conventional languages.
Originally posted by dremon_nl View PostAnd no modern tooling.
- 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 PostIt'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.
Originally posted by dremon_nl View PostA 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.
Originally posted by dremon_nl View PostAnd 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.
Originally posted by dremon_nl View PostSaying 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.
- Likes 2
Leave a comment:
-
Originally posted by pal666 View Postada 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
- Likes 3
Leave a comment:
-
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.
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.
- Likes 1
Leave a comment:
-
Originally posted by timofonic View PostIs it only used by military these days? That may explain the problem!
See AdaCore's customer list to get an idea of usage domains: https://www.adacore.com/company/our-customers
Leave a comment:
-
I guess Ada is still in demand by some corporations
NVIDIA is working with AdaCore to implement the Ada and SPARK programming languages to reduce the potential for error in software development.
Leave a comment:
-
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.
- Likes 3
Leave a comment:
-
Originally posted by dremon_nl View PostWhy 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.
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.
- Likes 2
Leave a comment:
Leave a comment: