If you program, you should read this piece.
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk I spent the summer of my graduation year in 1995 teaching myself more Ada (we had done a little in my comp sci course) and working on the GHC Haskell compiler- I was sure both of those languages would be important. But I’ve spent the majority of my career writing OS level code in C, debugging at the asm level and scripting in shell and Python. It is sad that Ada hasn’t been more popular outside of the traditional safety critical systems domain.
-
System shared this topic
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk funny that the first thought I have when reading about Ada is the Ariane 5 crash.
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk Loved using Ada in the 80s, but all the C bros convinced everyone that Ada was too slow. Real world testing only showed about a 2-3% advantage to C. Until you forced the C coders to put in all the range checks, etc. that Ada provided, then it was a different story.
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk Dijkstra is rolling in his grave and I can’t stop giggling.
I have to admit that I never thought I would see anyone attempt to salvage Ada’s reputation after the way it imploded at the DOD.
Thanks for sharing.
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk I'm far too young to have experienced it myself in person, but to my understanding all these cool features introduced a complexity which was hard to manage in the 80s. Unfortunately I'm drawing a blank on my source, sorry about that, it's a couple of years since I've learned a bit of Ada (because these features *are* cool and ought to be available *today*).
Also capitalism happens, I guess the availability of a DoD language was less than stellar, and if it was available, it was probably really expensive? This is a side-effect of all these certification-heavy domains I know, stuff is *really* expensive.
Also, the wider industry tends to value development speed over anything, lest the adoption of all those dynamic languages. Just another way of externalizing costs to the public. -
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk Thanks! Great read. I've added Steelman and Rationale documents to my "have a look at"-list...
-
@bsdphk I'm far too young to have experienced it myself in person, but to my understanding all these cool features introduced a complexity which was hard to manage in the 80s. Unfortunately I'm drawing a blank on my source, sorry about that, it's a couple of years since I've learned a bit of Ada (because these features *are* cool and ought to be available *today*).
Also capitalism happens, I guess the availability of a DoD language was less than stellar, and if it was available, it was probably really expensive? This is a side-effect of all these certification-heavy domains I know, stuff is *really* expensive.
Also, the wider industry tends to value development speed over anything, lest the adoption of all those dynamic languages. Just another way of externalizing costs to the public. -
@bsdphk Well that's thoroughly depressing. All this time, we could have had nice things, but because modern language designers ignored Ada, our industry is still full of cowboys stuck in the wild west.
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk terrific essay. It would be nice if posts included dates. This looks from the footnotes to be 2024. Would also like to see more discussion of Swift. And who is this person anyway!?
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk the opposite of typescript in every way
-
@bsdphk the opposite of typescript in every way
@bsdphk on closer examination this was clearly AI-written so I will have to find another avenue to learn about Ada through
-
@bsdphk Dijkstra is rolling in his grave and I can’t stop giggling.
I have to admit that I never thought I would see anyone attempt to salvage Ada’s reputation after the way it imploded at the DOD.
Thanks for sharing.
I think that's unfair ?
Everybody charged DoD 10x "because of Ada" - simply because they could get away with it, provided Ada didn't become mainstream.
The perverse incentives of military procurement is not in any way a relevant factor, when Judging a programming language, as programing language.
The point about everybody else converging on where they could have started 45 years ago is IMO, totally fair.
-
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk what railway signalling systems had software failures? they're tested to hell and back. do they mean commercial failure, where a system could not be implemented sufficiently quickly?
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk lots of memories — I was a systems programmer at NYU’s Courant Institute in the early 80s which produced the first working, validated Ada compiler and worked in support of that project (Ed Schonberg & Robert Dewar were the project leads/PIs).
It’s true that what’s old is new again…so many fundamental things keep getting reinvented. The old saw holds: “in other disciplines we stand on the shoulders of those who came before us, in CS we stand on the toes of those who came before us.”
-
I think that's unfair ?
Everybody charged DoD 10x "because of Ada" - simply because they could get away with it, provided Ada didn't become mainstream.
The perverse incentives of military procurement is not in any way a relevant factor, when Judging a programming language, as programing language.
The point about everybody else converging on where they could have started 45 years ago is IMO, totally fair.
@bsdphk Ada was entirely the result of DOD procurement, intended to solve a DOD problem. Dijkstra, rightly, criticized the design process and the final language and his writing on the subject should be required reading.
Ada suffered from the same problem PL/1 did and was almost immediately fragmented into the infamous “profile” subsets that resulted in it failing to meet DOD requirements.
It was not a good language to start from, revisionist views notwithstanding.
-
-
If you program, you should read this piece.
"Ada's successes — the aircraft that have not crashed, the railway signalling systems that have not failed, the missile guidance software that has not misguided — are invisible precisely because they are successes. The languages that failed visibly, in buffer overflows and null pointer exceptions and data races and security vulnerabilities, generated the discourse. [Ada did not]"
@bsdphk this reads like pure AI slop BTW. Too much hand waving and inaccuracies. Looking at the top level just confirms the sloppiness https://www.iqiipi.com
-
