From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: *** X-Spam-Status: No, score=3.2 required=5.0 tests=BAYES_00,RATWARE_MS_HASH, RATWARE_OUTLOOK_NONAME autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public From: "Tim Behrendsen" Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/09/03 Message-ID: <01bb993d$d65d15a0$32ee6fcf@timhome2> X-Deja-AN: 178099601 references: <01bb846d$c6c01780$87ee6fce@timpent.airshields.com> <4vgs4p$evl@news.accessone.com> <4vhtrd$8cq@news.ccit.arizona.edu> <5085r7$ra7@kanga.accessone.com> <50a7cs$m6e@news.ccit.arizona.edu> <50fmsm$3o2@news.asu.edu> content-type: text/plain; charset=ISO-8859-1 organization: A-SIS mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-09-03T00:00:00+00:00 List-Id: deafen@imap2.asu.edu wrote in article <50fmsm$3o2@news.asu.edu>... > Frank Manning (frank@bigdog.engr.arizona.edu) wrote: > [...] > > : In my humble opinion, the solution to that problem is to teach the > : students what actually goes on inside the computer, how a transducer > : signal wends its way through an ADC into the computer memory, and how to > : write the software that controls all that stuff. Students also need to > : understand that things can go wrong and the computer will tell you a > : direct lie if it can possibly get away with it. > > Frank, please allow me to speak from a student's point of view. I'm a > senior in CIS, so I'm not required to do any assembly coding. (For that > matter, I'm not required to learn much programming at all; I consider > myself the "odd man out" because I actually enjoy doing it and learning > about it.) > > I do have a point. Please be patient. :) > > Computer science students entering college today face a dilemma. While > we understand that the fundamentals (how the "transducer signal wends its > way...into the computer memory") are important, we need to keep up with > the state of the art, as well. > > Those who have been in computing for twenty (or even ten) years have an > advantage over us; they've had the time to learn all of the fundamentals > and grow with the technology and paradigm shifts. We are faced with the > daunting task of learning all of these things in a few years, rather than > a decade or two. > > If I were to specialize in "how to write the software that controls all > that stuff," I'd be left with no time at all to learn the more > sophisticated things -- the MS Windows API, for example. > > I can't speak much for the academic or research communities. However, if > a programmer is going to be of much use at all to the business community, > it's far more important *to the employer* that s/he know the current > state of the art than the underlying foundation. I think this is a sub-point of this thread; which is more important, learning the general concepts of programming, or learning specific knowledge such as the MS Windows API? With all due respect, I have to tell you that you know almost nothing that is useful to me as an employer. What I mean by that is you have smattering of this, and a smattering of that, but all that pales compared to all the knowledge that you need to be a truly useful asset. When I hire new people, I look for the person that has the best understanding of the fundamental concepts, because any specific subject you will have learned (such as the Windows API) is so shallow as to be useless. I often say that "I would rather have smart and ignorant, rather than stupid and knowledgeable." > I'm not saying that it shouldn't be taught. However, before decrying the > lack of fundamental knowledge in current CS graduates, it's important to > take these things into consideration. > > Colleges are stuck with the unenviable task of ensuring that their > graduates will be employable and proficient. An employer (in the > business community) doesn't much care if a programmer knows what object > code is created from their source code. They care that the programmer > can program well *in the environment of that particular organization*. The problem is, the programmer can't program well. They just plain don't have enough experience from the toy projects in the typical CS curriculum. The question, how well prepared are they to learn new environments? In other words, how well prepared are you to "think like a programmer"? Any API can be learned; the question is, how good is your fundamental understanding of computer programming so that you can have some perspective in order to understand the API? > As to the statement that students should learn that the computer will lie > at every opportunity, be assured that this IS being taught. Perhaps it's > not being explained in terms of the actual machine language, but we're > learning it. Believe me. (Actually, I think that that knowledge comes > from hands-on programming experience, which we've all got to do.) Are you...? Not the students that I get. The majority of the ones that I get are not capable of taking a programming problem that they've never seen before and coming up with an algorithm for a solution. In one hiring cycle I went through, I got 1 guy out of 50 applicants that could do my testing process. I hired him, and the rest went elsewhere. I'm not trying to downplay the value of your CS degree, but the world of programming is far, far larger than the tunnel-visioned view you've been given at school. -- Tim Behrendsen (tim@airshields.com)