Path: utzoo!mnetor!uunet!husc6!tut.cis.ohio-state.edu!rutgers!mtunx!whuts!whutt!mls From: mls@whutt.UUCP (SIEMON) Newsgroups: comp.lang.misc Subject: Re: Readable names Message-ID: <2981@whutt.UUCP> Date: 25 Mar 88 19:57:08 GMT References: <2857@enea.se> <2779@mmintl.UUCP> <2899@enea.se> <3125@pitt.UUCP> Organization: AT&T Bell Laboratories Lines: 39 In article <3125@pitt.UUCP>, jonathan@pitt.UUCP (Jonathan Eunice) writes: > > If your aim is to be precise, symbolic notation wins every time. But > when your aim is to communicate, to be understood, then including the > redundancy is a Good Idea. Not just in natural language, mind you, but > in programming, mathematics, logic, and so on. The shortest statements > can take the longest time to read, because the reader must figure out > what it means, must translate or interpret it at read-time. Isn't this > why math, logic, and some C programs are so hard to figure out? Well, ... A lot math is "hard" because it isn't compact enough. [Classic example, integration a la Archimedes vs. a la Newton. Or more recently, the progress from tensors with scads of indices, through the Einstein summation convention, to Cartan's elimination of coordinates altogether. By the time you get your symbols REALLY compact, you reduce everything to catgeory theory, which is trivial! :-) :-) :-) :-) :-) :-)] Besides their use in algebraic manipulation, the point of "formulas" is that by emcompassing a full context in one visual scope, they give a full "picture" of the problem and its solution. Richard's point about short names used frequently in a limited local scope is exactly analogous to the (good) use of symbols in math. (Yes, there ARE bad uses of symbols in math!) The search for "one-liner" solutions to problems is normally bad, being usually an excuse for "obfuscating" code; but the motivation is often excellent -- you can comprehend, totally, what is going on if it's short enough; otherwise, you flounder. Yes, it may take time, but it's POSSIBLE! The longer something is, the less likely that it can be understood except in a vague (and hence for programming inadequate) way. And short in this case means a measure like page area for reproducing the algorithm. The explicatory "legend of symbols" must be easily seen as well, preferably in the same visual field (as on a cartographer's map). Only if the algorithmic content is almost nil (as in _some_ accounting routines) does it make sense for a computer procedure to be "conversational" in its use of language. Michael Siemon contracted to AT&T Bell Laboratories ihnp4!mhuxu!mls standard disclaimer