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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC 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: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public From: cjsonnack@mmm.com (Chris Sonnack) Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/08/05 Message-ID: <4u54so$m6i@dawn.mmm.com>#1/1 X-Deja-AN: 172262648 references: <01bb73e3.1c6a0060$6bf467ce@dave.iceslimited.com> <1996Jul20.124025.122789@kuhub.cc.ukans.edu> <01bb7b06$311fabc0$87ee6fce@timpent.airshields.com> <31FBC584.4188@ivic.qc.ca> <01bb7da2$6c505ac0$96ee6fcf@timhome2> <01bb8027$de0e9c80$96ee6fcf@timhome2> followup-to: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada organization: 3M/IT/EIS (St.Paul,MN 55144) reply-to: cjsonnack@mmm.com (Chris Sonnack) newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-08-05T00:00:00+00:00 List-Id: Tim Behrendsen (tim@airshields.com) wrote: > Let's try a thought experiment. We take two students; Jane is taught > assembly from day 1 for two years. John is taught C for two years. > Both are exposed to identical curriculums of algorithmic analysis, > data structures, etc. > > Two years later, they switch roles. Who will learn the other's skills > the easiest? Like many I started with BASIC. But then, starting with Knuth's MIX, I spent years in various assemblies (Z80, 8086, etc). When I got to C, I had no problems at all with pointers. In fact, one of my favorite things about C is the pointers. And pointers to pointers. And pointers to .... well, you get the idea. Now I sometimes teach C, and I've observed time and time again that a student with assembly background picks up the language //much// faster than someone with, say, a BASIC (or even Pascal) background. A common question the latter students ask is, "Why do I want pointers? What good are they??" Those with assembler background already know the value and utility of references. Of course, it can be explained. Of course, in time, they'll get it. But if you've "lived in the metal", I've found you'll understand the higher level stuff much faster and surer than those who see it as a "black box". -- Chris Sonnack http://eishcq.mmm.com Engineering Information Services/Information Technology/3M, St.Paul, Minn ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TODAY'S RULE: No Smoffing or Fnargling! Opinions expressed herein are my own and may not represent those of my employer.