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: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,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/11 Message-ID: <01bb87d1$e62ddaa0$87ee6fce@timpent.airshields.com>#1/1 X-Deja-AN: 173574488 references: <01bb846c$e51df220$87ee6fce@timpent.airshields.com> <4ug4eh$qn8@zeus.orl.mmc.com> <01bb86f5$f7f8ae40$32ee6fce@timhome2> <4ujdus$7ph@mtinsc01-mgt.ops.worldnet.att.net> 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-11T00:00:00+00:00 List-Id: Craig Franck wrote in article <4ujdus$7ph@mtinsc01-mgt.ops.worldnet.att.net>... > "Tim Behrendsen" wrote: > >Bob Gilbert wrote in article > > > >> I though assembly was an abstraction of the raw instruction set, not > >> exactly the raw instruction set. After all, the assembler allows one > >> to abstract memory locations by assigning names or labels to them, it > >> abstracts the instructions by assigning shorthand pneumonics to them, > >> many allow the abstraction of code fragments which might perform some > >> higher level function by allowing the programmer to implement them as > >> macros, etc. > > > >Well, technically you're right but there is a one-to-one > >correspondance between assembly mnemonics and machine language, > >so there is no practical difference between the two, as far > >as understanding the machine. > > > > Realy? Why stop there? With RISC microprocessors there is almost > a one to one correspondance between instructions and hardware, but > with CISC there is not. There are little programs written in > microcode that run when machine language instructions are executed. > Linked lists were primatives to the old VAX archetecture. And why > stop there, to really understand computers you need to understand > digital electronics. NAND gates, flip flops, inverters, ect. To > understand them you need a background in electronics. You need > to understand how transistors work. My point to all this is you > reach a point of diminishing return. Starting a class on algorithms > with a discusion of Ohms law is ridiculous. Needing to know how > to move values into registers rather than just writing a = b + c; > is not as bad, but its still not needed. To tell you the truth, I think we *should* teach more hardware theory than we do. Maybe then I wouldn't have people ask me if they need to change the IP address on their X terminal with the monitor is changed (Yes, this happened). But to answer your question, the reason is that the microcode is not programmable in any kind of general way by the compiler. -- Tim Behrendsen (tim@airshields.com)