[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rough first impressions




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.
raffaelcavallaro@mac.com