Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!think!nike!lll-crg!hoptoad!laura From: laura@hoptoad.uucp (Laura Creighton) Newsgroups: net.cse Subject: Re: Re: Role of computer science Message-ID: <1195@hoptoad.uucp> Date: Thu, 16-Oct-86 13:56:02 EDT Article-I.D.: hoptoad.1195 Posted: Thu Oct 16 13:56:02 1986 Date-Received: Tue, 21-Oct-86 03:38:17 EDT References: <10410@cca.UUCP> <3477@utcsri.UUCP> Reply-To: laura@hoptoad.UUCP (Laura Creighton) Organization: Nebula Consultants in San Francisco Lines: 134 Terry Coatta, I worked and went to school at U of Toronto for 6 years. And as far as I know, I never met you. And none of what Richard Harter said may apply in the slightest bit to you personally. But if you do not know what he means then you are burying your head in the sand. Do you want the names of the University of Toronto professors who told their classes publically that they should not use lint on their C programs? Not that C is used very much at U of T, these days, but I was working in the advising office and got to tell all these students that they wouldn't need to ask me how to fix thier programs if they would just use lint. But, no, professor so-and-so told them not to use it. Of course not. Professor so-and-so started wrtiting code in v6 days and doesn't want to convert it to v7 type code. I got angry and tracked down those professors, but I don't know if they are still advising their students not to use lint. Do you want the name of the U of T professor who would not believe me for a month when I told him that he *must* *must* *must* declare malloc to return char *? The machine we now had, unlike a vax, 2 registers to put return values in. And ints went in one, and pointers went in another. And if you don't declare malloc you will get whatever trash is in the other register instead of a pointer. Or the U of T professor whom I had to explain what virtual memory was to? Don't get me wrong -- U of T is a great place. ANd i actually think that the professors there, especially the AI people and the people at CSRI program significantly better than any professors I have met at any university in North America with the exception of Stanford. And there is nothing wrong with the fact that the U of T professors are not able to program well -- that is not what most of them are interrested in doing well. (Moreover, I made a rather good living while I went to school there doing almost nothing else but porting bad code written by professors and grad students from one machine to another.) The annoying thing was that my father was a doctor and a U of T associate professor. And my mother was a teacher and had gone to U of T. Naturally, I was expected to go to U of T. And, not unreasonably, I thought that I was going to learn how to be a professonal at U of T -- that was the reason I went there. I didn't go there to learn theoretical knowledge -- I had been reading books from the U of T bookroom all my life, and theoretical knowledge you can find in books. I wanted to know what all the hot new research in CS was (and U of T professors don't have enough time to explain their research to every interested undergradaute) and I thought that I would learn how to be a professional, so that I could go out into industry and build wonderful software, and in general make the world a better place to live in. But how to be a prefessional was not on the curriculum. And I found that the hot new research was done by grad students who only got it enough done to get their degree. And that then the research would be ignored, and not finished up, and thus not seen by the rest of the world, in industry, who really could use it to make the world a better place. And I found that there was enough professors in DCS that rained hail and slung insults at the CSRG (it was CSRG in these days) for being too practical, and too much like engineering, that U of T has *2* computer science schools. Thank goodness for the Stanford Fleming Fire, which isolated them! I can go on and on. And U of T is a particularily good place in terms of finding Software Engineers who also are also professors. I mean -- there are some there. If you want to find some, you can. Perhaps you are one of the best ones there -- I don't know -- I don't think that I ever met you. But look around you. There are professors at U of T who think very well, but cannot program their way out of a paper bag. That is what they have grad students, and hire other students like me for -- to do the programming. This is fine; I am not coming down on them. Some of the people who program the lousiest are my best friends and some of the most brilliant thinkers there. But like the bulk of the students that I went to U of T with, I went there with the idea that I would be taught to be a professional programmer there, at the university, in class. Everybody I met when I was a teenager assured me that that was what I would get at U of T. And they were wrong -- or mostly wrong. I learned how to be a professional programmer at U of T by hanging around people in the Physics and Astronomy department, who had a theoretical knowledge, not of Computer Science, but of Physics and Astronomy. What they did have was a good practical knowledge of: this program must run, and give correct results, cause nobody will care about our beautiful thoughts if we get the answers wrong this program must be documented so that the next guy to make a change, 4 years from now, will know what is going on this program must be easy to maintain this program must be portable so that when we buy a pdp/11, {vax, array processor, time on a Cray, give a portable field unit to some of our grad students} all of our work does not grind to a halt as we rewrite code for years I went to U of T. It was a remarkable experience, and I got a great education. But I would advise people there who do not want to be academics to stop caring so much about your marks, study less, and hang out with people at U of T writing application software for use in the other science departments, like physics and zoology and chemistry. Because there is a lot going on there which is more useful to know in the real world than 20 lemmas about Turing machines, which you can always look up in your textbook if you ever need to know them in the real world. And I am being too hard now -- you just pushed a real big button of mine. There are some very, very, very brilliant people who are computer science professors at U of T. Just to meet them is a wondeful and uplifting experience. If you are not obsessed with marks, most of the cse classes I took were an incredible amount of fun. I liked it. It is just when I see the wasted, 95% done and I have got my PhD now out of it, abandoned work done by legions of U of T grad students that I despair. You see, a lot of these work has good practical applications which are really needed and wanted in industry, but who has time to read all the research being done by grad students all over the world in order to find the few gems that you personally have an application for right now? So it just dies. And in academia people go on to new things which have a thesis in them... But I digress. sorry. One final thing -- for you grad students out there. Who do you think has more influence in this world -- your adviser, or Bill Joy? It is industy which has given Joy his influence. If having influence in this world is one of the things that motivates you, and something which is important to you, and you don't think that you are going to be the next Nicolas Wirth, then you may be in the wrong place right now. -- ``Never string ethernet in the presence of a kitten.'' Laura Creighton ihnp4!hoptoad!laura utzoo!hoptoad!laura sun!hoptoad!laura toad@lll-crg.arpa