Jim Farmelant farmelantj at
Tue Apr 10 08:31:35 MDT 2001

On Tue, 10 Apr 2001 09:36:39 -0400 Les Schaffer <schaffer at>
> 1.) another thought on the topic of OO and compartmentalization:
> does OO really further this end over, say, procedural languages?
> After
> all, before OO, one was supposed to design clean subroutines with
> minimal global variables and a well defined calling interface.
> is/was this any less effective, in practice, in structuring the
> work
> of programmers?
> 2.) on C++ vs. Java: this invokes many religious wars. i know a
> lead
> programmer at Xerox who refused to work on any more C++ projects
> because of the filthiness of the language.

Many people find C++ unappealing on esthetic grounds.  Many people like
Java because they despise pointers which are a key feature of both C and
C++ but which are absent in Java (Java instead makes use of references
to do the work that pointers do in C++).

>i know computer
> scientists
> who are developing matrix classes for numerical simulations.
> supposed
> to be very fast for computation. They are the ugliest structures i
> have ever seen written in code. worse than greek. Java seems to be
> proclaimed as the new messiah, the answer to C++'s filth. But as
> Lou
> and Jim F.  point out, the cleanliness of Java is enforced
> rigidly. This is suffocating to many programmers, especially
> newbies
> to the language.
> 3.)  Jim F. said:
> > Also, CS curricula tend to be oriented to the teaching of
> computer
> > science theory (primariry the theoretical aspects of data
> structures
> > and algorithms which is not necessarily directly relevent to what
> > industry is looking for in prospective programmers).
> what does industry look for in prospective programmers?

I suppose the shortest answer would people who can go in and
translate the vaguest of specs into working code.  Steve McConnell
has an interesting book *After the Goldrush* which is published by
Microsoft Press.  He goes into great length in discussing the
reasons why industry is not necessarily enamored with existing
undergraduate CS programs and the graduates that they turn out.
McConnell is an advocate of universities creating undergraduate and
graduate programs in
software engineering which would be specifically geared towards training
students to be programmers and software engineers for industry.
He sees existing university CS departments as being torn between
their inclination to teach students to be computer scientists which means
teaching them the theoretical aspects of computer science and the
pressures from industry to turn out graduates who can be readily
employed as programmers and engineers.  In his opinion this
situation would be analogous to what would happen if we
relied upon university physics departments for instance to
train electrical engineers.  Either the resulting graduates would
come out with a training that is too theoretical to meet the
needs of industry or physics departments in the effort to produce
that would be desirable to industry would find themselves
abandoning the things that they do best (which is training
experimental & theoretical researchers in physics).

McConnell believes that the creation of software engineering
departments with their own curricula would be of benefit both
to industry which would get graduates whose training meets
industrial needs.  In the long run, McConnell contends thatuniversity
departments would benefit (althoughones suspects that they take a
different view) since they
could then do what they do best which is to train researchers
in computer science.

Concerning programming, McConnell advocates that engineering
standards be imposed on software development and that
the training and certification of software developers be made
closely analogous to those follwed by the established engineering
disciplines.  McConnell is clearly disdainful of the craft approach
to programming which Lou discussed in his original post which he
sees as resulting in lots of poorly written, hard to maintain code
that ver costly to develop.  Instead,
McConnell argues that unless software development follows an
engineering model we will continue to see the kinds of problems
that continue to afflict software development.  Since, McConnell
seems to recognize that the abandonment of the craft model
might be unappealing to many programmers who might fear
loss of power and status, McConnell proposes that software
developers should seek to organize themselves as a profession
along the lines of the more traditional branches of engineering
(i.e. civil, mechanical, and electrical).  Just as there currently
exists PE (Professional Engineering) licenses which practicing
engineers can earn in most states and which are often required
for certain kinds of work  so he proposes the creation of
PSWE (Professional Software Engineer) licenses for programmers
which would be required for certain kinds of programmers.
McConnell seems to believe that such licensing would help
programming to become a true profession and hence to raise
the status, power, (and presumably incomes) of practicing

Whether this is the case is certainly open to debate.  In the US
at least, it is questionable whether engineering has ever been
successful in establishing itself as a "true" profession in the
manner of medicine or the law.  And these well-established
professions have in recent years found themselves thrown
on the defensive in the face of intensifying corporate pressures
to submit to the power of the market (with a resulting
proletarianization).  Medicine which is as a well-established,
powerful and arrogant a profession as has ever existed has
in recent years in the US been humbled as corporations have
sought to impose managed care on it.  If this kind of thing
can happen to medicine what chance would an upstart
"profession" like computer programming have?

Jim F.


> 2
> Les Schaffer
Juno offers FREE or PREMIUM Internet access for less!
Join Juno today!  For your FREE software, visit:

More information about the Marxism mailing list