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.3 required=5.0 tests=BAYES_00,INVALID_MSGID 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: 103376,97188312486d4578 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public From: Nicolas Devillard Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/07/31 Message-ID: <31FF8EC8.7650@eso.org>#1/1 X-Deja-AN: 171369603 sender: news@eso.org x-nntp-posting-host: mc14 references: <01bb73e3.1c6a0060$6bf467ce@dave.iceslimited.com> <1996Jul20.124025.122789@kuhub.cc.ukans.edu> <01bb7b06$311fabc0$87ee6fce@timpent.airshields.com> <31FF57AE.52BFA1D7@sh.bel.alcatel.be> content-type: text/plain; charset=us-ascii organization: ESO - European Southern Observatory, Garching by Munich mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada x-mailer: Mozilla 2.02 (X11; I; SunOS 5.4 sun4m) Date: 1996-07-31T00:00:00+00:00 List-Id: P. Cnudde VH14 (8218) wrote: > As a project leader in IC design at Alcatel, I agree fully with Alan. > > Software knowledge is being considered more valuable than knowing how a > transistor works. This will even become more and more the case in the > future. And I see no problem in giving first a course in IC design > and only later going to transistors. Abstraction is the point which > is difficult to learn. When we design a new asic we almost never think > about resistors etc, understanding the behaviour of the chip is where the > real problem is. To my oppionion the same holds for software design. Assembly > language is no longer really needed. If you have the knowledge it can be usefull, > but is it really worth the effort ? Software design, whatever it is, should at one moment be aware of hardware constraints. These constraints can only be understood by knowing what computer guts look like. You can stay at a very high-level of abstraction, accumulating underlying layers of software, and eventually you will end up with monsters such as MS Word, a gigantic, slow, buggy code needing a powerful workstation just for word processing... Or even worse: you will only think in terms of abstract functionalities, reuse an old piece of software library, and when you realize the hardware constraints are not the same, Ariane 5 already exploded. Designing software without knowledge of computer electronics at all is like architecture without knowledge of structure mechanics. You can dream a lot when designing, but many constraints bring you back to reality, and among them you should be able to understand hardware ones to take them into account. Furthermore, learning how ASIC's and microprocessors work is quite fast, easy, and does not require much knowledge. It is in majority a question of conventions. My 5 cents opinion, though, certainly not a definitive view. ;) --Nicolas