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.4 required=5.0 tests=BAYES_50,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: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public From: Conrad Herrmann Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/08/06 Message-ID: <32077C32.5243@wpo.borland.com>#1/1 X-Deja-AN: 172489112 references: content-type: text/plain; charset=us-ascii organization: Borland International mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada x-mailer: Mozilla 3.0b4 (WinNT; I) Date: 1996-08-06T00:00:00+00:00 List-Id: Alf P. Steinbach wrote: > .... > The argument against disregarding or hiding the concrete (levels n-1, > n-2 etc. when you are learning about level n) is simply that the > particular instance of a level n you're learning about was abstracted > from the concrete levels, and your understanding of level n will be > lacking if you don't know anything about the concrete, the *why*s of > the solutions and abstractions at level n. It's like saying "Do things > this way, follow the cookbook recipes, but for God's sake don't try to > understand it: that will lead you into temptation and severe trouble". > Likewise, disregarding higher level abstractions is just as silly. > In many cases, solutions at a level n are guided by higher level > abstractions -- the "ideal" -- and fit as best possible to n-1. > > - Alf To continue your analogy: Cookbook recipies are often a good way to start learning how to cook, since they describe a process that can actually be executed by someone who doesn't understand fully what they're doing. It would be terribly frustrating to have to start with sowing seeds, reaping the harvest, milling the wheat, etc. before you could graduate to the breadmaking class. One of the things I enjoyed about the Joy Of Cooking is that it had a healthy dose of beginner's cooking theory in separate sections, but they didn't keep me from finishing the chocolate cake (yum). Still, I'd say that one cannot learn programming without being able to break out of the "recipe" mentality and understand what's going on. I started by copying Adventure listings out of Byte magazine (in Basic), but didn't stop there. -- Conrad Herrmann (Borland C++)