1. The Great Computer Language Shootout

Has anybody ever tried to form/submit a euphoric set for The Great Computer
Language Shootout?

http://www.bagley.org/~doug/shootout/
http://dada.perl.it/shootout/

jiri

new topic     » topic index » view message » categorize

2. Re: The Great Computer Language Shootout

jiri babor wrote:

>
>
>Has anybody ever tried to form/submit a euphoric set for The Great Computer
>Language Shootout?
>
>http://www.bagley.org/~doug/shootout/
>http://dada.perl.it/shootout/
>
>jiri
>  
>
Jiri, where ya bean? How ya bean?

Anyway, the page referenced above says, "The shootout has not been 
updated since the fall of 2001, and is now frozen as it is. I'm sorry, 
but no updates will be made." :/ Looks like the Win32 version is still 
going, though.

Maybe you should start a new one! :)

I nominate you project manager for this one. heheh.

new topic     » goto parent     » topic index » view message » categorize

3. Re: The Great Computer Language Shootout

C. K. Lester wrote:
>Jiri, where ya bean? How ya bean?

To all sorts of greener pastures: went back to Delphi for any really serious
work, and explored functional languages: Haskell, Caml and Clean (a nice new
version came out last week!). I also spent a bit of time with Icon (mainly
Unicon), Python (very nice, not at all as slow as some people would like us
to believe, especially if you use the fast array module, but, granted, a bit
on the bulky side) and Lua, which is, I think, the nicest free little
scripting language around, by far! I have also been playing with Linux in
preparation for the moment Bill pulls the plug on Win98SE, the last OS I
bought from those Redmond crooks,  but , unfortunately, only the commercial
Lindows support all the weird hardware combinations I always seem to finish
with...

Ray Smith wrote:
>There was some discussion on the list a while ago about this.
>
>It's interesting in the FAQ is this:
>
>"The language should have most of the following desireable features:
>
 >  1. Ability to read/write 4K buffers, bypassing standard I/O.
 >  2. Process control (i.e. fork()/wait()).
>   3. Exceptions.
>   4. Regular Expressions (preferably Perl compatible).
>   5. Linux Kernel Threads.
>   6. Internet Sockets.
>   7. Objects.
>   8. Ability to print out its own version number.
>   9. A module system, and separate compilation of modules (if
>compiled).
>
>I may make some exceptions to the above, but only if I feel like it."
>
>The "author" is limiting the languages used to include "what he thinks"
>is the minimum requirements of a language.
>
>Euphoria for instance doesn't come close to meeting these requirements.

Ray, that's true, but looking at the Win version, its author seems to be
much more accommodating. And anyhow, I thought any sort of more 'objective'
comparison would be more interesting than the frequently embarrassing blurb.

jiri

new topic     » goto parent     » topic index » view message » categorize

4. Re: The Great Computer Language Shootout

On 8 Nov 2003 at 14:01, jiri babor wrote:

> 
> 
> C. K. Lester wrote:
> >Jiri, where ya bean? How ya bean?
> 
> To all sorts of greener pastures: went back to Delphi for any really serious
> work, and explored functional languages: Haskell, Caml and Clean (a nice new
> version came out last week!). 
Got a URL for Clean?

I also spent a bit of time with Icon (mainly
> Unicon), Python (very nice, not at all as slow as some people would like us
> to believe, especially if you use the fast array module, but, granted, a bit
> on the bulky side) and Lua, which is, I think, the nicest free little
> scripting language around, by far! I have also been playing with Linux in
> preparation for the moment Bill pulls the plug on Win98SE, the last OS I
> bought from those Redmond crooks,  but , unfortunately, only the commercial
> Lindows support all the weird hardware combinations I always seem to finish
> with...
> 
> Ray Smith wrote:
> >There was some discussion on the list a while ago about this.
> >
> >It's interesting in the FAQ is this:
> >
> >"The language should have most of the following desireable features:
> >
>  >  1. Ability to read/write 4K buffers, bypassing standard I/O.
>  >  2. Process control (i.e. fork()/wait()).
> >   3. Exceptions.
> >   4. Regular Expressions (preferably Perl compatible).
> >   5. Linux Kernel Threads.
> >   6. Internet Sockets.
> >   7. Objects.
> >   8. Ability to print out its own version number.
> >   9. A module system, and separate compilation of modules (if
> >compiled).
> >
> >I may make some exceptions to the above, but only if I feel like it."
> >
> >The "author" is limiting the languages used to include "what he thinks"
> >is the minimum requirements of a language.
> >
> >Euphoria for instance doesn't come close to meeting these requirements.
> 
> Ray, that's true, but looking at the Win version, its author seems to be
> much more accommodating. And anyhow, I thought any sort of more 'objective'
> comparison would be more interesting than the frequently embarrassing blurb.
> 
> jiri
I have implemented 14 of the benchmarks in Bach, which has exceptions, 
objects and regular expressions. The built-in hashtable support was also very
important for good results on several tests.


