Hacker News new | ask | show | jobs
by Solvency 1076 days ago
Why didn't Ada take off and why did Rust? Doesn't Ada offer everything Rust does and decades earlier?
6 comments

At a minimum there'd have to have been a free-as-in-beer cross-platform compiler.

I think Ada had a brief chance to take off around 2000 when gnat was added to the main gcc distribution, but the GNU maintainer was also the head of Ada Core Technologies and had very little interest in making the free version of the compiler useful for general purpose programming.

I wrote a few small things using it, but the "ecosystem" just wasn't there, and there was nobody trying to coordinate a community that might have built it up.

Even calling libc functions that didn't correspond to anything in the Ada standard library was no fun at all.

> but the "ecosystem" just wasn't there

I don't think it ever will be, either. Ada's "ecosystem" is really the tooling. I've seen plenty of Ada, but there's always been zero (or very nearly zero) exchange of code into or out of the company. There's not much opportunity to grow a natural ecosystem like that. The tooling for C and C++ is catching up, facilitating model-based design code generation, which is the direction Ada's niche is heading. Ada didn't entrench itself as a target language early on, missing another chance to surge in popularity.

Good question.

I think the reason is that Ada predates the rise of the Internet and thus it did not have the "Internet-based large bullhorn" that is available now. Also the main community it targeted were serious professional types rather than the "noisy fanbois" we have now :-)

Thus the reason for its "low profile" are mainly Social and Political.

I think questions like this are both ultimately unknowable and assignable to a few realities. Rust is newer and thus was more likely to gain steam, all other things held equal. It was built for a specific reason, in response to a specific desire(a concurrent CSS renderer for Firefox?) so it was focused and useful in a difficult context. It featured many novel or under applied(in mainstream programming languages) features that solved annoying issues. Rust has enjoyed relatively few newcomers to its space since its inception. But on inspection many of these things might not matter at all(except the first one, IMO) and the truth may lie in other communities(as in, C++)
(1) Weren't there issues with making good compilers early on, because the language was complex? Another case of worse-is-better versus C.

(2) I think a lot of people were prejudiced against it coming from "the government", wrongly assuming that it was the product of a committee like COBOL.

(3) The aerospace industry did not greatly influence everyone else to use Ada, and eventually they just said "screw it, we should use C++ to be able to hire people and cut costs with COTS tooling"

It did take off, in high integrity computing, Rust is yet to be allowed a place on that playground.
Because people hate Ada, even on HN. Linus Torvalds himself hate Ada. People dislike its syntax so much they wont even try it.
If you can deal with VHDL, you can deal with Ada.

Every language has its quirks. Some people can't stand Python's significant indentation. Others can't bear Lisp's parentheses. Personally I can deal with them. But any library API (say for Java or Swift) with veryLongIdentifierNamesThatAreAlmostSentences drives me insane. I imagine IDEs are enablers for that regrettable trend, but at least they save human typing.

Oberon's capitalized KEYWORDS were probably a mistake.