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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham 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: 103376,97188312486d4578 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public From: Steve Howard Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/09/03 Message-ID: <322C7A41.5470@mtm.syr.lmco.com> X-Deja-AN: 178246197 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=us-ascii organization: Lockheed Martin Ocean, Radar & Sensor Systems - Syracuse mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada x-mailer: Mozilla 2.02 (WinNT; I) Date: 1996-09-03T00:00:00+00:00 List-Id: deafen@imap2.asu.edu wrote: > > 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. > This is not unique to students. Those of us in the "business" have to do this as well. This is, in fact, true with almost any profession (law, medicine, etc.) The state of the art is constantly changing, and the most valuable professionals are those who know both how things are currently done and how the industry is progressing. This is one of the reasons that there are so many professional programming journals and magazines. > 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. > I don't think students have a unique claim to this, either. I believe that it was as hard for me to change from what I learned in college to what was done on my first job 10+ years ago than it will be for someone graduating today. The same will probably true 10 years hence for the kids graduating then. > 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. > Learning the Windows API may be important to get a specific job, but what if the only jobs available are for Unix or Mac developers. The basic concepts for programming a Unix GUI or the Mac GUI are essentially the same conceptually as Windows, but vastly different in the details. > 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. > Which state of the art would that be? Opearating system design for the newest parallel processor? Java development for Internet applications? C++ for Windows development? Assembly or Ada development for embedded microprocessor systems? All of these tasks are going on today, as well as a million more. To teach all of these things to every student so that s/he could walk into a job and start right away would be impossible. All of these tasks share some common base of "fundamental" concepts. Teaching these fundamentals would allow a new hire to adapt to them quickly. Familiarity with the more specific concepts might be desireable, but IMHO the details will be out of date an hour after they are taught. In addition, I suspect that much (most?) of the work out there in the computer field is somewhat distant from the state of the art. A lot of it is integrating data from existing systems with new systems.... maintaining legacy applications and code... adapting systems to new operating environments... etc. > 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 as I see it is that the new stuff changes far too fast to teach. It is a moving target, and if the wrong "state of the art" is taught, you have a bunch of grads who lack both the fundamentals of software development, and lack training in the development methods currently in vogue. Teaching the fundamentals will rarely miss the mark, since it is the historical basis for all of the state of the art. -- E. Steve Howard | Lockheed Martin | Ocean, Radar, & Sensor Systems mailto:howard@mtm.syr.lmco.com | Syracuse, NY