ktb

new topic     » goto parent     » topic index » view message » categorize

5. Re: The Great Computer Language Shootout

Clean: http://www.cs.kun.nl/~clean/index.html

14 benchmarks should give you a fair comparison. How did it look?

jiri

----- Original Message ----- 
From: <kbochert at copper.net>

> On 8 Nov 2003 at 14:01, jiri babor wrote:
>
> >
> > C. K. Lester wrote:
> > >Jiri, where ya bean? How ya bean?
> >
> > To all sorts of greener pastures: went back to Delphi for any really
serious
> > work, and explored functional languages: Haskell, Caml and Clean (a nice
new
> > version came out last week!).
> Got a URL for Clean?
>
> I also spent a bit of time with Icon (mainly
> > Unicon), Python (very nice, not at all as slow as some people would like
us
> > to believe, especially if you use the fast array module, but, granted, a
bit
> > on the bulky side) and Lua, which is, I think, the nicest free little
> > scripting language around, by far! I have also been playing with Linux
in
> > preparation for the moment Bill pulls the plug on Win98SE, the last OS I
> > bought from those Redmond crooks,  but , unfortunately, only the
commercial
> > Lindows support all the weird hardware combinations I always seem to
finish
> > with...
> >
> > Ray Smith wrote:
> > >There was some discussion on the list a while ago about this.
> > >
> > >It's interesting in the FAQ is this:
> > >
> > >"The language should have most of the following desireable features:
> > >
> >  >  1. Ability to read/write 4K buffers, bypassing standard I/O.
> >  >  2. Process control (i.e. fork()/wait()).
> > >   3. Exceptions.
> > >   4. Regular Expressions (preferably Perl compatible).
> > >   5. Linux Kernel Threads.
> > >   6. Internet Sockets.
> > >   7. Objects.
> > >   8. Ability to print out its own version number.
> > >   9. A module system, and separate compilation of modules (if
> > >compiled).
> > >
> > >I may make some exceptions to the above, but only if I feel like it."
> > >
> > >The "author" is limiting the languages used to include "what he thinks"
> > >is the minimum requirements of a language.
> > >
> > >Euphoria for instance doesn't come close to meeting these requirements.
> >
> > Ray, that's true, but looking at the Win version, its author seems to be
> > much more accommodating. And anyhow, I thought any sort of more
'objective'
> > comparison would be more interesting than the frequently embarrassing
blurb.
> >
> > jiri
> I have implemented 14 of the benchmarks in Bach, which has exceptions,
> objects and regular expressions. The built-in hashtable support was also
very
> important for good results on several tests.
>
>
> ktb

new topic     » goto parent     » topic index » view message » categorize

6. Re: The Great Computer Language Shootout

On 8 Nov 2003 at 17:46, jiri babor wrote:

> 
> 
> Clean: http://www.cs.kun.nl/~clean/index.html
> 
Thanks.
> 14 benchmarks should give you a fair comparison. How did it look?
> 
> jiri
> 
Mostly very good. The complete list of results is at:
http://catexa.com/bachman/html/benchmarks.html

KtB

new topic     » goto parent     » topic index » view message » categorize

7. Re: The Great Computer Language Shootout

----- Original Message ----- 
From: <kbochert at copper.net>
To: <EUforum at topica.com>
Subject: Re: The Great Computer Language Shootout


> 
> 
> On 8 Nov 2003 at 17:46, jiri babor wrote:
> 
> > 
> > Clean: http://www.cs.kun.nl/~clean/index.html
> > 
> Thanks.
> > 14 benchmarks should give you a fair comparison. How did it look?
> > 
> > jiri
> > 
> Mostly very good. The complete list of results is at:
> http://catexa.com/bachman/html/benchmarks.html
> 

