a thoughtful web.
Good ideas and conversation. No ads, no tracking.   Login or Take a Tour!
comment
user-inactivated  ·  3866 days ago  ·  link  ·    ·  parent  ·  post: Programming Sucks

Analogies aren't necessarily shit, you just need to keep in mind how deep (or shallow) they are. "Software engineering" is a very shallow analogy. You can use it to give laymen an idea what it is you do, but you don't want to believe it too much yourself.

The predicate transformer stuff Dijkstra advocated was beautiful. Pick up a copy of David Gries's The Science of Programming if you can find it. Formal methods aren't worthwhile for programs that aren't really high risk though. Even in mathematics you only get that formal for important and hard theorems. Dijkstra was great, but he was still a product of his time, and Dijkstra's time was still a little too in love with formalism because of all the exciting stuff happening in mathematical logic in the first half of the century. By all means prove your space shuttle control system and pacemaker correct, but trivial CRUD forms are fine if they're legible and have some tests.