mlsmith@NADC.ARPA (07/16/84)
gram I was writing,(heavy on tables) I decided to use assembly language. While I do not regret using it, knowledge of it did not help on later machines. BASIC on the other hand changes from machine to machine, BUT subtle changes. Knowledge of one BASIC is an aid in mastering a new version. Nuff Said? mlsmith@nadc.ARPA
GMeredith.ES@XEROX.ARPA@sri-unix.UUCP (07/19/84)
How about another two cents worth? I am vastly more interested in the total control the assembly coder (microcoder) has than in the less optimal, 'easy-to-use' 'higher level' languages, but... Firstly, *everybody* does not want to code in assembly (or, in some cases, microcode). A very large body of people who fall into the general catagory of 'programer' would much rather let someone else's program (read higher level language) take care of keeping track of registers, accumulators, etc. They are not interested in spending time or effort in optimizing routines for either speed or memory use in a particular machine, but rather are content with using a single standardized tool which is 'portable'. If the system offers enough speed and memory to allow for less than optimal (sloppy?) coding, the average person will go that route. Although the compiled object code from higher level languages is assembly language, it is seldom as tight as can be done by writing the assembly code directly. Documentation is a difficult item in assmebly coding, particularly if the code is optimized using cute tricks inherent in the particular machine's operation rather than straight forward code. That sort of thing *can* actually require a page of documentation for a particular short section. On the other hand, I've seen programs in higher-level 'self-documenting' languages that were extremely hard to follow because the writer decided to get cute with types, etc., or just didn't bother to pick easily understood labels. Among the few things I've bothered to read in BASIC (mostly 'way back in Kilobaud, etc.) I've found a disappointing number of items which were difficult to follow simply because of the very sloppy, unorganized nature of the writer's approach. Assembly languages are, of course, unique for each processer which means the writer has to learn each instruction set and be aware of the particular architecture. I don't agree that a knowledge of one machine's assembly coding does not help learn another. The basic concepts and program structures are consistent from one machine to another, though the methods used in implementation vary according to the architecture: I find an awareness of the differences to be helpfull in finding ways to optimize code. Lastly, I find myself getting frustrated by trying to figure out how to use someone else's program (language) and get around what they thought a good selection of tools and such to do what I want. Guy "REAL programers use assembly code (or microcode)."