[rescue] Mainframe on eBay

Jonathan C. Patschke jp at celestrion.net
Thu Sep 22 13:06:47 CDT 2005


On Thu, 22 Sep 2005, Wes Will wrote:

> (Other countries, I won't speculate about the skills of their grads,
> but the U.S. CS grads that I know (several hundred) are spankin'-good
> programmers, but computer-clueless.)

I'd disagree with half that point.  The current crop of CS graduates are
good at abstraction, overall algorithm design, and the other abstract
portions of computer science.  However, when it comes to actually
putting code on a running system, I'd be much more inclined to have to
code written by someone with an engineering degree.

The mantras of CS these days seem to be:

   "Performance doesn't matter"
   "The user can always buy more hardware"
   "Interpreted is better than compiled"
   "Defer everything under runtime"
   "Programmer time is more expensive than user time"

I watched, aghast, as recent graduates have (at $job[-1]) twice taken
the absolute fastest general-purpose microprocessors on the planet
(POWER4+ and POWER5) and run them into the ground with abominably
sucktastic code that happened to be associated with very elegant UML
diagrams and ivory-tower abstractions from here to eternity.  The
application in question was essentially a community address book
(statewide list of doctors and their credentials).

Throughout the entire train-wreck, I heard things that my CS professors
said to me over and over again before I finally decided I wanted to
write software that would run well on the sorts of computers that
actually exist in reality, as opposed to Turing-machine thought
experiments.  Five of them are quoted above.

We have an entire industry sold on Java, .NET, and how many other
interpreted abominations (Ruby, Python, etc.) for applications that need
to scale to thousands of users.  INTERPRETED!  Yes, let's buy the
fastest processors on the planet and then make them spend 30% of their
time just trying to translate the code we wrote into something they can
understand!  That make Perfect Sense!  After all, we can just buy more
hardware!

But, hey, hand these same CS grads C++ and look what a mess they can
make.  Pick any large C++ application (OpenOffice, Mozilla, Microsoft
Office); it's a nightmarishly over-complicated cesspool of bugs that
requires more megabytes of memory than we had in disk space a few years
back.  So maybe the recent orgy of runtime-interpreted tools is only the
tip of the iceberg.

> I do not think this situation is a good thing, or a correct thing at
> all.

Absolutely not.  People who write software for computers should
understand computing from top to bottom:  business logic to logic gates
and everything between.  Would you ask an automobile mechanic to build a
bridge just because automobiles will be driving across it?

Software designers and implementors need to not only to understand how
their software will be used, but also the infrastructure that will
support it and the systems on which it will run.

> It is a losing battle, but I keep firing my little cannon whenever I
> see a target...

It is.  Unfortunately, until we finally hit The Final Brick Wall, people
like me who obsess over performance and maintainability will just be
regarded and folks who need to step into the 21st century.  Likewise,
until someone finally asserts that ill-behaved software Will Not Be
Tolerated, system administration will be a minor footnote in any CS
degrees program.

Every time I see a job application for nitty-gritty systems
administration that absolutely "requires" a CS degree, I cringe.  At
least my blood doesn't boil anymore, now that I've found gainful
employment in the private sector again.

-- 
Jonathan Patschke   )  "When we are young, wandering the face of the
Elgin, TX          (    earth, wondering what our dreams might be worth,
USA                 )   learning that we're only immortal--for a limited
                    (    time."                              --Neil Peart



More information about the rescue mailing list