UT Lisp Users Group?
levi at cold.org
Wed Jul 13 21:46:33 MDT 2005
On Jul 13, 2005, at 5:59 PM, Jonathan Ellis wrote:
> This is an appealing idea to many. The reason I don't buy it is
> historical: most CS departments started out as branches of math.
> like MIT's, grew out of EE. If "formal training and science/math"
> combine to impose beautiful structure and organization on software
> development chaos, I think it would have happened long ago.
I'm not sure what makes you think that it would have happened long
ago, considering how recently computers have become commonly
available. Yes, Computer Science started as math. Proper Computer
Science is still very mathematical in nature. This does not mean
that the current state of Software Engineering has much to do with
math, nor does it mean that Software Engineering will necessarily
remain as separate from Computer Science as it currently is.
My take on this, though it is not grounded in a great deal of
research, is that the commercialization of computers created a
gigantic demand for software from a fledgeling discipline trained to
create it. Essentially, an entirely different technical field was
created by this demand. It took the current tools from Computer
Science, largely discarded any notion of mathematical rigor (takes
too much time, the tools for it were primitive at the time and
computers were weak, and fewer would qualify to learn it), and
created its own ad-hoc practices for building software. Thus,
software engineering was born.
Meanwhile, Computer Science has been drained of potential brainpower,
though it is still working towards the same goals. CS research is
making real progress towards bringing beautiful structure and
organization to software development, but that's not very visible
from the front lines of Software Engineering, especially since very
little computer history is taught at schools and a great many
software developers are self-taught. As software flaws cause more
and more financial damage, it will become more and more viable to
spend the time and money required to implement more theory and
discipline in software engineering.
These aren't necessarily changes that will take place overnight, but
they are happening. You ought to read the article rather than
dismissing it out of hand as you did.
More information about the PLUG