Need help?
<- Back

Comments (101)

  • YesThatTom2
    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.
  • donatj
    I like the article overall but the continually repeated 'Language X didn't have that until <YEAR>' is very grating after the first ten or so.I also wish there were concrete code examples. Show me what you are talking about rather than just telling me how great it is. Put some side by side comparisons!
  • coldcode
    The US Air Force intended to use ADA, but had to use JOVIAL instead because ADA took so long to be developed. Most people have never heard of JOVIAL but it still exists in the USAF as a legacy.I worked with JOVIAL as part of my first project as a programmer in 1981, even though we didn't even have a full JOVIAL compiler there yet (it existed elsewhere). I remember all the talk about the future being ADA but it was only an incomplete specification at the time.
  • sardon
    I remember learning ADA at uni in the 90s and not loving it because of the syntax and it being slow to work with. I also remember the Arianne 5 rocket crash in the late 90s being blamed for a software bug, and the software being written in ADA. Now i understand that it was not a pure software issue, but still, all that safety did not prevent the major disaster that it was
  • alyls
    The Twitter account is from April 2026:https://xcancel.com/Iqiipi_EssaysThere is no named public author. A truly amazing productivity for such a short time period and generously the author does not take any credit.
  • shminge
    I really don't want this to be AI writing because I enjoyed it, but as other commenters have pointed out, the rate of publishing (according to the linked Twitter account) is very rapid. I'm worried that I can't tell.
  • askUq
    From the main page of this website:"These are not positions. They are proposals — structures through which a subject might be examined rather than verdicts about it."The entire site is AI written.
  • tomekw
    Ada is underrated. I am spending lots of my time writing tons of open source software in Ada, mostly for myself, though.
  • tromp
    > Every language that has added sum types in the past twenty years has added, with its own syntax, what Ada's designers put in the original standard.While true, that doesn't mean that other language's sum types originated in Ada. As [1] states,> NPL and Hope are notable for being the first languages with call-by-pattern evaluation and algebraic data typesand a modern language like Haskell has origins in Hope (from 1980) through Miranda.[1] https://en.wikipedia.org/wiki/Hope_(programming_language)
  • mkovach
    I've written a few small projects in Ada, and it's a better language than it gets credit for.Yes, it's verbose. I like verbosity; it forces clarity. Once you adjust, the code becomes easier to read, not harder. You spend less time guessing intent and more time verifying it. Or verify it, ignore what you verified, then go back and remind yourself you're an idiot when you realize the code your ignored was right. That might just be me.In small, purpose-built applications, it's been pleasant to code with. The type system is strict but doesn't yell at you a lot. The language encourages you to be explicit about what the program is actually doing, especially when you're working close to the hardware, which is a nice feature.It has quirks, like anything else. But most of them feel like the cost of writing better, safer code.Ada doesn't try to be clever. It tries to be clear, even if it is as clear as mud.
  • theodorethomas
    Reading the Steelman document is like reading a shopping list of everything that's gone into modern Fortran.
  • adrian_b
    Ada is a language that had a lot of useful features much earlier than any of the languages that are popular today, and some of those features are still missing from the languages easily available today.In the beginning Ada has been criticized mainly for 2 reasons, it was claimed that it is too complex and it was criticized for being too verbose.Today, the criticism about complexity seems naive, because many later languages have become much more complex than Ada, in many cases because they have started as simpler languages to which extra features have been added later, and because the need for such features had not been anticipated during the initial language design, adding them later was difficult, increasing the complexity of the updated language.The criticism about verbosity is correct, but it could easily be solved by preserving the abstract Ada syntax and just replacing many tokens with less verbose symbols. This can easily be done with a source preprocessor, but this is avoided in most places, because then the source programs have a non-standard appearance.It would have been good if the Ada standard had been updated to specify a standardized abbreviated syntax besides the classic syntax. This would not have been unusual, because several old languages have specified abbreviated and non-abbreviated syntactic alternatives, including languages like IBM PL/I or ALGOL 68. Even the language C had a more verbose syntactic alternative (with trigraphs), which has almost never been used, but nonetheless all C compilers had to support both the standard syntax and its trigraph alternative.However, the real defect of Ada has been neither complexity nor verbosity, but expensive compilers and software tools, which have ensured its replacement by the free C/C++.The so-called complexity of Ada has always been mitigated by the fact that besides its reference specification document, Ada always had a design rationale document accompanying the language specification. The rationale explained the reasons for the choices made when designing the language.Such a rationale document would have been extremely useful for many other programming languages, which frequently include some obscure features whose purpose is not obvious, or which look like mistakes, even if sometimes there are good reasons for their existence.When Ada was introduced, it was marketed as a language similar to Pascal. The reason is that at that time Pascal had become the language most frequently used for teaching programming in universities.Fortunately the resemblances between Ada and Pascal are only superficial. In reality the Ada syntax and semantics are much more similar to earlier languages like ALGOL 68 and Xerox Mesa, which were languages far superior to Pascal.The parent article mentions that Ada includes in the language specification the handling of concurrent tasks, instead of delegating such things to a system library (task = term used by IBM since 1964 for what now is normally called "thread", a term first used in 1966 in some Multics documents and popularized much later by the Mach operating system).However, I do not believe that this is a valuable feature of Ada. You can indeed build any concurrent applications around the Ada mechanism of task "rendez-vous", but I think that this concept is a little too high-level.It incorporates 2 lower level actions, and for the highest efficiency in implementations sometimes it may be necessary to have access to the lowest level actions. This means that sometimes using a system library for implementing the communication between concurrent threads may provide higher performance than the built-in Ada concurrency primitives.
  • mcc1ane
    Every time Ada is mentioned here, I start a quest - how to try it for free on Windows.And every time I fail.
  • timschmidt
    It'd be a neat trick to have a single unified language which could bridge the gap between software and hardware description languages.
  • 09553221465
    Kansnhsnnskan
  • 09553221465
    Lonsay wawix
  • 09553221465
    Hack acount
  • ramon156
    off-topic, this article has almost the same theme as dawnfox/dayfox which I love. It fits nicely with my terminal on the left. Cool stuff
  • turtleyacht
    The next language ought to ensure memory-safe conditions across the network.
  • bananaflag
    I am wondering what the Ada equivalent of affine types is. What is the feature that solves the problem that affine types solve in Rust.
  • mhd
    No mention of Algol? Or Mesa?
  • spinningslate
    Wonderful article and a good fit with HN’s motto of “move slowly and preserve things” as opposed to Silicon Valley’s jingoistic “move fast and break things”.It highlights the often perplexing human tendency to reinvent rather than reuse. Why do we, as a species, ignore hard-won experience and instead restart? In doing so, often making mistakes that could have been avoided if we’d taken the time or had the curiosity/humility to learn from others. This seems particularly prevalent in software: “standing on the feet of giants” is a default rather than exception.That aside, the article was thoroughly educational and enjoyable. I came away with much-deepened insight and admiration for those involved in researching, designing and building the language. Resolved to find and read the referenced “steelman” and language design rationale papers.
  • DeathArrow
    It looks like OpenClaw started blogging. :D
  • phplovesong
    I would never work on projects that ADA is used for.1. Would never work on "missile tech" or other "kills people" tech.2. Would never work for (civ) aircraft tech, as i would probably burn out for the stress of messing something up and having a airplane crash.That said, im sure its also used for stuff that does not kill people, or does not have a high stress level.
  • jazzypants
    > JavaScript's module system — introduced in 2015, thirty-two years after Ada's — provides import and export but no mechanism for a type to have a specification whose representation is hidden from importers.What?#1 JavaScript doesn't have formal types. What does it even mean by "representation"?#2 You can just define a variable and not export it. You can't import a variable that isn't exported.There are several little LLM hallucinations like this throughout the article. It's distracting and annoying.Edit: Look, I know that complaining about downvotes is annoying, but I find this genuinely perplexing. Could someone just explain what the hell that paragraph was supposed to mean instead of downvoting me?
  • 09553221465
    Hahahahaha