In this letter, Dijkstra talks about readability and maintainability in a time where those topics were rarely talked about (1968). This letter was one of the main causes why modern programmers don’t have to trouble themselves with goto statements. Older languages like Java and C# still have a (discouraged) goto statement, because they (mindlessly) copied it from C, which (mindlessly) copied it from Assembly, but more modern languages like Swift and Kotlin don’t even have a goto statement anymore.

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    7 months ago

    Mostly because they had to. Writing efficient code and easy-to-read code are often at odds with each other. I like being able to create lots of functions that can be called from a loop without needing to worry too much about function call overhead. I can prioritize readability for some time before I ever need to worry about performance.

      • BatmanAoD@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        7 months ago

        Does the catchphrase “blazing fast” ring any bells? Some people care.

        (Arguably that’s just the pendulum swinging the other way; Ruby, Python, and Java ruled the software world for a while, and I think that’s a large part of why the Go and Rust communities make such a big deal about speed.)

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 months ago

        People have been complaining about this exact thing forever. Even back when “people cared about efficiency”.