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.

  • Kissaki
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    6 months ago

    Go has goto too. They surely did not “mindlessly copy” it.

    The standard library makes use of it. So they most definitely see a warranted use-case for it.

    OP argument against using it in high level languages may still hold though. Go may have introduced it as a systems language which allows control over alternative implementations.

    • abbadon420@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      6 months ago

      The article does say that there are good cases to use goto, but they are rare and most programmers won’t ever encounter such situations. I believe the jist is that it can do nore harm than good.