Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!hao!oddjob!gargoyle!ihnp4!ihlpf!nevin1 From: nevin1@ihlpf.ATT.COM (00704a-Liber) Newsgroups: comp.lang.misc Subject: Re: First Languages (yet again) Message-ID: <3810@ihlpf.ATT.COM> Date: 25 Feb 88 02:20:43 GMT References: <4022@ames.arpa> <2400002@otter.HP.COM> <932@its63b.ed.ac.uk> <2781@omepd> <3730@megaron.arizona.edu> <1982@ho95e.ATT.COM> <3698@ihlpf.ATT.COM> <2840@omepd> Reply-To: nevin1@ihlpf.UUCP (00704a-Liber,N.J.) Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 138 First off, I don't know if it is worth answering a posting from someone who puts "/dev/null" in the 'Followup-To:' field of the header such as Phil did; people spend time and effort posting constructive followups. If you don't want followups Phil, don't post any articles! (no smiley) nevin1> refers to nevin1@ihlpf.UUCP (00704a-Liber,N.J.) wcs> refers to wcs@ho95e.UUCP (46323-Bill.Stewart,2G218,x0705,) writes) pcm> refers to pcm@iwarpo.UUCP (Phil C. Miller) nevin1> 1st year students usually do not need anything more than a nevin1> calculator for intro courses in chem, physics, calc, psych, etc. pcm> I think you are dating yourself. First year science courses were pcm> starting to make serious use of computers 15 years ago when I was a pcm> college freshman. As computing resources become more widely used in pcm> universities, students will need to know more and more about pcm> programming. It is you who are dating yourself. As you said yourself, you were a freshman 15 years ago. I was a freshman in the fall of 1983. I asked a number of friends around the country who are currently going for their undergrad degree or have recently (within 1 year) graduated what programming they did for their non-CS 100 level classes. So far, everyone I asked gave me the same answer: none. (And most of my friends are NOT CS majors!!) Most non-CS 100 level science & math courses are interested in teaching principles, not number crunching algorithms. Walk into a modern college PC lab and take a look at what the freshmen are doing. Most of them are only doing word processing. (I'm ignoring CAI since that is irrelevant to this discussion. As a side note, one summer a friend of mine wrote the CAI program for a class he had to take two semesters later. Now that's the way to get an 'A' :-)) The only thing I needed as a freshman was my trusty HP-15C (I probably didn't even need something as powerful as that but it was fun to play with :-)). I could bring it to lab or to a test. Try bringing a floppy-based PC or a terminal to a test; you'll be thrown out. And it would require an EXTENSIVE amount of programming on my part to be able to have the same power and flexibility that my calculator has. And it would be very expensive for me to buy all the software that I would need (as well as software integration headaches) to match my $70 calculator. As a matter of fact, the tests were graded little on whether or not I had the correct answer; the grading was skewed towards correct unerstanding of the principles. Most of my profs graded my homework and tests in the following way: 1 point for the correct numerical answer, 9 points for showing the work involved in getting that answer. Most of the problems in intro courses are one shot deals and are not really suited for programming. If I wrote a program I'd probably have to check the answer with a calculator anyway (well, not me per se; ALL my programs work the first time I type them in :-) :-)). pcm> Incidentally, I don't happen to feel that's a good thing. It would be pcm> nice if a physicist (for example) could stick primarily to physics and pcm> not have to learn a second discipline (computer science). Hopefully, pcm> the legacy of our generation of programmers will be a considerable pcm> simplification in computer user interfaces. This is about the only point I agree with you on. I think we are going towards this state. More on this later. nevin1> And engineers DO NOT have to learn FORTRAN!! pcm> On which planet? Your statement is rhetorical and doesn't have practical pcm> value. I think you would be hard pressed to find an engineering curriculum pcm> which didn't require FORTRAN (with the possible exception of Computer Science, pcm> which you may or may not count as engineering). My field of study was computer ENGINEERING (not COMPUTER SCIENCE, although I have since seen the error of my ways :-)), which is more similar to Electrical Engineering than CS. There was only 1--count 'em--1 ELECTIVE which used Fortran--numerical methods. I used to work for an engineering consulting firm (mainly mechanical engineers) and all the number crunching they had to do (which was very little) was done with specific off-the-shelf packages; no one there did any programming. The off-the-shelf products were simply much easier to use and hence cheaper (in terms of total time) than having to write everything they needed in Fortran. pcm>. [ ... ] I have just changed jobs. In no interview was I asked pcm>. whether I knew ML; in every interview I was asked if I knew C. Me neither, but I have been asked what my favorite PL was. It's much more interesting to talk about Icon than to talk about C (this is not a flame against C; C is my third favorite language after Icon and C++). nevin1> Interviewers want to know what you can do, and not so much what you nevin1> have already done. pcm> HUH?????????????? Now I'm convinced you're from another planet. Companies pcm> usually want someone to work on a specific project. Someone with a track pcm> record in a related area to that project will be considerably more valuable pcm> than someone who only knows, say, functional programming languages. STOP MISQUOTING ME!! I never said that you should know ONLY functional PLs. As a matter of fact, I said that you SHOULD know a variety of types of PLs! I do agree that knowing a related area is a plus. But, using an analogy, would you hire a car mechanic because he knows how to use a screwdriver? A language is just a tool; nothing more. But good programmers are much more than coders! Most companies would rather hire someone with knowledge in their field than someone who only knows how to code. nevin1> Learn the good programming habits first; then pick up all the 'fad' nevin1> languages. It will pay off a lot better in the end. pcm> Now let me get this straight. Fortran, which has been around since about pcm> 1950, and C, which is the implementation language for the defacto industry pcm> standard operating system and about a jillion utilities and applications pcm> programs, these are the fad languages, right? By 'fad' I mean currently popular; I have said nothing on whether the language is 'good' or 'bad'. The first 'fad' HLLs were FORTRAN and COBOL; then came BASIC, then Pascal, and finally C. In the future I would suspect that C++ would be next (just a guess, though). We have found better languages and techniques since the '50s. Model-Ts have been around since the 1900s, and a 'jillion' people bought them, but you don't find too many of them on the highways anymore :-). The application programs are becoming simpler to use; you shouldn't have to program a computer to use one (in much the same way that you shouln't have to build a car to drive one). pcm> Incidentally, the implication here is that you can't learn 'good programming pcm> habits' in C. Bullshit. You can USE good programming techniques in C, but I don't think that you will LEARN good techniques and style from just learning C. Now, if all C programs were required to pass through lint without any errors or warnings, that might be a different story... :-). -- _ __ NEVIN J. LIBER ..!ihnp4!ihlpf!nevin1 (312) 510-6194 ' ) ) "The secret compartment of my ring I fill / / _ , __o ____ with an Underdog super-energy pill." / (_