in a slightly tangential subject, there was a recent
interview with niklaus wirth in the june copy of
software development which i really agree with.
my main peeve is programmers who call themselves
software engineers. a lot of programmers (and managers)
don't seem to understand that software tools are to
programming what word processors are to good
works of literature - you must have talent to
---- excerpt from the article -------
CP: You probably know about the "good-enough software" concept
popularized by Ed Yourdon. In many senses, it's just a rationalization
of what's happening in the software world: the first company hitting
the market with a feature-rich product is more likely to win the battle
than the careful, quality-seeking company. Do you think there is
anything developers and software organizations can do about that?
I guess many developers would be happy to be given more time to create
better software, but at the same time they are rushed in the name of
corporate survival Educating the users seems more like a wild dream
than a possibility.
NW- "Good enough software" is rarely good enough. It is a sad
manifestation of the spirit of modern times, in which an individual's
pride in his or her work has become rare. The idea that a person might
derive satisfaction from his or her successful work because that work
is ingenious, beautiful, or just pleasing, has become ridiculed.
Nothing but economic success and monetary rewards is acceptable.
Hence, our occupations have become mere jobs. But quality of work
can be expected only through personal satisfaction, dedication, and
enjoyment. In our profession, precision and perfection are not a
dispensable luxury, but a simple necessity.
CP: As you know, there is a large debate about software
engineering as a profession. In fact, many software developers never
had a strong education or any significant experience. Do you think
software engineers should be licensed, as other engineers are?
Should something be changed in the curricula of software engineers
and computer scientists to make them more effective? What, in
your opinion, is the ideal education a software engineer should have?
NW- Recently, I read a final report of a research project funded
by the Swiss National Science Foundation. The project's naive
goals were identified as follows: First, how can easy programming
be achieved (in particular, for non-experts)? Second, how can a
mechanism be realized that allows hiding the difficult parts of
parallel programming? After more than 30 years of programming,
we ought to know that the design of complex software is inherently
difficult. This despite the fact that, for decades, the industry has
been advertising programmers' positions by claiming that programming
is easy. Later on, when doubts arose even to the advertisers,
they switched to promising a wide variety of tools to facilitate
the arduous tasks. Tools became the slogan; the right tools, paired
with clever tricks and serious management methods, would work wonders.
Then Edsger Dijkstra called software engineering "programming in spite
of the fact that you can't."
Indeed, the woes of software engineering are not due to lack of tools
or proper management, but largely due to lack of sufficient
technical competence. A good designer must rely on experience; on
precise, logical thinking; and on pedantic exactness. No magic
will do. In light of all this, it is particularly sad that, in many
informatics curricula, programming in the large is badly neglected.
Design has become a non-topic. As a result, software engineering has
become the El Dorado for hackers. The more chaotic a program looks,
the smaller the danger that some one will take the trouble of
inspecting and debunking it.
JUNE 1997 o SOFTWARE DEVELOPMENT
[CP is Carlo Pescio
NW is Niklaus Wirth]
adam rifkin wrote:
> You should send this to the list. You'll get much
> >From email@example.com Mon Jun 16 07:50:14 1997
> Subject: RE: Once again, what's a PASSLQ.
> To: firstname.lastname@example.org (I Find Karma) (I Find Karma)
> Mailer: Elm [revision: 70.85]
> > > rumman "CORBA and COM just don't mix" gaffur
> adam rifkin wrote:
> > Care to elaborate?
> i'm working on a natural spoken language system
> that integrates speech synthesis, speech recognition,
> natural language parsing. i'm developing the
> user front end of the system using iona's orbix
> desktop for windows, visual c++ and visual basic.
> the problem started when i thought of doing the
> gui front-end in visual basic. the iona brochures
> said it was straightforward to incorporate vb with
> the corba architecture. which is true if your
> program is simple and is based on their sample
> code. alas, i learnt the hard way, making the
> corba/com integration to work correctly was a
> tad more work than advertised. sometimes, i had
> to take two steps back in order to go one step
> forward. i had no such problems developing
> code on the unix platforms.
> one if so inclined can blame iona for this, and
> _i did_. i sent unflattering reviews about their
> product, harassed their rather incompetent
> technical support team. however, once i delved into
> the com architecture, i began to sympathise with
> the iona programmers. i guess the rest of the
> world is catching up with microsoft's ability to
> sell vapourware (e.g. iona's marketing branch).