I assume that the percentages in this comparision mean that Bach is faster than
Eu2.3. The format of the table is a bit ambiguous - at first I thought you were
saying that Bach took 102% of the time that Eu2.3 took, for example.

-- 
Derek

new topic     » goto parent     » topic index » view message » categorize

8. Re: The Great Computer Language Shootout

On 8 Nov 2003 at 20:41, Derek Parnell wrote:

> 
> 
> ----- Original Message ----- 
> From: <kbochert at copper.net>
> To: <EUforum at topica.com>
> Subject: Re: The Great Computer Language Shootout
> 
> 
> > On 8 Nov 2003 at 17:46, jiri babor wrote:
> > 
> > > 
> > > Clean: http://www.cs.kun.nl/~clean/index.html
> > > 
> > Thanks.
> > > 14 benchmarks should give you a fair comparison. How did it look?
> > > 
> > > jiri
> > > 
> > Mostly very good. The complete list of results is at:
> > http://catexa.com/bachman/html/benchmarks.html
> > 
> 
> I assume that the percentages in this comparision mean that Bach is faster
> than Eu2.3. The format of the table is a bit ambiguous - at first I thought you
> were saying that Bach took 102% of the time that Eu2.3 took, for example.
> 
> -- 
> Derek

I'll try and clear that up. As you guessed, 102% is good for Bach.
The actual result will vary somewhat depending on the exact details of
the test, so the 2% is within the margin of error, but it was a moral victory
for me.  I had to work VERY hard to maintain Eu's speed.

regards
KtB

new topic     » goto parent     » topic index » view message » categorize

9. Re: The Great Computer Language Shootout

KtB wrote:
 Jiri wrote:
>> 14 benchmarks should give you a fair comparison. How did it look?
> >
>> jiri

>Mostly very good. The complete list of results is at:
>http://catexa.com/bachman/html/benchmarks.html

So, how do we get Bach compiled for Linux?

Irv

new topic     » goto parent     » topic index » view message » categorize

10. Re: The Great Computer Language Shootout

Ray Smith wrote:

Ray, I'm just your ordinary, average hobbyist programmer, with a few
commercial programs (by which I mean programs that get used by a company
on a daily basis and on which that company depends)... So, in the
interest of my education, can you answer the following for me...?

>"The language should have most of the following desireable features:
>
>   1. Ability to read/write 4K buffers, bypassing standard I/O.
>
Why [should a language have this]? What does EUPHORIA do?

>   2. Process control (i.e. fork()/wait()).
>
This is for threading, right? Is there a good example of when this would
be useful? I'm thinking probably for huge database management
applications...

>   3. Exceptions.
>
Why?

>   4. Regular Expressions (preferably Perl compatible).
>
Why? And don't we have a library for this?

>   5. Linux Kernel Threads.
>
Okay, so maybe process control isn't for threading... :/

>   6. Internet Sockets.
>
Available in a library, right?

>   7. Objects.
>
Why? And isn't this available in Bach?

>   8. Ability to print out its own version number.
>
Okaaaay. And why? (EUPHORIA does this when you run the interpreter, right?)

>   9. A module system, and separate compilation of modules (if 
>compiled).
>
Whosee whatee?!

>I may make some exceptions to the above, but only if I feel like it."
>
>The "author" is limiting the languages used to include "what he thinks"
>is the minimum requirements of a language.
>
Yes...

>Euphoria for instance doesn't come close to meeting these requirements.
>
So...?

>Many people have on numerious occasions pointed out these limitations
>and strangely enough alot of the people don't seem to be around here 
>anymore.
>  
>
One man's "limitations" is another man's "hurdles."

new topic     » goto parent     » topic index » view message » categorize

11. Re: The Great Computer Language Shootout

Ray Smith wrote:

Ray, thanks for your response. You know I appreciate when people help me 
expand the brain... ;)

