[Uk-lispers] Meeting Wrapup

Noel Welsh noelwelsh at yahoo.com
Fri Dec 9 04:35:44 PST 2005


My thanks to Shriram for not one, but two excellent tasks,
and to everyone who attended.  I, unfortunately, had to
leave early but I trust the conversation carried on in the
pub and a good time was had by all.

There was a discussion about language popularity, and 1)
I've got my own opinions on this topic, and 2) I didn't get
to bore you with them at the meeting, so here they are:

Why is Ruby popular?  There are two reasons: it's a small
step from what programmers already know (especially if one
has used Perl or Python) and, more importantly, it enables
one to quickly implement a common type of program (web
applications).  In fact the growth in use is almost
entirely due to Ruby on Rails (the web framework).  See:

  http://www.loudthinking.com/arc/000547.html

Some lessions:

1. Programmers have problems.  Solve the problem well and
they'll use the tool.

2. Timing and marketing are important.  Rails came out at a
good time.  Perl has no good web framework, and Python has
too many (Zope used to be the torch bearer, but people say
it is too complex now, and the other frameworks don't have
enough market share to get lots of developers (Django may
be changing this)).  There was a need, and Rails filled it.
 It also had good marketing, via association with a very
popular web development agency (37Signals).

If one wants to compete in this space, then it is worth
knowing what attracts people.  This event was a comparison
of Rails and Django:

  http://snakesandrubies.com/event/

Reading the blogs of people who attended might be
illuminating.  Start here for many links:

  http://www.loudthinking.com/arc/000545.html

(To be honest I didn't get much insight, but DHH's comments
on DSL have some interest.)

Here's a post explaining why one company switched from
Common Lisp to Python:

  http://reddit.com/blog/2005/12/on-lisp.htm

The arguments should be familiar.

What does this mean for Scheme?  Well, for a start we have
too many implementations (is there really a need for all of
Gambit, Chicken, and Bigloo -- they have slightly different
performance characteristics, but who really cares?) which
dilutes development efforts.  It looks like R6RS will
finally force Scheme to grow up, which will hopefully kill
some of the implementations.

Beyond a certain size the gains from libraries dominate
development time over the gains from a better programming
language.  Python, Perl, and Ruby are close enough that the
libraries are the deciding factor.  Scheme has two
features, macros and continuations, that shift the equation
back towards the language.  This means if you solve a
certain problem really well in Scheme, you can get away
with providing fewer support libraries.

Finally, support is essential.  The documentation has to be
good.  The installation has to be easy.  These are often
neglected, but they shouldn't be.

And now I'll just lie back and wait for the flames to roll
in.... ;-)

Cheers,
Noel

Email: noelwelsh <at> yahoo <dot> com   noel <at> untyped <dot> com
AIM: noelhwelsh
Blogs: http://monospaced.blogspot.com/  http://www.untyped.com/untyping/

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




More information about the uk-lispers mailing list