Writes large correct programs (2008)
johndcook.com
Writes large correct programs (2008)
1–10 of 114 posts
Re: Writes large correct programs (2008)
#2Other than non-trivial academic samples, the odds of a program needing to change over its lifetime or large, and it's current apparent correctness has little to do with someone else adapting it to the ever changing environment.
The number of times I've heard "it seems to work and we don't dare change it" is far too many
Re: Writes large correct programs (2008)
#3So John is missing the role of software architect here. Science, art, and development - 3 roles. Not all visits to the stratosphere are misadventures.
Re: Writes large correct programs (2008)
#4There was a curriculum correction in the years afterwards I think, but so many students had zero concept of version control, of how to start working on a piece of software (sans an assignment specification or scaffold), or how to learn and apply libraries or frameworks in general. It was unreal.
Re: Writes large correct programs (2008)
#5This reminds me strongly of reaching the final year industry projects in my software engineering degree, and seeing a significant portion of my colleagues unable to develop software in any meaningful way. There was a curriculum correction in the years afterwards I think, but so many students had zero concept of version control, of how to start working on a piece of software (sans an assignment specification or scaffo…
Re: Writes large correct programs (2008)
#6Re: Writes large correct programs (2008)
#7I'd prefer maintainable programs of any size. Other than non-trivial academic samples, the odds of a program needing to change over its lifetime or large, and it's current apparent correctness has little to do with someone else adapting it to the ever changing environment. The number of times I've heard "it seems to work and we don't dare change it" is far too many
What they mean is: "we don't understand it and we don't have good tests, so there is a high probability that it doesn't work and that doing even the most trivial and seemingly harmless modification would cause an issue to surface, so we don't dare to change it else we wouldn't be able to pretend that it works anymore and might have to fix a lot of issues that we would have a hard time to even understand"
Re: Writes large correct programs (2008)
#8Re: Writes large correct programs (2008)
#9I'd prefer maintainable programs of any size. Other than non-trivial academic samples, the odds of a program needing to change over its lifetime or large, and it's current apparent correctness has little to do with someone else adapting it to the ever changing environment. The number of times I've heard "it seems to work and we don't dare change it" is far too many
>"it seems to work and we don't dare change it" What they mean is: "we don't understand it and we don't have good tests, so there is a high probability that it doesn't work and that doing even the most trivial and seemingly harmless modification would cause an issue to surface, so we don't dare to change it else we wouldn't be able to pretend that it works anymore and might have to fix a lot of issues that we would h…
But _hard_? No.
Re: Writes large correct programs (2008)
#10One thing that’s missing: programs are mutable. A good programmer writes programs that are easy to maintain and extend.
But there is a corollary, I think. A sign of good software development is that the program hasn't been extended in "unnatural" ways. That speaks to the developer's discipline and vision to create something that was fundamentally relevant to begin with.