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: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public From: seebs@solutions.solon.com (Peter Seebach) Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/08/06 Message-ID: <4u8lff$3bs@solutions.solon.com>#1/1 X-Deja-AN: 172559200 references: <01bb8342$88cc6f40$32ee6fcf@timhome2> <01bb83cc$fb35e180$87ee6fce@timpent.airshields.com> organization: Usenet Fact Police (Undercover) reply-to: seebs@solon.com 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 <01bb83cc$fb35e180$87ee6fce@timpent.airshields.com>, Tim Behrendsen wrote: >The question is (or has since become), is it better to start a >student learning the fundamentals, i.e. assembly and the internals >of computers, and then move on to abstracts; or is it better to >start with abstractions such as C or C++ and perhaps never give >the fundamentals, since "compilers are so good nowadays that >it's useless to know assembly, and in fact, can be dangerous." What makes you think assembly is a fundemental? Abstraction is *the* fundemental tool we have. Assembly is not fundemental by any stretch of the imagination. Learning the principles of computing machines would be helpful. Seeing them demonstrated on a specific machine might be helpful. But assembly is not the only way, or the best, to teach these fundementals. >I say that based on my experiences testing people straight out of >college (BS, MS, or PhD, makes no difference), we are packing >their heads so full of abstractions that they are unable to think >anymore. I think it's much better for students to learn pure >algorithmic analysis without all the abstraction distractions that >can be better learned later on, and learned easier. What are you *talking* about? Algorithmic analysis is fundementally an abstraction. Rather than looking at the *specific* costs of the algorithm, we look at the *kinds* of costs. N^2 vs. log(N) complexity is entirely an abstraction. >Perhaps a better question is, which is more important: Learning >abstractions or algorithmic analysis? I say that algorithmic >analysis is 10 to 1 more important than abstractions. "Learning English is 10 to 1 more important than learning any language." -s -- Peter Seebach - seebs@solon.com - Copyright 1996 - http://www.solon.com/~seebs Unix/C Wizard - send mail for help, or send money for consulting! The *other* C FAQ, the hacker FAQ, et al. See web page above. Unsolicited email (junk mail and ads) is unwelcome, and will be billed for.