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=3.8 required=5.0 tests=BAYES_00,INVALID_MSGID, RATWARE_MS_HASH,RATWARE_OUTLOOK_NONAME 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: "Tim Behrendsen" Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/08/09 Message-ID: <01bb861d$b5bc2300$87ee6fce@timpent.airshields.com>#1/1 X-Deja-AN: 173238915 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> <4u5a11$siv@mulga.cs.mu.OZ.AU><01bb8342$88cc6f40$32ee6fcf@timhome2> <4u86lc$2gu@mulga.cs.mu.OZ.AU><01bb846d$ <01bb85af$e83cf2a0$32ee6fce@timhome2> content-type: text/plain; charset=ISO-8859-1 organization: A-SIS mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-08-09T00:00:00+00:00 List-Id: Stephen M O'Shaughnessy wrote in article ... > In article <01bb85af$e83cf2a0$32ee6fce@timhome2>, tim@airshields.com says... > > >I think a more correct analogy is the current and voltage > >are the underlying hardware, and the tools are assembly. > >HLLs are like prefab walls you slap together to build the > >house. Now, you can build a lot of houses that way, and > >they will be generally be built well. But if you want to > >understand how houses are put together, you have to go to the > >fundamental tools, with an understanding of structural > >dynamics. > > > >-- Tim Behrendsen (tim@airshields.com) > > I still have trouble with your definition of assembly. An assembly language > is just the one for one translation of the machine code. For the 8051 > > mov 90h,#0ffh is the machine code 75 90 FF > > This is directly voltages existing in the hardware (bits). In this sense > assembly is the hardware. My position is that I don't need to know > hardware specifics to learn algorithms and programming. Certainly I don't > need that understanding FIRST. And my boss, customer, > or whomever, does not care about my understanding as long as I can > deliver a well built product. Which, as you pointed out above, I can do. It's not a question of whether you "need to know" assembly to learn, it's a question of what's best. In my experience, CS students are being graduated without the necessary skills to build "well built products". We have the world you're describing, and it's not working. CS graduates quite simply are not being taught to think like programmers, that is, in an efficient procedural way. -- Tim Behrendsen (tim@airshields.com)