Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. If you program, you should read this piece.

If you program, you should read this piece.

Scheduled Pinned Locked Moved Uncategorized
29 Posts 22 Posters 3 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • goblin@mastodon.bsd.cafeG goblin@mastodon.bsd.cafe

    @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.

    flux@wandering.shopF This user is from outside of this forum
    flux@wandering.shopF This user is from outside of this forum
    flux@wandering.shop
    wrote last edited by
    #9

    @goblin Ada compilers were unavailable or brutally expensive, and generally locked to the US millitary-industrial complex. It may have been designed well, but at least in my generation we largely balked at military work. @bsdphk

    chris@mastodon.mihalis.netC 1 Reply Last reply
    0
    • whyrl@furry.engineerW whyrl@furry.engineer

      @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.

      6d03@mathstodon.xyz6 This user is from outside of this forum
      6d03@mathstodon.xyz6 This user is from outside of this forum
      6d03@mathstodon.xyz
      wrote last edited by
      #10

      @whyrl @bsdphk

      Maybe some people like being cowboys 🤷

      1 Reply Last reply
      0
      • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

        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]"

        The Quiet Colossus — On Ada, Its Design, and the Language That Modern Software Keeps Rediscovering

        favicon

        (www.iqiipi.com)

        dpk@chaos.socialD This user is from outside of this forum
        dpk@chaos.socialD This user is from outside of this forum
        dpk@chaos.social
        wrote last edited by
        #11

        @bsdphk @krans I want to see this guy and the GNU Algol 68 guy go head to head in an argument

        1 Reply Last reply
        0
        • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

          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]"

          The Quiet Colossus — On Ada, Its Design, and the Language That Modern Software Keeps Rediscovering

          favicon

          (www.iqiipi.com)

          nuthatch@infosec.exchangeN This user is from outside of this forum
          nuthatch@infosec.exchangeN This user is from outside of this forum
          nuthatch@infosec.exchange
          wrote last edited by
          #12

          @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!?

          1 Reply Last reply
          0
          • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

            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]"

            The Quiet Colossus — On Ada, Its Design, and the Language That Modern Software Keeps Rediscovering

            favicon

            (www.iqiipi.com)

            tael@yiff.lifeT This user is from outside of this forum
            tael@yiff.lifeT This user is from outside of this forum
            tael@yiff.life
            wrote last edited by
            #13

            @bsdphk the opposite of typescript in every way

            tael@yiff.lifeT 1 Reply Last reply
            0
            • tael@yiff.lifeT tael@yiff.life

              @bsdphk the opposite of typescript in every way

              tael@yiff.lifeT This user is from outside of this forum
              tael@yiff.lifeT This user is from outside of this forum
              tael@yiff.life
              wrote last edited by
              #14

              @bsdphk on closer examination this was clearly AI-written so I will have to find another avenue to learn about Ada through

              1 Reply Last reply
              0
              • martyfouts@mastodon.onlineM martyfouts@mastodon.online

                @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.

                bsdphk@fosstodon.orgB This user is from outside of this forum
                bsdphk@fosstodon.orgB This user is from outside of this forum
                bsdphk@fosstodon.org
                wrote last edited by
                #15

                @MartyFouts

                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.

                martyfouts@mastodon.onlineM 1 Reply Last reply
                0
                • flux@wandering.shopF flux@wandering.shop

                  @goblin Ada compilers were unavailable or brutally expensive, and generally locked to the US millitary-industrial complex. It may have been designed well, but at least in my generation we largely balked at military work. @bsdphk

                  chris@mastodon.mihalis.netC This user is from outside of this forum
                  chris@mastodon.mihalis.netC This user is from outside of this forum
                  chris@mastodon.mihalis.net
                  wrote last edited by
                  #16

                  @Flux @goblin @bsdphk a GPL Ada compiler became available around 1994

                  flux@wandering.shopF 1 Reply Last reply
                  0
                  • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

                    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]"

                    The Quiet Colossus — On Ada, Its Design, and the Language That Modern Software Keeps Rediscovering

                    favicon

                    (www.iqiipi.com)

                    jackeric@beige.partyJ This user is from outside of this forum
                    jackeric@beige.partyJ This user is from outside of this forum
                    jackeric@beige.party
                    wrote last edited by
                    #17

                    @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?

                    1 Reply Last reply
                    0
                    • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

                      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]"

                      The Quiet Colossus — On Ada, Its Design, and the Language That Modern Software Keeps Rediscovering

                      favicon

                      (www.iqiipi.com)

                      dhmspector@mastodon.socialD This user is from outside of this forum
                      dhmspector@mastodon.socialD This user is from outside of this forum
                      dhmspector@mastodon.social
                      wrote last edited by
                      #18

                      @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.”

                      1 Reply Last reply
                      0
                      • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

                        @MartyFouts

                        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.

                        martyfouts@mastodon.onlineM This user is from outside of this forum
                        martyfouts@mastodon.onlineM This user is from outside of this forum
                        martyfouts@mastodon.online
                        wrote last edited by
                        #19

                        @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.

                        1 Reply Last reply
                        0
                        • deschips@mamot.frD This user is from outside of this forum
                          deschips@mamot.frD This user is from outside of this forum
                          deschips@mamot.fr
                          wrote last edited by
                          #20

                          @pfriedma @bsdphk @whyrl and Ariane 5 proceeded to be one of the most reliable launcher in history. And Ariane 6, still built on Ada, is following the same path.

                          T 1 Reply Last reply
                          0
                          • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

                            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]"

                            The Quiet Colossus — On Ada, Its Design, and the Language That Modern Software Keeps Rediscovering

                            favicon

                            (www.iqiipi.com)

                            swannodette@mas.toS This user is from outside of this forum
                            swannodette@mas.toS This user is from outside of this forum
                            swannodette@mas.to
                            wrote last edited by
                            #21

                            @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

                            1 Reply Last reply
                            0
                            • chris@mastodon.mihalis.netC chris@mastodon.mihalis.net

                              @Flux @goblin @bsdphk a GPL Ada compiler became available around 1994

                              flux@wandering.shopF This user is from outside of this forum
                              flux@wandering.shopF This user is from outside of this forum
                              flux@wandering.shop
                              wrote last edited by
                              #22

                              @chris Yes, absolutely, and I even wrote some toy programs with it. But the US milspec aspect made it easy to put it aside. @goblin @bsdphk

                              1 Reply Last reply
                              0
                              • deschips@mamot.frD deschips@mamot.fr

                                @pfriedma @bsdphk @whyrl and Ariane 5 proceeded to be one of the most reliable launcher in history. And Ariane 6, still built on Ada, is following the same path.

                                T This user is from outside of this forum
                                T This user is from outside of this forum
                                trademark@fosstodon.org
                                wrote last edited by
                                #23

                                @DesChips @pfriedma @bsdphk @whyrl Most launchers have had zero *software* failures though. Guidance of a space-launcher is not actually a hard problem, it can be fully simulated beforehand without much trouble. I believe some rockets, e.g. Japan's Lambda flew without any computer at all, using purely a timer to steer the thing.

                                1 Reply Last reply
                                0
                                • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

                                  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]"

                                  The Quiet Colossus — On Ada, Its Design, and the Language That Modern Software Keeps Rediscovering

                                  favicon

                                  (www.iqiipi.com)

                                  robpike@hachyderm.ioR This user is from outside of this forum
                                  robpike@hachyderm.ioR This user is from outside of this forum
                                  robpike@hachyderm.io
                                  wrote last edited by
                                  #24

                                  @bsdphk There's a lot of, to put it politely, inaccuracy in that piece. Also it's clearly generated with or by AI. But this is the world we're in now, so get used to it. History being rewritten by the machines.

                                  1 Reply Last reply
                                  0
                                  • bsdphk@fosstodon.orgB bsdphk@fosstodon.org

                                    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]"

                                    The Quiet Colossus — On Ada, Its Design, and the Language That Modern Software Keeps Rediscovering

                                    favicon

                                    (www.iqiipi.com)

                                    goss@c.imG This user is from outside of this forum
                                    goss@c.imG This user is from outside of this forum
                                    goss@c.im
                                    wrote last edited by
                                    #25

                                    @bsdphk
                                    When I was in the biz I constantly chafed at the hacker culture of celebrating indiciplined indecipherable code. Even the in the comments here I see the sneering attitude permeating. I have always disliked this intensely.

                                    Thanks for sharing this essay.

                                    1 Reply Last reply
                                    0
                                    • J This user is from outside of this forum
                                      J This user is from outside of this forum
                                      jameswidman@mastodon.social
                                      wrote last edited by
                                      #26

                                      @pfriedma @bsdphk @whyrl
                                      I was thinking it might be nice to use a language with Ada's checking features, but i don't know if i can stomach the C++-like exception semantics.

                                      The problem has always been that it completely destroys everyone's ability to reason about control flow. It's kinda glaring for a language that otherwise emphasizes the importance of provable correctness.

                                      (Contrast with modern languages like Swift, where you're forced to annotate call sites that can possibly throw.)

                                      J 1 Reply Last reply
                                      0
                                      • J jameswidman@mastodon.social

                                        @pfriedma @bsdphk @whyrl
                                        I was thinking it might be nice to use a language with Ada's checking features, but i don't know if i can stomach the C++-like exception semantics.

                                        The problem has always been that it completely destroys everyone's ability to reason about control flow. It's kinda glaring for a language that otherwise emphasizes the importance of provable correctness.

                                        (Contrast with modern languages like Swift, where you're forced to annotate call sites that can possibly throw.)

                                        J This user is from outside of this forum
                                        J This user is from outside of this forum
                                        jameswidman@mastodon.social
                                        wrote last edited by
                                        #27

                                        @pfriedma @bsdphk @whyrl
                                        ...and then on top of that, it's going to unwind the stack, and thereby destroy evidence that would be useful in locating the root cause of a bug, in the event of programming mistakes like null dereferences!?
                                        https://learn.adacore.com/courses/intro-to-ada/chapters/exceptions.html

                                        I really hope there's a way to disable or alter this behavior and make it trap instead, so that the stack is preserved for debugging...?

                                        (C++ unwinds the stack too, but (1) generally not on UB, and (2) we have sanitizers for UB.)

                                        J 1 Reply Last reply
                                        0
                                        • J jameswidman@mastodon.social

                                          @pfriedma @bsdphk @whyrl
                                          ...and then on top of that, it's going to unwind the stack, and thereby destroy evidence that would be useful in locating the root cause of a bug, in the event of programming mistakes like null dereferences!?
                                          https://learn.adacore.com/courses/intro-to-ada/chapters/exceptions.html

                                          I really hope there's a way to disable or alter this behavior and make it trap instead, so that the stack is preserved for debugging...?

                                          (C++ unwinds the stack too, but (1) generally not on UB, and (2) we have sanitizers for UB.)

                                          J This user is from outside of this forum
                                          J This user is from outside of this forum
                                          jameswidman@mastodon.social
                                          wrote last edited by
                                          #28

                                          @pfriedma @bsdphk @whyrl
                                          in modern times, we would probably want to use an effect system (like the effect types & handlers in Koka) in use cases where previous generations used exceptions.

                                          J 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups