We Really Don't Know Jack About Maintenance 260
davecb writes "The ACM has been kind enough to print Paul Stachour's and my 'jack' article about Software Maintenance. Paul first pointed out back in 1984 that we and our managers were being foolish — when we were still running Unix V7 — and if anything it's been getting worse. Turns out maintenance has been a 'solved problem in computer science' since at least then, and we're just beginning to rediscover it."
Re:Grrr (Score:4, Informative)
How do you design software that is able to be maintained? Many of the techniques for software maintenance are designed by these institutions, so saying "Software Maintenance" is not computer science is a bit far fetched. Writing maintainable software isn't only in the Initech domain.
And really if you are excluding software maintenance from the field of computer science, you pretty much have to exclude every other software technique. Techniques for writing maintainable code go hand in hand with every other development technique.
Re:Grrr (Score:1, Informative)
And really if you are excluding software maintenance from the field of computer science, you pretty much have to exclude every other software technique. Techniques for writing maintainable code go hand in hand with every other development technique.
Exclude away. What you are describing is software engineering, which is all about these types of development techniques. Software engineering is its own field, and it is not computer science.
Re:Grrr (Score:2, Informative)
As a mathematician, I would have to disagree... computer program architecture is clearly in the domain of computer science, and properties of program architectures can be modeled algebraically. Indeed, this is why modern academic researchers work with data types that are initial algebras.
Moreover, every computer program and function is a monad (or, equivalently, comonad). People make a living from ignoring that trivial fact and re-inventing ways to make monadic structure apparent, via OO programming.
Re:That's mighty elitist of you (Score:3, Informative)
I have a real Computer Science degree, so I know what computer science is about...
Except what you go on to describe is software engineering, not computer science. I'm not picking gnats either; the distinction is very real, and I would hope it wouldn't be lost on someone with a "real Computer Science degree."