logoalt Hacker News

YesThatTom2today at 11:36 AM13 repliesview on HN

Ada was also ignored because the typical compiler cost tens of thousands of dollars. No open source or free compiler existed during the decades where popular languages could be had for free.

I think that is the biggest factor of all.


Replies

twoodfintoday at 11:46 AM

Ada’s failure to escape its niche is overdetermined.

Given the sophistication of the language and the compiler technology of the day, there was no way Ada was going to run well on 1980’s microcomputers. Intel built the i432 “mainframe on a chip” with a bunch of Ada concepts baked into the hardware for performance, and it was still as slow as a dog.

And as we now know, microcomputers later ate the world, carrying along their C and assembly legacy for the better part of two decades, until they got fast enough and compiler technology got good enough that richer languages were plausible.

show 3 replies
acomjeantoday at 12:35 PM

A huge factor. I used ada for years and the fact everyone I worked with did hobby projects in other languages didn’t help it. And most of us liked Ada.

It had other warts the string handling wasn’t great, which was a huge problem. It was slow too in a time where that mattered more (we had c and ada in our code base.). I remember the concurrency not using the OSs so the one place we used it was a pain. HPUX had an amazing quasi real time extensions, so we just ran a bunch of processes.

jghntoday at 1:30 PM

GNAT has existed since at least the mid-90s, and in that time period plenty of companies used non-OSS compilers.

In that era, the largest blocker for Ada was it ws viewed as having a lot of overhead for things that weren't generally seen as useful (safety guarantees). The reputation was it only mattered if you were working on military stuff, etc.

show 1 reply
phicohtoday at 5:53 PM

The article gives another reason "A second answer is aesthetic. Ada's syntax is verbose in a way that programmers with a background in C find unpleasant. if X then Y; end if; instead of if (x) { y; }. procedure Sort (A : in out Array_Type) instead of void sort(int* a)."

I think this should not be underestimated. There is a huge number of small C compilers. People write their own C compiler because they want to have one.

That doesn't happen we Ada. Very few people liked Ada enough that they would write a compiler for a subset of the language. For example, an Ada subset similar to the feature set of Modula-2 should be quite doable with a modest effort.

show 1 reply
shrubbletoday at 12:36 PM

The GNU ADA compiler was first released in 1995: https://en.wikipedia.org/wiki/GNAT

show 1 reply
jordanbtoday at 3:03 PM

Not really, the state of compilers pretty much sucked back then. GCC was the only real free compiler in the 80s and it wasn't really ready for prime time until the late 80s. You were paying (lots) of money for a compiler no matter what language you chose. And if you were targeting a new language the compiler was sure to suck.

Even in the late 90s Jamie Zawinski had a rant against C++. His argument for not using it? The compilers suck! C++ was the main "competitor" of Ada and it was a decade or more behind Ada through most of the time.

The "killer feature" of C++ against Ada (when it came to fighting against compiler maturity) was really that you could pretend to be writing C++ code but really just keep writing C-with-classes.

If Ada had put a modula or pascal compatibility mode in the language and produced a reference compiler that was based on a stable compiler in one of those languages, the history may have been different because people could have just written "PascAda" while waiting for the compilers to catch up.

drob518today at 3:16 PM

Given some of the other issues, I’m not sure it would have mattered, but it certainly didn’t even allow the experiment to be run. I would not have wanted to compile Ada in the 1980s on that hardware. Given all the checking, the compiler must have been horribly slow (imagine compiling Rust on that same 1980s hardware).

show 1 reply
dharmatechtoday at 2:08 PM

The ADA compiler for OpenVMS was over $200,000 in the 1990s.

show 1 reply
giancarlostorotoday at 2:51 PM

I always found it funny when Rust came about, I can't help but feel like, and maybe I'm misremembering when I deep dove Ada the first time, Ada was our first "Rust" like language, maybe Delphi / Pascal is the only other really close one that became mainstream enough before Rust did?

show 1 reply
Tangurena2today at 3:15 PM

And the cpu that was designed to implement ADA also failed miserably: the iAPX 432.

https://en.wikipedia.org/wiki/Intel_iAPX_432

show 1 reply
eager_learnertoday at 12:24 PM

This. Nothing can compete with free.

globalchatadstoday at 12:27 PM

[dead]

rhubarbtreetoday at 12:39 PM

Strange comment. GNAT?

show 1 reply