[prog] State of software engineering profession
Robert J. Hansen
rjh at sixdemonbag.org
Tue Apr 15 19:16:29 EST 2003
> Robert interprets your position as:
> - the software industry is at the worst it has ever been
> - based on other industries, the software industry is well over-due for
Pretty close. I interpret his position as having three premises, none
of which I think are valid:
+ At one point in the past, we had good engineering and
good process. We've since gotten into a state of
incompatible hardware, software, firmware, etc.
+ The industry, as a whole, is worthy of the term
`software engineering' or `software professionals'.
(Certain selected individuals certainly are, but not
the industry as a whole.)
+ We accept poor software as a way of life.
... I take all these things from his statement of "how did we, as
software professionals, get into a state that we accept poor software as
a normal way of life". I think reading that in the most straightforward
way leads to the three premises outlined above.
Your two bullet points are also pretty much on-target: I think those two
are pretty much implicit consequences of the three premises.
> He seems to disagree with both those premises (for that matter, I
I do. There's little doubt in my mind that software today is orders of
magnitude more portable and easier to write today than it was back in
the 1950s. I remember when I learned C++ in '88-'89, I had to learn
about Intel's segmented memory architecture, near versus far pointers,
etc.--and nobody could be an effective programmer without knowing such
things. Today, there are lots of programmers coming out of colleges
who've never needed to know the difference between near and far.
Likewise with endianness arrangements. In college, I got some time in
on machines with ABCD ordering, DCBA ordering, and ACBD
ordering--machines with 36-bit words--etc. Lots of platform-specific
code in the funniest, weirdest areas. Porting software from one
platform to another was just the tortures of the damned. Today, it
doesn't matter if I'm on Win32, MacOS X, UNIX, BeOS--I've got GTK+ 2.2
on all of them, I've got GCC 3.2 (2.95 on Be), Perl, Python, and POSIX
libraries. With Java/C#/LISP, even endianness goes away (Java and C#
both specify endianness, and LISP can go any endianness arrangement you
I agree, wholeheartedly, that the software crisis is ongoing and we've
got a long way to go before we can really call the field mature and
professional. But to say that right now is the worst it's ever been is
not, I don't think, supported by the facts. It's getting better.
> Robert, I've tried not to misrepresent your position here, but feel free
> to correct any of the above.
Didn't misrepresent at all. The above is just a more explicit
clarification of things, not a correction. :)
More information about the Programming