>Hi CK,
>
>EUPHORiCK wrote:
>  
>>Ray, I'm just your ordinary, average hobbyist programmer, with a few
>>commercial programs (by which I mean programs that get used by a company
>>on a daily basis and on which that company depends)... So, in the
>>interest of my education, can you answer the following for me...?
>
>I don't know why he may have included some of these requirements
>but I'll try to give some possible explanations.
>  
>>>  3. Exceptions.
>>>
>>Why?
>>
>If you're running any type of server process how do you recover from 
>errors?  By Exceptions.  Exceptions also in some cases make 
>programming more intuitive.  Exceptions just aren't for server 
>programms by the way all proghrams can become more roboust by using
>exceptions.
>
Are we talking exceptions from syntax errors? Obviously not, right? So
are exceptions a mere convenience? or do they provide some additional
functionality that I'm missing when using EUPHORIA?

>>>  6. Internet Sockets.
>>>
>>Available in a library, right?
>>
>I don't think we have a good cross platform TCP library.
>

There are some available, however, to which EUPHORIA could interface,
right?

>>>  7. Objects.
>>>
>>Why? And isn't this available in Bach?
>>
>We aren't talking about Bach :)
>

I know. But you didn't answer the "why" part. :P

>>>  8. Ability to print out its own version number.
>>>
>>Okaaaay. And why? (EUPHORIA does this when you run the interpreter, 
>>right?)
>>
>Yes, eu does this if you don't specify a program to run.
>Do you need an answer as to why this is good?
>
Yes. Why is it good? Or why is not having it bad?

>>>Many people have on numerious occasions pointed out these limitations
>>>and strangely enough alot of the people don't seem to be around here 
>>>anymore.
>>>
Well, if they're runnin' to Python or Clean (sheesh!), then I can't
imagine they feel much better... ;)

Of course, you have to look at it from my perspective: I'm a single dad
with NO time for learning new languages. I use EUPHORIA because it's
what I know, and it's been good knowin' it. Fast and easy. That's how I
like it. When I consider looking at other languages, most of the time
the features of that particular language don't interest me or they
bother me enough to shelve it for later. Beyond that, there's a learning
curve, and that takes time (which, again, I don't have).

One day, when I retire, I'll be able to consider more languages.
However, I won't do that because I'll be on the beach playing with my
children and grand children. Like Jiri. 'cept I don't know if he's on a
beach. heheh. :P

new topic     » goto parent     » topic index » view message » categorize

12. Re: The Great Computer Language Shootout

On Saturday 08 November 2003 10:27 pm, CK wrote:

> Are we talking exceptions from syntax errors? Obviously not, right? So
> are exceptions a mere convenience? or do they provide some additional
> functionality that I'm missing when using EUPHORIA?

There are errors which are difficult if not impossible to predict. And 
others which seem so unlikely that it doesn' t seem worth the effort to write 
all the necessary "guard code" to catch them.

Yet those errors are certain to occur when someone else uses your program, and 
you might prefer that the error be handled gracefully.
A program crash with reference to "see ex.err" is not what I would call 
"graceful".

Wouldn't it be easier to write:
try 
  a series of steps involving writing data to a floppy disk
otherwise
  display a message about being "unable to write to disk"
end

instead of trying to write convoluted code which would check every conceivable 
way that accessing a floppy disk could go wrong?
(no disk, write protected, bad media, not formatted .....)

> >>>  6. Internet Sockets.
> >>
> >>Available in a library, right?
> >
> >I don't think we have a good cross platform TCP library.
>
> There are some available, however, to which EUPHORIA could interface,
> right?

 Any complete?

> >>>  7. Objects.
> >>
> >>Why? And isn't this available in Bach?
> >
> >We aren't talking about Bach :)
>
> I know. But you didn't answer the "why" part. :P

Objects are *way* overrated. Yet they're extremely useful in certain 
places. Some people feel like they can't program without them, and 
that may be true; who am I to argue?

> >>>  8. Ability to print out its own version number.
> >>
> >>Okaaaay. And why? (EUPHORIA does this when you run the interpreter,
> >>right?)
> >
> >Yes, eu does this if you don't specify a program to run.
> >Do you need an answer as to why this is good?
>
> Yes. Why is it good? Or why is not having it bad?

Suppose your Euphoria program requires features which are found only in 2.4. 
Would you prefer to politely notify users who are running 2.2 that they 
should upgrade, or would you rather just have your program crash with some 
meaningless (to them) error?
Besides, since the information obviously exists already, why not make it 
available as a global constant? VERSION seems like a suitable name:)

