Ada Outperforms Assembly: A Case Study
www2.seas.gwu.edu
www2.seas.gwu.edu
However, that person probably have extensive experience in that narrow set of problems. Most programmers don't.
There was once a case where someone dropped from asm to machine code to shave a little more performance off. Sometimes asm is too high-level.
That aside a 2x performance improvement speaks to something algorithmic rather than the canonical "sufficiently intelligent compiler" - does anyone have the before/after source for this "study" (Obviously it does matter that algorithmic improvements may be easier in a higher level language, but that is likely truer for any high level language vs assembly)
Was Ada replaced by something else? What do they use?
So as a percentage of the market in the aerospace, defense, and safety space it has shrunk. In absolute numbers, I'm not sure if there are more or fewer systems developed and currently being maintained in it than 20 or 25 years ago. But C and C++ have definitely grown in that space.
My impression of the language is that it is a lot close to C than other languages like Java or Rust.
I have to say at least when you're coding in Ada there is no ideological fights over functional programming or silly design patterns from OOP. Refreshing.
Do I even want an answer?
https://www.adacore.com/industries
Ada is used for situations where the code has to work or people die.
That makes it niche compared to other programming languages where it is okay to "panic" or "fail fast".
Different tools for different needs.
C/C++/Java/JavaScript/Python/etc. are used in situations where code doesn't have to be reliable, secure, or correct.
If customers actually cared about any of those things then our favorite tech companies wouldn't be worth zillions of dollars.
As a software enginneer professor of mine would joke, general computing quality is akin to buying a pair of shoes that randomly blow up if tied incorrectly, and people have been educated to put up with it.
With any other industry, if one buys something that doesn't properly work, usually the first reaction is to return to the shop and ask for the money back.
Thankfully digital stores, warranty contracts in project delivery, and ongoing cybersecurity laws, are already some steps into the right direction, yet there is still too much to be done.
EULA: By using this product, you (user) agree that:
1. It might kill your dog, and it will be your fault.
2. Any other harm or defects will be your fault as well.
3. You abandon all rights to sue us, ever, for anything.
4. Any dispute will be handled by our arbitration department.
5. We are free to spy on you and share all information with
our marketing partners or anyone else who asks.In my superficial understanding of computers, Linux is the paragon of reliability, so naively I would say that shows that C is good enough. However, in also aware that some instructions don't have such a great view of Linux, but I don't know much.
Multics: written in PL/I, approximately zero buffer overflow errors
see also: https://www.cvedetails.com/product/47/Linux-Linux-Kernel.htm...
"The net result is that a PL/I programmer would have to work very hard to program a buffer overflow error, while a C programmer has to work very hard to avoid programming a buffer overflow error."
From my personal experience - I use many languages and I mostly base my choice on perceived ROI for particular project / situation. I could not give a flying fuck if "anyone still uses those in 2023" .