🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.misc.discuss
Article #73759

Re: NJ wants to license programmers

#73759
From: Dan Bernstein
Date: Tue, 23 Jul 1991 20:03
146 lines
8181 bytes
I had a lot of trouble reading the above-referenced article by John
Burton until I realized what was getting me confused. Namely: Burton
assumes that ``computer science'' and ``programming'' are the same
subject, or at least that the former contains the latter. Hardly. As
many computer scientists have assured me, the topics covered by (for
instance) Knuth's Art of Computer Programming are quite different from
the topics of importance in computer science. I think it is Burton who
is confused.

In article <1991Jul23.152458.22170@news.larc.nasa.gov> burton@asdsun.larc.nasa.gov (John Burton) writes:
> In article <896.Jul2219.16.3491@kramden.acf.nyu.edu> brnstnd@kramden.acf.nyu.edu (Dan Bernstein) writes:
> >I'll tell you what's different. There's no course of study in
> >programming. You can't get a degree in programming, because few people
> >know how to teach it and fewer know how to test it.
> Fine, who would WANT a degree in PROGRAMMING ? Programming is a small
> portion of the field of Computer Science

``Fine, who would WANT a degree in MUSIC ? Music is a small portion of
the field of signal processing.'' Yes, Burton, only a fraction of the
science of digital processing has any bearing on music. Yet music is a
vibrant art, with hobbyists and serious practitioners and a high level
of creativity. There are lots of programmer hobbyists too---young ones,
especially, who've discovered their love for programming at an early
age. Where are the mechanical engineering hobbyists? Where are the
architecture hobbyists? Where are the doctor hobbyists? Do you see
ten-year-olds with an aptitude for the law? Or computer science?

> and there are quite a few
> people walking around that would laugh at you for saying that you
> couldn't get a degree in Computer Science because few people know how
> to teach it and fewer know how to test for it.

There is your confusion. I did not say computer science; I said
programming. The two fields are quite different. As Jacob Gore pointed
out: ``There are plenty of CS Ph.D.'s that would kill Superman if they
were allowed to program an X-ray machine.''

> Getting a degree in
> programming would be the same as getting a degree in mechanical
> drawing,

Ah, yes, and getting a degree in music would be the same as getting a
degree in playing the piano, eh? You seem to have a very limited idea of
what's involved in programming. Sure, learning to play the piano is a
mechanical skill, learned mostly by practice. That doesn't turn
competent piano players into musicians.

> >                                                    Programming is an
> >art, not a science, but unlike most artistic endeavors it's been around
> >for much less than a century.
> The techniques that are the basis for an *art* can and are taught, and
> can be tested for.

Yes, I agree. There are two kinds of tests for art. One is whether you
can identify old work---whether you know what has come before, and can
appreciate what makes it great. The other is whether you can produce
new, beautiful work on your own, work that is appreciated and respected
by others.

> The
> techniques for programming can and are taught, and can be tested for.

Be serious. You can teach someone how to play the piano, and you can
teach someone how to make the computer do his bidding. That's a far cry
from teaching someone how to create inspiring music or an inspiring
program. The best way we know to teach someone to write beautiful music
is to show him beautiful music of the past and help him understand their
differences and similarities, meanwhile making sure that the necessary
mundane skills develop. Exactly the same is true of programming:
programmers learn by seeing the works of others, meanwhile exercising
their skills by writing new programs. This is not true of engineering
fields: you really can produce a competent mechanical engineer who has
never seen or dissected great works of mechanical engineering in the
past, who may have created works of his own but was only applying the
principles he was taught without that spark of creativity at every step.

> Programming is simply translating the solution into an ordered set of
> symbols.

Ah, yes, and music is simply translating certain acoustic signals into
an ordered set of symbols on paper, eh?

> Schools CAN and DO test for the techniques of Computer Science

There's your confusion again. Computer science and programming have
about as much to do with each other as mathematics and programming or
mathematics and physics.

> A computer is a tool just as a hammer is a tool, you have to know the
> techniques of using it properly or else you could damage yourself or
> someone/something else. A carpentar is licensed based on his/her
> knowledge of the techniques of the field. A barber is licensed based
> on his/her knowledge of the techniques of the field. An engineer is
> licensed based on his/her knowledge of the techniques of the field.

Perhaps you didn't notice my tone when I mentioned the tests for
barbers. Licensing barbers is stupid! The most you can do with an
``objective'' test is test the barber on his knowledge of the mundane
tools he uses---just as in programming. This doesn't tell you anything
about how well the barber can exercise his art, to produce a pleasing
result given specifications ranging from vague to incredibly exacting.

> If licensing of programmers was to be used, tests
> for knowledge of and ability to use the basic tools of the trade
> should be used.

Indeed. I suppose that you think licensing musicians is a good idea,
because you can test for their knowledge of and ability to use the basic
tools of the trade.

> Trying to claim the
> field of programming is significantly different than any and all other
> professions is ludicrous

Yes, it is. Programming is quite different from scientific professions.
It is an art.

> and just demonstrates a lack of understanding
> of the underlying concepts of computer science.

There's your confusion again. Programming is not computer science!

> >When most universities have a Department of Programming or at least a
>                                ^^^^^^^^^^^^^^^^^^^^^^^^^
> >recognized programming specialization inside the engineering department,
> >we might have some basis for licensing programmers. Until then, it is
> >simply irresponsible to even think that we can say what a programmer
> >should know. We can't.
> As opposed to a Department of Computer Science, or Department of
> Information Sciences, or Department of Software Engineering???

Yes. Maybe you should try to accept that I meant to say what I did. A
typical computer science department does *not* teach programming,
although many good programmers may be forced into that department (and
forced to learn lots of completely irrelevant material) because no
programming department exists. That's a shame. It also indicates that
universities don't know how to teach the art of programming.

Maybe there's a good side to the New Jersey bill. It'll stop people from
using that ``software engineering'' word for a field which contains less
engineering than the field of music. The only thing I worry about is
that the state will dream up a curriculum for this ``software
engineering'' field, watch some people pass it, and delude the public
into believing that software engineers actually know how to program.

---Dan
Technical Details
Message-ID: <15046.Jul2320.03.1391@kramden.acf.nyu.edu>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!spool.mu.edu!samsung!emory!ox.com!yale.edu!cmcl2!kramden.acf.nyu.edu!brnstnd
References: <1991Jul22.140553.24030@news.nd.edu> <896.Jul2219.16.3491@kramden.acf.nyu.edu> <1991Jul23.152458.22170@news.larc.nasa.gov>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 1025b4,624fa0d9d693a21f
X-Google-Attributes: gid1025b4,public
X-Google-ArrivalTime: 1991-07-23 23:00:17 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!spool.mu.edu!samsung!emory!ox.com!yale.edu!cmcl2!kramden.acf.nyu.edu!brnstnd
From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein)
Newsgroups: gnu.misc.discuss
Subject: Re: NJ wants to license programmers
Message-ID: <15046.Jul2320.03.1391@kramden.acf.nyu.edu>
Date: 23 Jul 91 20:03:13 GMT
References: <1991Jul22.140553.24030@news.nd.edu> <896.Jul2219.16.3491@kramden.acf.nyu.edu> <1991Jul23.152458.22170@news.larc.nasa.gov>
Organization: IR
Lines: 146