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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public 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 From: smosha@most.fw.hac.com (Stephen M O'Shaughnessy) Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/08/06 Message-ID: #1/1 X-Deja-AN: 172501165 sender: usenet@most.fw.hac.com x-nntp-posting-host: smosha 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> <4u54so$m6i@dawn.mmm.com> organization: MESC mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-08-06T00:00:00+00:00 List-Id: In article <4u54so$m6i@dawn.mmm.com>, cjsonnack@mmm.com says... > >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". > This sounds like the experiment that was conducted many years ago when Apple first introduced the a windows operating system. The debates raged on which was better, the mindless point and click of windows or the more cerebral command line structure of DOS. Researchers found that high school students that used DOS wrote better term papers than those that used Apple/Macs. The results, on further study, revealed that it was NOT the operating system but the quality of the PERSON. In general it takes a sharper person to want to use a command line style. Today few high school students use command line operating systems. And, I venture to say, some are still sharper than others. In terms of learning programming, is assembly language/machine level issues a necessary prerequisite or are people who know these things just more *involved* in their craft?