9 comments

[ 2.8 ms ] story [ 24.5 ms ] thread
For those only having a quick look, the charts do not have the y axis start at zero, the differences are much smaller than it looks.
The data in question cannot be compressed to zero, or close to zero, by far.
I know the history of why Ada failed, but it always seemed like such a neat language that shouldn't have failed.

It seemed like it should have been the standard for a lot of desktop applications for the 90's and 2000's.

As used in zillions of aircraft, defense, and aerospace systems, it succeeded wildly. It's not Javascript because not every language needs to serve all stakeholders. Tools in the toolbox, not all-or-nothing religious factions that only "matter" if they ride a hype popularity train. There are many critical technologies all around that are little known.
Well that was disappointing. I was hoping to see a discussion about writing a zip encoder in Ada. How the language was used, values of the language for this kind of work. How it’s easier or harder to do. Maybe a bunch of Ada source code.

Simply as one who does not use Ada I had hoped to be a bit more informed about it.

Thanks for the feedback. Multiple posts are planned on that topic. For parts 1 and 2 (so far the only ones existing) I preferred explaining the context and the remarkable simplicity of the BZip2 format. In part #4, I will try to show why the customisable types in Ada fit so well compression software. Be patient: writing articles about writing software takes much more time than writing the software itself! In the meantime, there is a short preview of that in recent presentations - notably FOSDEM 2025: https://fosdem.org/2025/schedule/event/fosdem-2025-5148-adve... , last slide.
Why did Mozilla reinvent the wheel with Rust when we had Ada/SPARK?
I think Ada is a great language and it is completely possible that Ada will experience a resurgence in coming years.. especially as LLM's are used more and more to generate software. ADA/Spark can provide very robust guide rails for correctness (so can Rust) of 'AI' generated code.