I spent about 4 years of my early career working with Ada in the aerospace industry (specifically, I worked on the GPS satellite program). It was rather career-limiting because I ended up as a young engineer with a lot of experience in an extremely niche language. It took a while, but I was finally able to escape and start working with more modern technology (involved a lot of self-learning on side projects and final…
Ada is just a language. The 99.99% of the experience you've acquired there perfectly transfers to any other domain or language - only uneducated HR gatekeepers won't recognize this.
Introduction to Ada
151–160 of 193 posts
Re: Introduction to Ada
#152Re: Introduction to Ada
#153One thing I liked about Ada is that the authors of the language also wrote why they choose things the way they are, what was rejected, etc... Their is a document about this called "The Ada Rationale" available on the web: http://www.ada-auth.org/standards/rationale12.html I did contribute the HTML version of the Ada 1995 Rationale (first language revision) back in the day: https://www.adaic.org/resources/add_content/…
It actually quite common in ISO processes, there are similar documents for C and C++ language revisions.
(Actually the original rationale is for ANSI C89, which differs from ISO C90 mostly in the way the sections are numbered.)
C89: https://www.lysator.liu.se/c/rat/title.html
C99: http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10...
Re: Introduction to Ada
#154Earlier quoted context omitted.
It actually quite common in ISO processes, there are similar documents for C and C++ language revisions.
Yes, but many ISO documents are not publicly available (they're paywalled instead, even though ISO doesn't pay the authors). The Ada rationale is publicly available, so anyone can see exactly why various decisions are made. That's useful for someone using Ada (obviously), but it's also useful for people designing any other programming language... you can often learn about a craft by learning about why people made var…
Re: Introduction to Ada
#155I got to use Ada for eight months in 1997, on a co-op at Rockwell-Collins in their General Aviation department. I learned and wrote a lot of Ada and I loved it. When I had to go back to school in the fall, I was no longer interested in writing C++ and it kind of bummed me out to have to use it again.
It took me 8 years to get over the initial disgust and learn C++.
Re: Introduction to Ada
#156Re: Introduction to Ada
#157Earlier quoted context omitted.
Rust seems to flourish despite its heavy use of symbols, and I mean... heavy . Plus, code is supposed to be documentation. :)
This is actually one of my few gripes with Rust. I see lots of code that starts to resemble what I call "cryptosyntax" (also a feature of C++). In this regard, Ada explicitly had maintainability as a design requirement, and I wonder how well Rust will fare with its concise, symbol-heavy code in that regard.
Re: Introduction to Ada
#158Earlier quoted context omitted.
People need to stop using "wordy" when they mean "readable."
Readable is a matter of education. As a C++ programmer I've learned what {} means, and so that is more readable than begin/end which happens to not be the block symbol in any language I know well. Considering all the languages I know I've concluded that block symbols are important enough to be worth learning as a separate symbol (Looking at python where it is white space). Of course I can learn begin/end, but it isn'…
Re: Introduction to Ada
#159Earlier quoted context omitted.
I cannot see the source code for the documentation. This happens to me in so many cases. I work with a couple of codebases that have 90% documentation, 10% code. In Ada, code IS the documentation that also can be formally verified. It is wonderful.
I think I've heard "the code is self-documenting" a hundred times in my career and it hasn't been true once.
Re: Introduction to Ada
#160Earlier quoted context omitted.
Any recent popular languages with similar support for types of Ada? Is such type system being costly to implement the reason not many other languages pick up the feature?
Ada is peculiar because the checks for the ranges are done at runtime. This mean you need a small runtime. A lot of languages are inspired by C and C++ and the types are simple in these languages so it could be an explanation. Haskell has `Numeric.Natural` but I don't think you can define an integer constrained to a range. It probably goes beyond what the type system can do (statically). I think it's possible with De…