[plt-scheme] xxx chooses MzScheme as preferred language

From: mvanier (mvanier at cs.caltech.edu)
Date: Sat Jun 3 23:45:28 EDT 2006


I agree with all your points, but you've omitted one that is relevant to PLT 
Scheme and Scheme in general: a lot of programmers simply detest parenthesized 
syntax on first glance.  Choosing programming languages is a bit like choosing a 
mate: if the first impression is negative, the person gives up and looks 
elsewhere.  I remember reading once that Standard ML had suffered a lot because 
unary minus is "~" instead of "-".  I have a researcher friend who gave up on 
Ocaml because it ends expressions in double semicolons (which actually is only 
needed when used interactively, but he never got far enough to find that out).

I've heard that the PLT folks are working on a more "conventional" syntax (which 
looks javascript-ish to me).  I think this is a Very Good Thing, not because I'm 
in love with conventional syntax, but because it softens the barrier to entry. 
After programmers use the conventional syntax for a couple of years, they will 
probably start to realize that the more uniform standard Scheme syntax is 
superior in many ways, and by then they're part of the community.  Or maybe 
they'll stick with the conventional syntax -- so what?  They're using a 
garbage-collected language with higher-order functions, macros, built-in support 
for lists, continuations, etc.  I would certainly rather hack on a 
conventionally-syntaxed Scheme than a conventionally-syntaxed <insert any lame 
popular scripting language>.


Edmund Dengler wrote:
> Greetings!
> On Fri, 2 Jun 2006, Abdulaziz Ghuloum wrote:
>> I don't buy that performance doesn't matter; it's just not as important
>> as the other factors for people using PLT software.
>> I would guess that the largest portions of PLT users are students who
>> use DrScheme as part of their coursework.  Performance is perhaps the
>> last thing to matter for this group.  Casual programmers who play with
>> Scheme every now and then while reading SICP/HtDP don't care about
>> performance either.  People writing web-based applications and related
>> stuff don't care either since the bottleneck for these applications is
>> usually the speed of the network/database/... .
>> What remains is perhaps less than 1% of the Schemers who do care about
>> performance because their applications demand it.  To be popular, you
>> better focus your effort on catering to the needs of 99% of users.  The
>> other 1% can use whatever other implementation/language with negligible
>> overall effect on PLT's popularity.
>> Aziz,,,
> As somebody who develops systems, and who talks to plenty of companies and
> individuals that develop, I can tell you there are a large number of
> practical engineering concerns that drive selecting a language. This
> ranges from performance ("it's not fast enough"), resource usage (too much
> memory being a big one - when you start to swap, things really die, or you
> need to fit lots of things in memory), library support ("I have to write
> too much myself", "no database/gui support"), whether the language is
> going to be around in a couple of years, whether you can actually produce
> a standalone binary, and can you get developers.
> Note that Java is _still_ argued against because of both performance and
> memory utilization (and note - while Java has gotten better, on a number
> of systems these two still kill - OpenBSD anybody?), which are much better
> than MzScheme.
> A number of projects which were desired to be done in Python were dumped
> by various groups for purely performance reasons.
> Note that acturial science used APL (of all languages) for quite few years
> beacuse of the ability to do fast calculations. This flies in the face of
> people who claim that users will never use exotic technologies - if it is
> useful, they will learn to live with it.
> In this case, MzScheme wins on library (could always be more, but not too
> bad) and longevity (it looks like it will be around for awhile). Not sure
> the standalone support is really there yet. _But_, definitely loses on
> performance/memory and currently developer availability.
> As they all say, there are three types of lies: lies, *** lies, and
> statistics. I would say that there are probably more users who might have
> used MzScheme _if_ performance/memory had been reasonable than there are
> current users (this is a completely WAG, but on the other hand, I know
> quite a number of decent developers who are bemoaning the lack of anything
> better than C/C++ or Java for realistic systems). By that measure, over
> 50% (I would still raise this even more) cared about performance, but
> didn't stick around to be counted in the current user survey.
> Regards!
> Ed
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.