[Shootout-list] request to put MLton on "The Usual" page

John Skaller skaller@users.sourceforge.net
Wed, 08 Jun 2005 16:56:12 +1000


On Wed, 2005-06-08 at 07:44 +0200, Bengt Kleberg wrote:
> On 2005-06-08 07:28, John Skaller wrote:
> ...deleted
> > I do not like the 'Usual'/'Greater' split at all. For me it 
> > destroyed the work I put in, because it fails to allow
> > a system to compete on merit.
> 
> i think i understand this feeling. the reason i want to change the 
> shootout to a design that allows more ''n'' is that the current narrow 
> focus makes it neccessary to have artificially hobbled test. these tests 
> does not allow more meritorious languages to show what they can do since 
> that would make the worse languages fail.

I should say here that 'merit' is not a monolithic concept:
a language like Python can be horrendously slow and a ridiculous
choice for a compiler project -- but is just superb in other
respects. So by 'merit' I would really mean that the Shootout
ought to show the strong and weak points of each system,
for surely none are yet best at everything :)

Indeed some systems may not win on any one feature,
but still be the best choice for a project because they
do reasonably well on all features: Erlang is possibly
such a language, it is sluggish in performance, but it
is very flexible, communication and process oriented,
and designed to scale to very large code bases and
distributed real time systems where only moderate 
performance is required -- characteristic requirements
for networking and telecommunications applications.

I would hate to see Erlang thrown out -- because it
is such an *interesting* system. Indeed, Felix is 
partly inspired by Erlang, since it was also designed
for a telecommunications environment -- it trades
off some of the flexibility (mobility in particular)
in favour of much higher performance and seamless
C/C++ integration.


> ...deleted
> > I would rather see ONE web site, and a way of filtering
> > the huge set of language and tests to show a smaller
> > data set that is more comprehensible.
> 
> i think that the 'Usual'/'Greater' split is such a filtering. it is just 
> not done on merit, but on some other data point. that data point is 
> presumably documented somewhere, but i do not know what it is.

Yes, but it is a single 'fixed' filtering and not done
from a common homepage. If you Google for the shootout and
end up in the 'Usual' website you will have a hard time
even knowing that the 'Greater' web
site also exists -- knowing it exists AND that the link
was somewhere in the misnamed 'FAQ' it still took me a lot
of time and effort to actually locate the link.

Weirdly, the 'language of the week' is featured on 
the Usual web site .. even though the featured language
may not be on that site -- this happened with D.

IMHO D should be on the main site because it is 
demonstrably a serious contender for a successor
to C++ .. not because it is popular. That is cyclic:
it isn't popular because few people know about it,
which is because it isn't visible on the Shootout .. 

Don't underrate the Shootout -- a single article
on slashdot refering to Ocaml and the Shootout
virtually *doubled* the number of people interested
in Ocaml overnight a while back. I'm not kidding!
On that day, for me, Ocaml became a mainstream language.

As far as I can see the split is nothing more than a way
to 'get rid' of languages the admins of the Shootout
aren't interested in without totally pissing off 
those people interested in slightly less than popular
languages that they haven't chosen.

>From my point of view you might as well just get rid of
the Greater site completely -- the only people that will
look at it are contributors of tests for the minor
languages (because they happen to know the site exists).

Felix was put on 'Greater' primarily because it doesn't
have many users. Not many people are interested in it.
Not many people even know about it. And of course that
is circular -- the main reason I chose to work on Shootout
tests was to ensure it met reasonable requirements, and there
is no doubt in my mind that Guido van Rossum was right
when he told me that having a large user base is vitally
important for that. So I am even more interested in showing
off Felix by having it in the Shootout so as to attract
the users needed to actually get the system to be really
good.

I was actually going to say that 'advocacy' and 'marketing'
were secondary to improving the technical quality, but that
isn't at all correct -- given Guido's comment, promoting
the system is actually the best means of obtaining technical
quality, especially for a community oriented open source
project. *Unlike* other open source translator projects,
the very definition of the language 'Felix' is still very open.
Although I commend Python with its Pep system, there is still
a fairly conservative idea of what 'the Python way' is.
Systems like GHC/Haskell are constrained,
because there is a standard to follow. This also applies
to C++ where the development process is a bit expensive
but reasonably open (anyone can join the American body,
even a non-American, and that is enough to participate
based largely on merit of ideas).

I have put a lot of work into the Shootout aspect of
promotion of Felix well before it has a large number
of users DELIBERATELY. I am sick of systems where the process
is opened up to working programmers so late in the development
that it is no longer possible to influence anything significant.

So I would argue, in fact, that Felix is even more
deserving of inclusion in the Shootout than ANY other
language including not only MLton but also even C.
There are lots of free/open source language translators
out there .. but Felix is the first open *language*,
and it targets the heart of the mainstream development
community squarely -- C/C++ developers.

At this stage, Felix is like D, Java, C++ and other
systems were when there were only a handful of developers
and users .. and historically these projects grew slowly at 
first then picked up speed as they stabilised .. and I'm
trying to AVOID that here: if the design is stabilised
BEFORE there are lots of interested people, what can those
people do but complain about it? It is very hard to include
new ideas in a stable system with lots of users -- we as
humans simply don't know enough about modular computer
language design.

-- 
John Skaller, skaller at users.sf.net
PO Box 401 Glebe, NSW 2037, Australia Ph:61-2-96600850 
Download Felix here: http://felix.sf.net