[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

new language shootout

martinus

3/17/2005 10:53:00 AM

Hi, I have been thinking a bit on creating a new language shootout. All
the available shootouts focus mostly on performance benchmark, I want
one that focuses more on code readability, required time to implement,
or something like that. Therefore I would need quite different
applications. For example "write a multithreaded server that offers the
current time". Any other ideas?

martinus
10 Answers

gabriele renzi

3/17/2005 11:00:00 AM

0

Martin Ankerl ha scritto:
> Hi, I have been thinking a bit on creating a new language shootout. All
> the available shootouts focus mostly on performance benchmark, I want
> one that focuses more on code readability, required time to implement,
> or something like that. Therefore I would need quite different
> applications. For example "write a multithreaded server that offers the
> current time". Any other ideas?
>
> martinus

it seem a somewhat similar idea is here:
http://www.kochandreas.com/home/languag...

BTW, I wonder how do you think to rate the time required to implement
something. I could take a week to write a quicksort in ML, but probably
an MLer could do that in one minute.

martinus

3/17/2005 12:32:00 PM

0

> BTW, I wonder how do you think to rate the time required to implement
> something. I could take a week to write a quicksort in ML, but probably
> an MLer could do that in one minute.

I don't really know right now, but any suggestion is very welcome. Maybe
I just try to find nice programming tasks where design really matters
and performance is pretty irrelevant, and just present the solutions
without any rating.

martinus

Robert McGovern

3/17/2005 1:11:00 PM

0

> > BTW, I wonder how do you think to rate the time required to implement
> > something. I could take a week to write a quicksort in ML, but probably
> > an MLer could do that in one minute.
>
> I don't really know right now, but any suggestion is very welcome. Maybe
> I just try to find nice programming tasks where design really matters
> and performance is pretty irrelevant, and just present the solutions
> without any rating.

Get the creator of each language to write the code? Really come up
with a decent small but complex task and approach Wall, Gosling, Matz,
Guido, Straustrope(?) and so on and ask them if they would be willing
to participate. They could use whatever novel approach their language
affords for doing it, it would be interesting to see the results.

Rob


Curt Hibbs

3/17/2005 1:50:00 PM

0

Robert McGovern wrote:> Sent: Thursday, March 17, 2005 7:11 AM
> To: ruby-talk ML
> Subject: Re: new language shootout
>
>
> > > BTW, I wonder how do you think to rate the time required to implement
> > > something. I could take a week to write a quicksort in ML,
> but probably
> > > an MLer could do that in one minute.
> >
> > I don't really know right now, but any suggestion is very welcome. Maybe
> > I just try to find nice programming tasks where design really matters
> > and performance is pretty irrelevant, and just present the solutions
> > without any rating.
>
> Get the creator of each language to write the code? Really come up
> with a decent small but complex task and approach Wall, Gosling, Matz,
> Guido, Straustrope(?) and so on and ask them if they would be willing
> to participate. They could use whatever novel approach their language
> affords for doing it, it would be interesting to see the results.

Nice idea! Don't forget Alan Kay (Smalltalk), as well as OCAML and Haskell
(I don't know who created those).

Curt



Patrick Hurley

3/17/2005 2:01:00 PM

0

Two thoughts:

1. Also suggest to the language designer that they can delegate the
task, they may not have the time nor the desire to participate, but
will likely know one or two people who do.

2. As much as I hate to say it, for experienced developers lines of
code are a pretty reasonable rubric for development time (and even
more so for maintenance). This can of course be abused when extra time
is used to compress the code into fewer lines. But if the code is
immediately understandable by another developer of the same language
(which is of course open to significant debate as well) then the LOC
is a useful measurement.


On Thu, 17 Mar 2005 22:50:03 +0900, Curt Hibbs <curt@hibbs.com> wrote:
> Robert McGovern wrote:> Sent: Thursday, March 17, 2005 7:11 AM
> > To: ruby-talk ML
> > Subject: Re: new language shootout
> >
> >
> > > > BTW, I wonder how do you think to rate the time required to implement
> > > > something. I could take a week to write a quicksort in ML,
> > but probably
> > > > an MLer could do that in one minute.
> > >
> > > I don't really know right now, but any suggestion is very welcome. Maybe
> > > I just try to find nice programming tasks where design really matters
> > > and performance is pretty irrelevant, and just present the solutions
> > > without any rating.
> >
> > Get the creator of each language to write the code? Really come up
> > with a decent small but complex task and approach Wall, Gosling, Matz,
> > Guido, Straustrope(?) and so on and ask them if they would be willing
> > to participate. They could use whatever novel approach their language
> > affords for doing it, it would be interesting to see the results.
>
> Nice idea! Don't forget Alan Kay (Smalltalk), as well as OCAML and Haskell
> (I don't know who created those).
>
> Curt
>
>


martinus

3/17/2005 2:03:00 PM

0

> Get the creator of each language to write the code? Really come up
> with a decent small but complex task and approach Wall, Gosling, Matz,
> Guido, Straustrope(?) and so on and ask them if they would be willing
> to participate.

Well I think it will work better as a community-thing. I try to write
down specifications of small but complex programs, create a ruby
version, and post it here to let the community make it more rubyesque.
But for this I need interesting and representative programs, and this is
kind of difficult.


> They could use whatever novel approach their language
> affords for doing it, it would be interesting to see the results.

That's the idea, the shootout should help to find the right tool for the
right job.

martinus

Premshree Pillai

3/17/2005 2:18:00 PM

0

On Thu, 17 Mar 2005 19:54:46 +0900, Martin Ankerl
<martin.ankerl@gmail.com> wrote:
> Hi, I have been thinking a bit on creating a new language shootout. All
> the available shootouts focus mostly on performance benchmark, I want
> one that focuses more on code readability, required time to implement,

Interesting, but they are too subjective to be trivial.

One way to do it is:
1. Have as many people as you can to write the programs you intend to,
in different languages, and then do some stats.
2. Re readability, conduct some kinda survey.

The problem with doing anything like this is that it's difficult to
find people who're neutral. If (and when) you do something like this,
you'll need to find people who're language agnostic, or are new borns,
or those who've never programmed in their lives before (somebody will
have to give 'em tutorials on all the languages you plan to survey).

-p

--
Premshree Pillai
http://www.livejournal.com/users/...


Chris Pine

3/17/2005 4:36:00 PM

0

I think this guy had a similar idea:

http://merd.sourceforge.net/pixel/language-study/scripting...

Interesting comparisons.


Robert McGovern

3/17/2005 7:11:00 PM

0

> > Get the creator of each language to write the code? Really come up
> > with a decent small but complex task and approach Wall, Gosling, Matz,
> > Guido, Straustrope(?) and so on and ask them if they would be willing
> > to participate.
>
> Well I think it will work better as a community-thing. I try to write
> down specifications of small but complex programs, create a ruby
> version, and post it here to let the community make it more rubyesque.
> But for this I need interesting and representative programs, and this is
> kind of difficult.

I don't think it would work better as a community thing because you
will lose a lot of the useful information that you wanted to capture
(like time to implement).

Thinking about it you wouldn't need to come up with tasks, you could
ask nicely and use the Weekly Quizes and pick a couple off them.


Michael Campbell

3/18/2005 2:39:00 PM

0

On Thu, 17 Mar 2005 19:54:46 +0900, Martin Ankerl
<martin.ankerl@gmail.com> wrote:
> Hi, I have been thinking a bit on creating a new language shootout. All
> the available shootouts focus mostly on performance benchmark, I want
> one that focuses more on code readability, required time to implement,
> or something like that. Therefore I would need quite different
> applications. For example "write a multithreaded server that offers the
> current time". Any other ideas?


It's a clever idea, but the beauty of benchmarks is that they are
unambiguous (within reason) and completely quantifiable. How are you
going to measure, for example, "readability"?

Too, required time to implement will have SUCH a high standard
deviation between people with different skill sets as to be almost
unusable.

So, a "shootout" doesn't seem entirely appropriate here so much as a
"best practices" or "common patterns" site across languages I'd think.

That said, the idea of getting the language inventors to submit
is...questionable. It'd be interesting (but only interesting, not
much more than that) if you could do it, but it's a pipe dream. I
also wouldn't necessarily consider the language author's code the
pinnacle to which to aspire; very often the author's code isn't even
that good by their own admission; their strength is design.