RE: Software directions to ponder over...

Date view Thread view Subject view Author view

From: Jim Whitehead (
Date: Mon Sep 25 2000 - 14:43:05 PDT

> 1. Software engineering keeps discovering "deeper" abstractions,
> that once understood, advance the field. Is there a "deepest"
> layer we cannot go beyond? What is it?

I've never seen an abstraction depth (or height) metric, so I'm not sure
what it would mean to have one abstraction be deeper than another. Sometimes
people discuss "higher" abstractions, referring to a layer in an abstract
machine hierarchy. But, it seems to be a truism that, for every abstraction,
you can always define the abstraction "the set that contains the highest
known abstraction" and hence create a higher abstraction automatically.

The question seems to be meaningless.

> 2. Software has continually lagged behind hardware in things
> like cost curve, ease of use and standardization. What
> discoveries would it take for software to surpass hardware, or
> what is the reason this is impossible?

This is covered in "No Silver Bullet, Essence and Accident of Software
Engineering", Frederick P. Brooks, Jr., IEEE Computer, 20(4): 1987, 10-19.

This will never happen, since the factors that have led to the dramatic
cost/performance increase in hardware do not apply to software.
Furthermore, software systems tend to have more states than hardware
systems, and are mostly composed of myriad different components, rather than
repetitions of the same components, and hence are more complex.

> 3. Software is still an art, not engineering. It's so
> intractable we are essentially living in the dark ages, like
> before Copernican Theory (the planets revolve around the sun),
> before Einstein's theories of relativity and before Euclidean
> Geometry. Is there a collection of software theory that will
> suddenly turn art into science?

Wow, what a confused question. It starts by claiming that software is an
art, not engineering. It then concludes by asking whether software will
ever turn into a science. Well, which is it? Is the desire to create a
science of software, or software engineering? Furthermore, as I recall,
Euclid lived in ancient Greece, during the classical period, and hence the
time before Euclidian geometry was classical Greece, not the Middle Ages.
Einstein is a modern figure, clearly far from the dark ages.

Yes, software development has far to go. On the other hand, I can think of
few examples where it is possible to purchase a product that contains
person-centuries of product development for around $100. Software is one of
those examples (think operating systems, word processors, spreadsheets).
This was not possible in the middle ages.

- Jim

Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon Sep 25 2000 - 14:47:47 PDT