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: 1014db,a03ae7f4e53958e1 X-Google-Attributes: gid1014db,public X-Google-Thread: 114809,a03ae7f4e53958e1 X-Google-Attributes: gid114809,public X-Google-Thread: 103376,8775b19e3c68a5dc X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,a03ae7f4e53958e1 X-Google-Attributes: gid109fba,public X-Google-Thread: 1094ba,a03ae7f4e53958e1 X-Google-Attributes: gid1094ba,public X-Google-Thread: 10d15b,328622178ec8b832 X-Google-Attributes: gid10d15b,public From: udaa260@alder.cc.kcl.ac.uk (Ian Chivers) Subject: Re: Which language pays most -- C++ vs. Java? Date: 1998/02/02 Message-ID: #1/1 X-Deja-AN: 321315550 References: <6at330$7uj$1@mainsrv.main.nc.us> <34D22794.1DEE0535@platinum.brooks.af.mil> <6atbro$jnd$1@brie.direct.ca> Organization: Kings College London Newsgroups: comp.lang.c,comp.lang.c++,comp.lang.fortran,comp.lang.cobol,comp.lang.smalltalk,comp.lang.ada Date: 1998-02-02T00:00:00+00:00 List-Id: In article <6atbro$jnd$1@brie.direct.ca>, bill@cafe.net (Kaz Kylheku) writes: > In article <34D22794.1DEE0535@platinum.brooks.af.mil>, > Charles W. Hall wrote: >>Having worked with assembly code, operating systems internals, and done >>high level programming, I don't think it is relevant for programmers to >>know these sort of things anymore. There is no reason to program in >>assembler directly anymore except for highly specialized cases. The > > Just because you don't use something doesn't mean that you derive no benefit > from knowing it. > >>internals of generated code have nothing to do with designing a >>correctly running program in FORTRAN, COBOL, C, or anyother high level >>language. The operating system software is designed by experts to >>properly handle the compiled code and to perform tasks as paging, >>swapping, and scheduling. These are not the domain of the programmer. > > Not knowing how the paging works could lead the programmer to make > poor choices for accessing some large structure. > whilst it may be possible NOT to know anything about the internal storage of arrays, this certainly helps when your problem has to handle large 2d and above arrays. handling the indices the wrong way would give very bad cache performance, and knowing something about page sizes certainly helps when looking at how badly your program may perform. if you are involved in mixed language programming then knowledge of this is essential. you'd be processing the wrong data. ian chivers king's college london > Scheduling is often the domain of the programmer; if you are working > with threads, it is useful to know what priority inversion is and > what strategies can be used to alleviate it. > >>Criticizing a programmer for not knowing the internals of the operating >>system is like criticizing an automobile owner for not understanding the >>internals of the car's motor. It is not necessary for successful >>operation of the car or computer system. > > That is a poor analogy, because the operator of the car is a mere user. He or > she is not constructing components to be added to the car. > > If someone were adding an air-conditioning system to the car, I might > well expect them to be familiar with the electrical system.