Irv

-- 
Robert Tappen Morris, Jr., got six months in jail for crashing 10% of the
computers that Bill Gates made $100 million crashing last weekend.

new topic     » goto parent     » topic index » view message » categorize

13. Re: The Great Computer Language Shootout

On Sun, 9 Nov 2003 00:32:45 -0500, Irv Mullins <irvm at ellijay.com>
wrote:

>> >>>  8. Ability to print out its own version number.
>
>Suppose your Euphoria program requires features which are found only in 2.4. 
<snip>

I think I'm in a silly mood, it's difficult to tell blink

Anyway, [drum roll and trumpets please] you can knock that one off the
list...

include wildcard.e
object path
integer lp
integer fn
sequence version
integer lv

path=lower(command_line())
if equal(path[1],path[2]) then
	-- if program is bound, we don't care what version
	-- or even whether euphoria is installed or not.
	puts(1,"bound?")
	if getc(0) then end if
	abort(0)
end if
path=getenv("EUDIR")
if atom(path) then
	path=command_line()
	path=lower(path[1])
	lp=length(path)
	if lp>7 and equal(path[lp-6..lp],"exw.exe") then
		lp-=7
	elsif lp>6 and equal(path[lp-5..lp],"ex.exe") then
		lp-=6
	elsif lp>2 and equal(path[lp-1..lp],"eu") then	-- untested
		lp-=2
	else
		puts(1,"unknown executable\n")
		if getc(0) then end if
		abort(0)
	end if
	if lp<5
	or not find(path[lp],"\\/")
	or not equal(path[lp-3..lp-1],"bin")
	or not find(path[lp-4],"\\/") then
		puts(1,"bin dir not recognised\n")
		if getc(0) then end if
		abort(0)
	end if
	path=path[1..lp-5]
end if
path&="\\include\\get.e"
fn=open(path,"r")
if fn=-1 then
	printf(1,"error opening %s\n",{path})
	if getc(0) then end if
	abort(0)
end if
version=gets(fn)
close(fn)
lv=length(version)
while find(version[lv],"\r\n") do
	lv-=1
end while
version=version[lv-2..lv]
if not equal(version,"2.4") then
	printf(1,"Version is:%s\n",{version})
	puts(1,"upgrade required\n")
	if getc(0) then end if
	abort(0)
end if


Maybe Rob can add this to misc.e
<Chuckle>
Pete
http://palacebuilders.pwp.blueyonder.co.uk/euphoria.html

new topic     » goto parent     » topic index » view message » categorize

14. Re: The Great Computer Language Shootout

On Sunday 09 November 2003 02:00 am, you wrote:
>
>
> On Sun, 9 Nov 2003 00:32:45 -0500, Irv Mullins <irvm at ellijay.com>
>
> wrote:
> >> >>>  8. Ability to print out its own version number.
> >
> >Suppose your Euphoria program requires features which are found only in
> > 2.4.
>
> <snip>
>
> I think I'm in a silly mood, it's difficult to tell blink
>
> Anyway, [drum roll and trumpets please] you can knock that one off the
> list...
>
> include wildcard.e
> object path
> integer lp
> integer fn
> sequence version
> integer lv
>
> path=lower(command_line())
> if equal(path[1],path[2]) then
> 	-- if program is bound, we don't care what version
> 	-- or even whether euphoria is installed or not.
> 	puts(1,"bound?")
> 	if getc(0) then end if
> 	abort(0)
> end if
> path=getenv("EUDIR")
> if atom(path) then
> 	path=command_line()
> 	path=lower(path[1])
> 	lp=length(path)
> 	if lp>7 and equal(path[lp-6..lp],"exw.exe") then
> 		lp-=7
> 	elsif lp>6 and equal(path[lp-5..lp],"ex.exe") then
> 		lp-=6
> 	elsif lp>2 and equal(path[lp-1..lp],"eu") then	-- untested
> 		lp-=2
> 	else
> 		puts(1,"unknown executable\n")
> 		if getc(0) then end if
> 		abort(0)
> 	end if
> 	if lp<5
> 	or not find(path[lp],"\\/")
> 	or not equal(path[lp-3..lp-1],"bin")
> 	or not find(path[lp-4],"\\/") then
> 		puts(1,"bin dir not recognised\n")
> 		if getc(0) then end if
> 		abort(0)
> 	end if
> 	path=path[1..lp-5]
> end if
> path&="\\include\\get.e"
> fn=open(path,"r")
> if fn=-1 then
> 	printf(1,"error opening %s\n",{path})
> 	if getc(0) then end if
> 	abort(0)
> end if
> version=gets(fn)
> close(fn)
> lv=length(version)
> while find(version[lv],"\r\n") do
> 	lv-=1
> end while
> version=version[lv-2..lv]
> if not equal(version,"2.4") then
> 	printf(1,"Version is:%s\n",{version})
> 	puts(1,"upgrade required\n")
> 	if getc(0) then end if
> 	abort(0)
> end if
>
>
> Maybe Rob can add this to misc.e
> <Chuckle>
> Pete
> http://palacebuilders.pwp.blueyonder.co.uk/euphoria.html

