On Sun, Nov 01, 1998 at 01:09:10PM -0500, Bob Munck wrote:
> So if you have an application that works, that hasn't had a
> bug reported in years, that fulfills requirements that haven't
> changed and are unlikely to change (unless people stop having
> "birth dates" or we add a new month to the year or street
> addresses fall out of use), that has ported easily to new
> platforms as they have come along, and that was written
> 20 years ago, you'd throw it away?
Sure. I *have* thrown such things away, because it's my view
that the aggregate cost of maintaining old systems exceeds the
cost of continuously replacing them.
"Cost", by the way, includes a lot more than dollars and cents.
> You have an organization? That makes you a manager, a
> pointy-haired-boss, a bean-counter, and a number of other
> things you seem to hate. Do you really fire people who
> violate one of your strange set of prejudices?
You'll be happy to know that I have steadfastly refused every
attempt to make me into any of those. I'd rather leave the
field entirely and flip burgers at McDonalds than be the kind
of useless leech that 99% of managers et.al. represent.
That "strange set of prejudices" is nothing of the sort, by the way:
it's a generalization that's the result of watching B-arkers with no
real skills (but plenty of ability to lie, act unethically, kiss ass,
hype vaporware, run companies into the ground and collect golden
parachutes, waste resources, and other dubious talents) in action for
many years.
> My first PC cost about two-months's income; the current one cost
> about two day's and is 100-200 times as powerful. Software, on
> the other hand, still costs a buck or so per line of code to write
> and requires intelligence, insight, engineering savvy, and
> diligence to be applied continuously during its creation.
I couldn't agree with you more. Despite valiant attempts by a lot
of people -- some of which have been darn impressive -- writing
software is still hard.
> Sounds like you drive a '75 VW or a '85 Yugo.
No, I don't. I do however recognize that with very few exceptions
(e.g. certain vintage models) that cars depreciate. That puts
them in the "not an investment", or if your prefer "not a good
investment" class.
> Let's see, a company spends $250,000 developing a modest-sized program
> that automates a chunk of their business and saves them $100,000/year,
> and they're stupid to think of that as an investment?
Yes, there are. Writing and deploying is a darn good idea: I agree
with that part. But it is *not* an investment.
> > Design them to be thrown away.
>
> This is a horrible perversion of the old adage "build the first
> one to throw away" which I think Fred Brooks quotes in Mythical
> Man-month. "Junk software," software that's thrown together on
> a death-march schedule with no thought of long-term maintainability
> or enhanceability, no system-level integration or engineering,
> is becoming endemic in our industry. It comes from the biggest
> established companies and the smallest garage start-ups.
I agree with you that junk software is a problem. And I'm not advocating
that it be written -- I've been on death-march projects and it was
like watching a slow-motion train wreck. (By the way, it wasn't
the programmers' ideas to make it a death march: it was the managers
and the bean-counters.)
However, it's equally silly to try to create systems that will stand
in place for long periods of time. There's always better software
and better hardware coming along; there are always better ideas in
how to put them together.
Trying to build software with a monument-for-the-ages mindset leads
to the development of systems that are very hard to upgrade/replace
when the time comes -- and it WILL come.
If you don't like the term "thrown away" then try it this way:
Design them so that their components can be continually
replaced and upgraded.
> Gosling doesn't even mention "readability" or "maintainability"
> in any of his white papers about the design of Java and it is
> supposedly an improvement on C and C++. Perl seems to be
> challenging APL as the ultimate unreadable language.
I find all three eminently readable when properly written. (It's
possible to code gibberish in ANY language if you work at it;
reference the various obfuscated code contests held on 'net
every year.) I suspect Gosling doesn't mention either term in
his white papers because he doesn't need to.
> > That means writing portable software;
>
> The rule of thumb is that making something portable requires about
> three times the development cost of not doing so. You have to
> test for portability by actually doing ports; anything less is
> just hot air.
That's the rule of thumb for dead languages like your little pet
failure, Ada. It's quite easy to write programs in C, C++, Perl,
or Java that run on just about every 'nix system in existence with
almost no additional effort, and -- if you must -- on NT and openVMS.
> For every one person developing a web server there are probably
> 10,000 working on an accounting program that has nothing
> whatsoever to do with the web, never will, and shouldn't.
Stipulated. So what?
> Even web applications these days still tend to be small
> auxiliary functions tacked on to large legacy systems to
> duplicate over the web access that had been done with local
> workstations. When we finally start writing big mission-
> critical systems like accounting or inventory to be
> web-based, they will have the same general characteristics
> and problems as the equivalent ancient 3270-based systems.
Oh, you're (unfortunately) probably right, because many of them will
be written with the same failed methodologies that were used to
create those obsolete mainframe systems. But that doesn't mean
that it *must* be that way...which is why I'm suggesting an alternative.
> And what Fortune 500 companies have you run to demonstrate
> the success of your approach?
I'm talking about a software/systems methodology, and that has nothing
to do with running a company.
> I know that this is a strange idea, but it could be that the bean-counters
> and managers know something that you don't.
I doubt it. The only reason bean-counters count beans and
managers manage is that they don't have the intelligence
or the skills to do real work. I have far more respect for
whoever cleans the toilets at IBM/etc. headquarters -- who is *at least*
making an honest living through hard work -- than I do for the CEO.
---Rsk
Rich Kulawiec
[EMAIL PROTECTED]
____________________________________________________________________
--------------------------------------------------------------------
Join The Web Consultants Association : Register on our web site Now
Web Consultants Web Site : http://just4u.com/webconsultants
If you lose the instructions All subscription/unsubscribing can be done
directly from our website for all our lists.
---------------------------------------------------------------------