On Feb 21, Guillermo J. Rozas wrote:
> 
> On Feb 21, 2009, at 5:38 PM, Eli Barzilay wrote:
> 
> >> I'd rather conform to what ordinary people are used to than what
> >> to programmers in other languages are used.
> >
> > The "English" and the "what ordinary people are used to" arguments
> > only takes this back to the starting point.
> 
> I have no idea what you are talking about here.  What starting
> point?

The fact that *most* "ordinary" people don't use a language with a
notion of upper and lower case.


> > I don't know what turned you on to Scheme (or what made you leave
> > it), but for me it definitely was not the fact that it was
> > case-insensitive.
> 
> Nothing made me leave it.  It is still my favorite language.

(You began with "I no longer consider myself actively working on
scheme".)


> > All of these are good points for Scheme, but completely unrelated
> > to the case issue.  If you want to be a non-conformist for the
> > sake of non-conformism then I'm sure that there is plenty that
> > could be done for the language in that direction.
> 
> No.  The point is that conforming to what other languages do is a
> very weak argument for Scheme, as it is _very_ different.

Not when you get to talk to these other languages.  When you "talk" to
xml or to a dll, case-sensitive symbols and identifiers make things
much more convenient.


> I'm not asking for new 'incompatibilities'.  I'm just asking that
> the language not be changed spuriously.  The hurdle should be very
> high.

(I think that the amount of flames on this subject in any kind of
Scheme related forum pretty much guarantees that it was not a
"spurious" change.)


> > So on one hand you argue for case-insensitivity because it's "what
> > ordinary people are used to", and on the other you argue about for
> > case insensitivity because it doesn't conforms to what
> > "programmers in other programming languages expect"?
> 
> No.  Non-conformism is not a goal.  Being different is not a goal.
> But being the same is not a goal either.  Thus changing because
> other programmers expect it is not a goal.

The two goals that matter to me wrt case-sensitivity have nothing to
do with what other programmers expect.


> However, for a primarily teaching language, making it easier to
> teach to people who don't already program is important.

A point that I made in the other post is that I really don't see where
is the big teaching benefit of case-insensitivity.  I really don't.
Perhaps it's the fact that I learned a different alphabet before I
learned the one with 26 letters.

But you know what?  I'm officially declaring myself tired of this
"primarily teaching language" myth.  I've been fighting way too many
years with people who had this misconception of "yes, it's a cute
language to learn programming with, but you must be joking if you
expect me to use it in a *real* application".  I'm sure that there are
plenty of people around who have similar experience.  In the
registration for voting on R6RS I said:

| "Scheme" as a language suffered loss after loss to many inferior
| languages (shell scripts, miscellaneous extension languages, TCL,
| Perl, JavaScript, Python, and many more).  A few projects that have
| been using Scheme would suffer the same problems, some died (SCWM),
| some switched their focus away from Scheme (Gimp).

I take the "primarily teaching language" as one of the biggest
contributions to these failures.

So yes, it is a good language to teach -- and I continue to do so.
But it's a damn good language to use for the rest of your professional
life as a programmer, and keeping people as active Scheme users is
much more important to me.


> After all, programmers are used to each language having its own
> peculiarities.

Yes -- and designers are used to trying to get the amount of
peculiarities smaller when not needed.


> > I take the last part as much more important when it comes to
> > identifiers -- their syntax is not something that should "leak"
> > out to the end user in any way, so "what ordinary people are used
> > to" is a much weaker argument than "what ordinary programmers are
> > used to".
> 
> What ordinary people are used to is important for a teaching
> language.
> 
> Programmers are far more adaptable.

[*cough*] In the part of this argument that revolves around fitting
other languages, the part that is important is, for example, accessing
a function from a dll or spitting out an xml identifier.  These
"programmers" are therefore the people who designed these
case-sensitive interfaces.  They're certainly very far from
"adaptable".


> > On Feb 21, Guillermo J. Rozas wrote:
> >>
> >> And with respect to () vs. #f, the jury is still out.
> >
> > [I'm glad I didn't drink anything hot when I read this.]
> 
> You startle easily.

Change that to "easy to amuse".

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to