Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site hoptoad.uucp Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!sun!hoptoad!laura From: laura@hoptoad.uucp (Laura Creighton) Newsgroups: net.singles,net.cse Subject: Re: portable code Message-ID: <569@hoptoad.uucp> Date: Fri, 28-Feb-86 18:20:32 EST Article-I.D.: hoptoad.569 Posted: Fri Feb 28 18:20:32 1986 Date-Received: Sat, 1-Mar-86 23:37:08 EST References: <653@moscom.UUCP> Reply-To: laura@hoptoad.UUCP (Laura Creighton) Organization: Nebula Consultants in San Francisco Lines: 118 Xref: watmath net.singles:10575 net.cse:648 In article <653@moscom.UUCP> jens@moscom.UUCP (Jens Fiederer) writes: > >Dear Laura: > >I think accusing people whose C code does not pass lint, assumes ints are >n bytes long, who don't check return codes from function codes, etc. of >being unprofessional is going a bit far. Yes, their code is not portable. >If their intention was to write portable code, your accusation hits home. >Otherwise they might be entirely unconcerned. It is this ``entirely unconcerned'' attitude that bothers me. That is what is unprofessional. To be a professional is to do the best possible job even under adverse circumstances. It is possible to learn how to write protable code, and possible to discipline yourself so that you do not write unportable code. I know lots of people who do this routinely. I know lots of people who would like to do this but do not know how. This is why I am writing a book. And I know lots of people who really don't care. And these people I call unprofessional. [long list of reasons why people are in a rush and don't care...] These are excuses. But good architects don't build building which fall down when it rains and good civil engineers don't build bridges that buckle after 10 years of use and good mechanical engineers don't design valve systems that won't last through the winter and good doctors and nurses keep giving out their vey best despite lack of sleep and tremendous pressure... but good programmers can say, ah, managment was hassling me and there was a deadline? Come on. There was a time when it was (supposed to be -- I wasn't alive then) possible to tell the difference between the professionals and the ``blue collar workers'' because the professionals had a personal stake in their work and the blue collar workers (with notable exceptions) put in their time without having a personal stake. Now I know lots of programmers who have no personal stake in their work and view programming as an ``assembly line job''. And I know blue collar workers who care a lot more about their work. Remember how this discussion started? (Though I have cross-posted to net.cse, this one began in net.singles.) People wanted to know what title they should give. Somebody, I forget who, complained that he didn't want to be confused with a person who had taken the 8 week -- be a programmer from ``Miracle Data''-- course. And I flamed him real good since I knew lots of professional programmers who didn't have a degree and lots of non-professionals who didn't? I have been doing a lot of thinking over the last few weeks and have written several flames which I have not sent to net.cse. (As a point of reference -- if you ever need to get vitriolic and nasty, consider breaking your tailbone and doing without sleep for 2 days. I did this last week, and was able to generate infinite amounts of vitriol for all things which bothered me.) I am sorry that I toasted that person a month ago. I would send him an apology except that this news expired. Assuming that he is a professional, or wants to be the same, then he has a real problem in that he doesn't want to be identified with the non-professionals. I think that he is wrong in thinking that it is a degree that has made him a professional, though. I am tracking three sorts of people in university today. Type A -- likes thinking about things more than building them, doesn't care much about professionalsism, except as applied to ideas, and is really turned on about the interesting things in csc theory. Type B -- likes building things more than thinking about them, is obsessed with professionalism, and is really turned on about creating wonderful (programs/machines). Type C -- likes the idea of being a programmer more than programming itself. It is an ``good career''... (Actually, I am very usure what motivates these people. It isn't the intellectual stimulation, though.) Type A I used to call the ``mathematician'' sort of csc major. But in the last month I have decided that this may describe most of the people who should be getting a csc degree at all. Type B I used to call the ``engineer'' sort of csc major. But, again in the last month, I have decided that they are probably what engineering students in computer science should be. Type C I found all over the place and thought should be crated into tiny boxes and send a long time ago in a galaxy very far away. No doubt there are lawyers and doctors who think that they could provide members of their professions who should join them... Actually, I am very puzzled by them. I have a good many Jewish friends who went to university to get a CSC degree over the protests of their parents who, to the bitter end, were still `noodging' them to be a doctor. The Type Cs seem to be their analogues. I cannot help but think that in this world there is *some* career that would interest the Type Cs as much as csc and engineering interests the Type As and Bs. And I think that they would be much better off if they found out what that was and did it rather than majoring in csc. But I doubt that my opinions are going to stop them. As far as I have observed, unfortunately, the Type C's outnumber the As and Bs combined. Peter Ladkin is at Stanford, so perhaps things are different there. He has a real problem in that he knows there are beautiful and wonderful things in csc and wants people to know them .... and I think that he is also right on the money. (This is going to be a big week for apologies...) I think that there are a great many wonderful and beautiful thoughts happening in Computer Science today, and, to the extent that you are interested in them a CSC degree is a wonderful thing to have. The thing that saddens me is that too the extent that you tailor your csc program to handle the Type Cs, you will weaken your program so that you only get to do ``real stuff'' in grad school. -- Laura Creighton ihnp4!hoptoad!laura utzoo!hoptoad!laura sun!hoptoad!laura toad@lll-crg.arpa