Re: rough first impressions
Raffael Cavallaro <[email protected]> Tue, 15 Apr 2003 16:59:37 -0400
| Newsgroups | gmane.comp.lang.goo.general |
|---|---|
| Message-ID | <[email protected]> |
On Tuesday, April 15, 2003, at 04:42 PM, Michael Schuerig wrote: > I don't see what's > wrong with several "sugared" surface representations of a language as > long as there is a canonical representation as well. First, realize that the multiple representations approach has actually been patented, which raises legal issues as to whether or not you can design a language to use this feature without licensing it. Second, whatever the individual users' preferences, the language designer has to be concerned primarily with the canonical representation. I submit that history has taught us that the canonical representation should err on the side of verbosity, not terseness. Resources are increasing by leaps and bounds, so tying the length of identifiers to current aging hacker notions of "reasonably short" is a recipe for a language that will quickly become a write-only curiosity. This is just falls out of the general principle that programmers should offload as much work as possible to the computer, not take it upon themselves. Keyboard macros are the way to make typing easier, not forcing others to read cryptically short identifier names. > > I'm sure there are several people who are using keyboard macros to > insert boilerplate code such as (define-method ...). I'm sure you don't > insist they type it out character by character. I don't insist they do anything, but think how bad one's typing skills must be that typing "define-method" significantly slows you down. > The same goes for, say, > dm. Some people are fully content of typing and seeing just those two > characters. Others want to see something more distinctive instead > (can't say if they also want to type more). But this is all about *reading* the code, not typing it (or using keyboard macros). Having the canonical representation of language keywords be based on single character differences is like recasting perl as a write-only lisp. Raf Raffael Cavallaro, Ph.D. [email protected]