[plt-scheme] xxx chooses MzScheme as preferred language

From: Edmund Dengler (edmundd at eSentire.com)
Date: Sat Jun 3 22:22:59 EDT 2006


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.


Posted on the users mailing list.