Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!spool.mu.edu!sol.ctr.columbia.edu!ucselx!ucsd!ucrmath!rhyde From: rhyde@ucrmath.ucr.edu (randy hyde) Newsgroups: comp.sys.apple2 Subject: Re: Choosing a language (ML vs HLL) Message-ID: <14094@ucrmath.ucr.edu> Date: 1 May 91 18:40:43 GMT References: <8867@crash.cts.com> Organization: University of California, Riverside Lines: 49 >> (paraphrased)... I can code faster in assembly than most HLL programmers >> can in their HLL.... You coule probably program faster in a HLL than they could as well. If you're a better programmer (and good assembly language programmers are generally better programmers than most, in *any* language) you'll be able to program faster than most programmers, period. In my experience, most programmers are not all that good (if they were, we would have to raise the standards a bit, eh?). Personally, I feel that the language of choice *can* make a significant difference in the coding time. A program which ICON, SNOBOL4, or AWK is suitable for would be miserable to program in C (or assembly) without the proper library functions *which are not generally available*. Same for APL, LISP, etc. *HOWEVER* as some people are quick to point out, when optimizing things, why concentrate on the things which don't consume the most time. Several of you have used this line against me as a reason why you shouldn't use assembly language, now let me turn it around and use it against you. In a *real* project, coding represents a small percentage of the time. Other factors such as testing, debugging, optimizing, and *especially* documentation consume the most time. On very large projects, documentation consumes as much as 70% of the total project time. Project leaders on defense contracts can support this figure (BTW, I'm not making these numbers up, I teach software engineering at Cal Poly Pomona, several texts cite these numbers). Figuring you can reduce development time by using an appropriate HLL or VHLL may be misleading, you may only be saving 7.5% of the total time. Furthermore, writing in assembly in the first place makes opti- mization easier (though debugging may be more difficult for the inexperienced). Of course, this applies to large projects. Large projects require many programmers working together. Using assembly language in such a setting would be a disaster because it is next to impossible to get that many *good* assembly language programmers together for the project. To those who claim that C is a more appropriate vehicle than assembly, I offer this word of advice-- stick with C. If this is your attitude, it's clear that you probably shouldn't be messing with assembly without a lot more practice. To those arguing for assembly, keep up the argument, perhaps you can convince a few more people to learn assembly which will make them better programmers, even when they write in HLLs. As for the Learn ASM or HLL crowd: from personal experience I can tell you, HLLs are the only way to go. Good, motivated, intelligent people can pick up anything in any order and sort out the details themselves. Unmotivated people, on the other hand, need the hand-holding that a HLL provides (BTW, C is a lousy language to teach to beginners. It does very little hand holding).