Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Its singular goal is to be an awesome language for writing next-generation browser engines.

Well, per the FAQ: (https://github.com/mozilla/rust/wiki/Doc-project-FAQ)

  What is this project's goal, in one sentence?

  To design and implement a safe, concurrent, practical, static systems language.


As it turns out, Web Browsers and AAA video games in addition to Kernels are things which generally require a "systems language"


Then they should use Ada. If it's good enough for high integrity applications in space, transportation, or banking, then it's certainly good enough for browsers. ;)


You know, there are some things that --to me-- absolutely identify a newcomer to this programming/computer thing.

One is the belief that it would be to good to write everything in assembly (from OSs to browsers to games) so that it would be faster. See they heard that assembly is faster and lower-level, so "the more the merrier, right"?

Another (that you don't get much nowadays, but there was a time in the early 90's that was very common) was this fascination with Ada. Mostly because of all the marketing and BS articles at the time. The reasoning here was "well, if they use that for missiles and F16s, it must be the best, right?"


Ada is good because of useful typing (such as the ability to say "apples and oranges are both represented as signed 32 bit integers, the allowable range for apples is 0..5, and you can't mix them"), strong control over data representation, standardized extensions for on-the-metal programming and hard real time, built in synchronous message passing concurrency, and just generally being an awesome language. It's also good because of SPARK Ada, which is an ultra-safe Ada subset plus annotations and supports extensive static checking.

None of this require buying into marketing hype.

It's bad because the language is large and some parts feel out of date, the memory management is more complicated than it ought to be, and compilers are thin on the ground and often expensive. Targeting C at a new machine is much easier than Ada, and this is probably the main reason why it lost.


My personal guesses why Ada lost: In (Western) academia was a massive dislike of Ada because of its DoD roots and NATO applications, so they didn't use it for teaching. And hackers disliked it because it was a committee-designed language and it's pretty restrictive (even paternalistic) and directed toward mediocre programmers (a good decision for systems that run over decades and have big, changing teams assigned to it).

What was meant half-joking (that they should use Ada for the browser) becomes better the more I think about it. When I look at Rust's design goals, I find that Ada 2012 fulfills them (at least superficially). Additionally: if users have to learn Rust as a new language, then they can use Ada anyway (which has a good track record, while there's no experience with Rust's possible quirks). And I guess if they ask AdaCore to include certain features as add-ons to their GNAT compiler, they'd do it or assist (because for fun and for the publicity that Firefox uses Ada).


> In (Western) academia was a massive dislike of Ada because of its DoD roots and NATO applications, so they didn't use it for teaching.

DARPA funds lots of computer science research, so I doubt academic dislike of DOD is a big factor.


From what I know in Europe, the military background was a relevant issue.


In Europe maybe. In the US, hardly. We're talking early nineties, not the sixties. In the IT academia there were hardly any leftists that would oppose a language on the basis of it being used by the DoD.


I don't know why people think Ada is restrictive, it really isn't at all, at least, not since the Ada 95 revision (which added pointer-to-stack and pointer-to-function and OOP). It isn't even verbose, it's just communicative.


I think it comes from the following: Ada was designed to be robust against the average programmer. They prefer to "hack" around and have their program just compiling. Compared to, say, scripting languages Ada ist restrictive. I feel they dislike Haskell for the same reasons.

edit: most complains seem to come from strong typing and static type checking.


I think if there was a good, free version of an Ada compiler that had a permissive open-source license, then people would be using it.


There is one from the market leader, it's called GNAT and it's part of the GCC: http://libre.adacore.com/libre/


"apples and oranges are both represented as signed 32 bit integers, the allowable range for apples is 0..5, and you can't mix them"

While I can't say that I completely understand the underlying concepts, I believe that this is the sort of thing that Rust's typestate mechanism is intended to achieve (the way I seem to understand it, it's sort of like design-by-contract, except invariants may be checked at dozens of places per line rather than just at function boundaries). You should look into it if Ada's safety guarantees excite you.


They want a language that's safe, concurrent, blabla, and good for system programming? Then they should take a look at Ada 2012. But I guess they just want to build something themselves.

They could even make use of Ada's real time capabilities. It was a pleasure when I ran QNX (2005) and everything responded to my actions on spot, even their browser (Voyager). Today I run FF and after a while and with several tabs open it takes (many) seconds until this beast shows some reaction.

BTW I don't use Ada but mostly Haskell since 2001.


Today's web isn't the 2005 web. Go to a geocities archive with both browsers and the results will be much closer. Faculty pages also work, they're almost always free of dynamic bloat.


Wasn't good enough for the Ariane V launch.


Nice trolling. Ada wasn't the problem, a decision to disable a warning for efficiency reasons was: https://en.wikipedia.org/wiki/Ariane_5_Flight_501




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: