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

Re: Diversity - existence, value, and pursuit.

I agree with you about programmable syntaxes.  I think the
worst case scenario would not be as bad as you might think.
Designing the syntax you were going to program in would be
just one more aspect of program design.  

The arguments for and against giving people control of 
syntax are the same as for and against macros:

pro: you get shorter, more elegant programs
     (without macros, you're writing macroexpansions)

con: each person is writing in his own language

Good programmers tend to use macros so that pro outweighs
con.  If given programmable syntax they'll do the same.
Boneheads might use programmable syntax to create unreadable 
programs, but they already do.


--- Michael Vanier <mvanier@bbb.caltech.edu> wrote:
> > Date: Sat, 1 Dec 2001 01:30:58 -0500
> > From: Mitchell N Charity <mcharity@lcs.mit.edu>
> [snip]
> > 
> > Often overlooked are education research's big 4 results of (1)
> people
> > have deeply varied internal representations and cognitive
> strategies,
> > (2) thus the effectiveness of particular information presentation
> > strategies varies greatly among users, with global optimums
> generally
> > non-existent, (3) teachers pervasively overrate the success of
> their
> > favorite strategies with their students, and (4) ignoring
> observations
> > 1 thru 3 is very popular, and robustly so.
> > 
> Which is why, in my Ideal Programming Environment (TM), the choice of
> syntax would be up to the user.  For instance, you could say "I like
> scheme
> semantics, but I'd prefer python/java/C/whatever syntax, for reasons
> deeply
> buried in my subconscious or based on my problem domain".  I would
> say
> fine, use the syntax you're happy with.  I have yet to see a language
> that
> truly supports multiple syntaxes, although it's a stated (unrealized)
> goal
> of Guile scheme.  If this were realized, the best and worst cases
> would be:
> worst: Every user has his/her own private syntax, and nobody can read
>        anybody else's code.
> best:  After an initial period of confusion, a few "canonical"
> syntaxes
>        develop which are each adopted by a large pool of users (e.g.
> scheme
>        syntax, pythonish syntax, c-ish, etc.).  All can be translated
> into
>        each other, and the syntaxes all are translated into some base
>        representation (e.g. S-expressions).  Projects can even mix
> modules
>        using different syntaxes, since the underlying semantics are
> the
>        same.
> I see no reason why this couldn't be done.
> Mike

Do You Yahoo!?
Buy the perfect holiday gifts at Yahoo! Shopping.