Why Writing Correct Software Is Hard

(pron.github.io)

38 points | by AriFordsham 1 hour ago

3 comments

  • turbobutton 4 minutes ago
    I believe there's a hard distinction between abstract, mathematical correctness in software and functioning in the real world. Any software that's processing inputs and provides complex workflows to humans has to necessarily deal with the endless vagaries of reality.

    That's not to say there isn't value in formal correctness, but the important part is identifying when it's useful and when its more trouble than its worth...

  • kodoman 53 minutes ago
    I was always interested in formal verification but have only written toy proofs and derived programs.

    It's nice to see this older discussion of the topic outside of 'AI does lean' and the assumptions that formally verification is easy or will be easy for AI and you can just switch you brain off.

    Build programs that can be verified in the first place is difficult design problem that requires real thought and deep insight of the problem.

  • samiv 11 minutes ago
    Maybe it's just me but the terminology used in "halting problem" didn't age well.

    A lot of modern programs never terminate and thus to me "halting" means no longer able to compute, i.e it's hung/deadlocked.

    • xnorswap 3 minutes ago
      A lot of the language of computer science doesn't translate well to software development.

      Computer Science historically being seen as a gateway to software development has done a large disservice to both fields.