Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!decwrl!apple!motcsd!lance From: lance@motcsd.csd.mot.com (lance.norskog) Newsgroups: comp.object Subject: Re: Documenting OO Systems Message-ID: <3481@engadm3.csd.mot.com> Date: 26 Mar 91 02:00:52 GMT References: <9103070342.AA07462@.nextserver.cs.stthomas.edu.cs.stthomas.edu ..> <1114@tetrauk.UUCP> <271@orbit.gtephx.UUCP> Distribution: comp Organization: Motorola CSD, Cupertino CA Lines: 44 jls@rutabaga.Rational.COM (Jim Showalter) writes: >I'll be damned: it only took the C community 25 years to realize something >that has always been intuitively obvious to language designers/trainers--that >English language words are superior to cryptic symbols. NEXT they'll realize >that "begin" and "end" are preferable to '{' and '}' and, with just a few >more similar realizations like this, they'll turn C into something closely >resembling Pascal. Memory and symbol processing operate largely by association. What you're advocating leads to operator overloading. If you use the same symbol in different contexts, you generally don't get confused. But, differences are gradual. Where two different contexts are almost exactly the same, using the same operator can cause severe confusion. If you want someone to learn a new totality of discourse, it's often better to come up with a completely new symbol system to avoid confusing your use of this or that symbol with a previously learned one. In other words, it's better to use 'cp' to copy a file because 'copy' means many things in many places. As an example, take the DOS and UNIX command line prompts. DOS "sampled" UNIX egregiously, but changed everything slightly. When I was showing Dad how to copy files, I showed him how to do wildcards. UNIX wildcards. The contexts were similar enough that I attempted to apply my vast and amazing UNIX knowledge to DOS, and of course it didn't work. Now, if DOS had said 'frip file1.^^^ file2.^^^' makes a copy of all files starting with file1 called file2 with the same extensions, I would have had no problems. This is sufficiently different that I would have looked it up in the book first. This points up a big problem with GUI's (Grand Unified Interfaces :-) wherein two different programs implement the exact same command set (the common user interface) but do completely different things. If two different programs really implemented the same UI, they would be the same program, right? To wander back to the subject of objects, making C into C++ left C behind and created an even bigger mess, because it tried to stay within the mental context which understands C syntax. Lance