Article View: gnu.misc.discuss
Article #73759Re: NJ wants to license programmers
From: Dan Bernstein
Date: Tue, 23 Jul 1991 20:03
Date: Tue, 23 Jul 1991 20:03
146 lines
8181 bytes
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!brnstndReferences:
<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