Contribute that to the archives. It fits perfectly into Rob's philosophy of 
making his users write everything as "includes", rather than adding such 
things to the language base. 

Irv

new topic     » goto parent     » topic index » view message » categorize

15. Re: The Great Computer Language Shootout

> One man's "limitations" is another man's "hurdles."
... is another man's (or woman's) blessing.  In what other language can
you fit an entire Windows application (with no less than 500 objects) on
a single floppy disk?

new topic     » goto parent     » topic index » view message » categorize

16. Re: The Great Computer Language Shootout

Mike Sabal wrote:

>>One man's "limitations" is another man's "hurdles."
>>    
>>
>... is another man's (or woman's) blessing.  In what other language can
>you fit an entire Windows application (with no less than 500 objects) on
>a single floppy disk?
>  
>

Preach it!

new topic     » goto parent     » topic index » view message » categorize

17. Re: The Great Computer Language Shootout

On Monday 10 November 2003 09:18 am, Mike wrote:

> > One man's "limitations" is another man's "hurdles."
>
> ... is another man's (or woman's) blessing.  In what other language can
> you fit an entire Windows application (with no less than 500 objects) on
> a single floppy disk?

ASM. Take a look at some of the programs on http://grc.com
30 to 100 k, complete, fast, windows programs. 
I've seen some of his code, and it is actually clearer and more 
understandable than Eu/Win32lib. 

Irv

new topic     » goto parent     » topic index » view message » categorize

18. Re: The Great Computer Language Shootout

Possibly a better forum for presenting Euphoria to the outside world 
would be to submit code to PLEAC "PLEAC - Programming Language Examples 
Alike Cookbook" <http://pleac.sourceforge.net/>.

The maintainer says "Following the great Perl Cookbook (by Tom 
Christiansen & Nathan Torkington, published by O'Reilly) which presents 
a suite of common programming problems solved in the Perl language, this 
project aims to gather fans of programming, in order to implement the 
solutions in other programming languages.

If successful, this project may become a primary resource for quick, 
handy and free reference to solve most common programming problems using 
higher-level programming languages, and for comparison on ease-of-use 
and power/efficiency of these languages. "

Bruce.

new topic     » goto parent     » topic index » view message » categorize

19. Re: The Great Computer Language Shootout

On 13 Nov 2003 at 22:21, Bruce M. Axtens wrote:

> 
> 
> Possibly a better forum for presenting Euphoria to the outside world 
> would be to submit code to PLEAC "PLEAC - Programming Language Examples 
> Alike Cookbook" <http://pleac.sourceforge.net/>.
> 
> The maintainer says "Following the great Perl Cookbook (by Tom 
> Christiansen & Nathan Torkington, published by O'Reilly) which presents 
> a suite of common programming problems solved in the Perl language, this 
> project aims to gather fans of programming, in order to implement the 
> solutions in other programming languages.
> 
> If successful, this project may become a primary resource for quick, 
> handy and free reference to solve most common programming problems using 
> higher-level programming languages, and for comparison on ease-of-use 
> and power/efficiency of these languages. "
> 
> Bruce.

Sounded great, but I checked the site FAQ page, and they explicitly
state that they are only interested in free software (as in GNU, nor
free of charge).

GPL snobbery smile

Might be interesting to do something similar for non-free scripting 
languages. There must be others besides Euphoria and Bach ??

Karl Bochert

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu