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: 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: "Tim Behrendsen" Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/07/31 Message-ID: <01bb7e92$d5bbcbc0$96ee6fcf@timhome2>#1/1 X-Deja-AN: 171266659 references: <01bb73e3.1c6a0060$6bf467ce@dave.iceslimited.com> <1996Jul20.124025.122789@kuhub.cc.ukans.edu> <01bb7b06$311fabc0$87ee6fce@timpent.airshields.com> 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-07-31T00:00:00+00:00 List-Id: Alan Peake wrote in article ... > >it would be as if EE students were taught IC design in the first > >course, and were only given resisters, capacitors, ohm's law, > >etc. in their senior year, almost as an afterthought! > > Well, it may be going that way. Most of the logic design in my department is > now done in a Hardware Description Language; no-one needs to know about > gates and counters anymore. All they need to know about capacitors is what > types to use for bypassing the gate array chips. This level of hardware > abstraction is a bit like OO in programming. The class libraries will contain > most functions that the programmer is likely to need in much the same way as > the HDL elements are the building blocks for the array chip. > > Sure, there is a need for a few people to understand the nuts and bolts, but > these few will be writing the libraries and designing the silicon i.e., making > the tools. As long as the rest of us can use the tools, what does it matter > how they work? Hmmm... the analogy I would use is the people who string together prefab components are the programming equivalent of VB programmers, who string together prefab dialogs and glue them together with some BASIC code. The VB programmers are not going to be the compiler designers or O/S builders (at that stage in their career, anyway) and the HDL people are not going to be the Microprocessor designers. Certainly there is room in the world for high level and low level people. Also, software design is usually a much more difficult science, since the "flow of execution" is much slower than the flow of electrons, so inefficiency at the circuit level is not as critical. If circuit propagation times are important, a company will still need to call in the nuts and bolts people to take care of business. The latter BTW (off the subject) is my theory of why we have so many standardized components in EE, but standardization has generally failed for CS. EEs have so much signal propagation bandwidth to play with, they can afford to have very general components and not worry about the loss of efficiency. In CS, computer cycles are always important, and thus its very difficult to make libraries that are efficient in a wide variety of circumstances (generalization always costs in efficiency). -- Tim Behrendsen (tim@airshields.com)