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 X-Google-Thread: 10db24,4cf070091283b555 X-Google-Attributes: gid10db24,public From: seebs@solutions.solon.com (Peter Seebach) Subject: Re: What's the best language to learn? [was Re: Should I learn C or Pascal?] Date: 1996/08/14 Message-ID: <4urmvu$dfp@solutions.solon.com>#1/1 X-Deja-AN: 174068510 references: <4u7hi6$s2b@nntp.seflin.lib.fl.us> <4uo74j$95p@ns.broadvision.com> <01bb8950$2c8dcc60$87ee6fce@timpent.airshields.com> organization: Usenet Fact Police (Undercover) reply-to: seebs@solon.com newsgroups: comp.edu,comp.lang.ada,comp.lang.c,comp.lang.c++,comp.unix.programmer Date: 1996-08-14T00:00:00+00:00 List-Id: In article <01bb8950$2c8dcc60$87ee6fce@timpent.airshields.com>, Tim Behrendsen wrote: >This is a perfect example of how students are being graduated >without fully understanding what programming is all about. The >phrasing is perfect: "I learned it..., but didn't understand it." >*This is how it happens!* We have absolutely no mechanism here, of course. >I interpret this to mean that he was struggling with all the >abstractions while trying to master the concept of "thinking >like a programmer". Meanwhile, they are packing algorithm after >algorithm into his head when he is not prepared to understand >what they are packing. I am not sure I buy your interpretation. Thinking like a programmer is largely a matter of learning to find useful abstractions. How do you write code to test whether a number is even? Well, you do it by looking at what evenness is, and looking for what characteristics it has that would help you. >Now, what if they had started ol' Darin off with some very >simple concepts in assembly, really showed him the procedural >nature of the computer, data flow, data transformations, etc., >and *then* moved on to algorithms such as Quicksort. You >just plain can't fail to understand what's going on! But he would have been completely unprepared for whole families of computer languages. If they'd started him off with explaining, in his native language, how to sort things, and given him sample sets of cards to sort, while following each of a set of descriptions *in his native language*, he would have understood quicksort. You keep using assembly as an example of what the basics of computing are like. Please explain how this is a better model *of the problem domain* than lisp or C. Why should students try to learn machine-level and program-level at the same time? If you want them to start with architectures, don't start them on algorithms, start them on trivial data manipulation in assembly. -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.