←back to thread

327 points AareyBaba | 1 comments | | HN request time: 0.33s | source
Show context
bri3d ◴[] No.46185823[source]
https://web.archive.org/web/20111219004314/http://journal.th... (referenced, at least tangentially, in the video) is a piece from the engineering lead which does a great job discussing Why C++. The short summary is "they couldn't find enough people to write Ada, and even if they could, they also couldn't find enough Ada middleware and toolchain."

I actually think Ada would be an easier sell today than it was back then. It seems to me that the software field overall has become more open to a wider variety of languages and concepts, and knowing Ada wouldn't be perceived as widely as career pidgeonholing today. Plus, Ada is having a bit of a resurgence with stuff like NVidia picking SPARK.

replies(5): >>46188588 #>>46188799 #>>46189574 #>>46190668 #>>46196352 #
ecshafer ◴[] No.46188799[source]
I've always strongly disliked this argument of not enough X programmers. If the DoD enforces the requirement for Ada, Universities, job training centers, and companies will follow. People can learn new languages. And the F35 and America's combat readiness would be in a better place today with Ada instead of C++.
replies(7): >>46189342 #>>46189545 #>>46189754 #>>46190651 #>>46191046 #>>46192553 #>>46192991 #
exDM69 ◴[] No.46191046[source]
> If the DoD enforces the requirement for Ada, Universities, job training centers, and companies will follow

DoD did enforce a requirement for Ada but universities and others did not follow.

The JSF C++ guidelines were created for circumventing the DoD Ada mandate (as discussed in the video).

replies(1): >>46193153 #
p_l ◴[] No.46193153[source]
TL;DR Ada programmers were more expensive
replies(1): >>46193686 #
adolph ◴[] No.46193686[source]
Since when was expense a problem for defense spending?

In the video, the narrator also claims that Ada compilers were expensive and thus students were dissuaded from trying it out. However, in researching this comment I founds that the Gnat project has been around since the early 90s. Maybe it wasn't complete enough until much later and maybe potential students of the time weren't using GNU?

  The GNAT project started in 1992 when the United States Air Force awarded New 
  York University (NYU) a contract to build a free compiler for Ada to help 
  with the Ada 9X standardization process. The 3-million-dollar contract 
  required the use of the GNU GPL for all development, and assigned the 
  copyright to the Free Software Foundation.
https://en.wikipedia.org/wiki/GNAT
replies(3): >>46194776 #>>46196002 #>>46197279 #
jll29 ◴[] No.46194776[source]
The DOD could easily have organized Ada hackathons with a lot of prize money to "make Ada cool" if they had chosen to in order to get the language out of the limelight. They could also have funded developing a free, open source toolchain.
replies(3): >>46196401 #>>46196426 #>>46198514 #
jandrese ◴[] No.46196401[source]
Ada would never have been cool.

Ironically I remember one of the complaints was it took a long time for the compilers to stabilize. They were such complex beasts with a small userbase so you had smallish companies trying to develop a tremendously complex compiler for a small crowd of government contractors, a perfect recipe for expensive software.

I think maybe they were just a little ahead of their time on getting a good open source compiler. The Rust project shows that it is possible now, but back in the 80s and 90s with only the very early forms of the Internet I don't think the world was ready.

replies(1): >>46196563 #
skepti3 ◴[] No.46196563[source]
Out of curiosity:

1: If you had to guess, how high is the level of complexity of rustc?

2: How do you think gccrs will fare?

3: Do you like or dislike the Rust specification that originated from Ferrocene?

4: Is it important for a systems language to have more than one full compiler for it?

replies(1): >>46196650 #
1. jandrese ◴[] No.46196650[source]
Given how much memory and CPU time is burned compiling Rust projects I'm guessing it is pretty complex.

I'm not deep enough into the Rust ecosystem to have solid opinions on the rest of that, but I know from the specification alone that it has a lot of work to do every time you execute rustc. I would hope that the strict implementation would reduce the number of edge cases the compiler has to deal with, but the sheer volume of the specification works against efforts to simplify.