Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Language recommendations from ruby persons....

6 views
Skip to first unread message

Greg Lorriman

unread,
Sep 18, 2005, 5:42:20 PM9/18/05
to
Dear sirs and madames,

I've thrown myself into ruby and I'm having a pleasant time.

Now I am looking to find another language to learn with three features, two
of which Ruby has, and I am looking for your words of advice and guidance.

The features I am looking for are

1)enjoyableness
2)practicalness
3)alternativeness

with a decent nod to

4)not so long a learning curve (hey, I'm from the TV generation; I need
instant kicks).

Ruby does the first two, but now I want to cruise into other dimensions, and
ruby isn't really weird and alternative enough.

I really would like something that makes me think in a very different
manner, and is excellent at solving a range of problems that imperative
languages are not too good at. I would like to be using it a lot for
real-world stuff, like I am Ruby and Delphi.

Now because you guys are tuned to enjoyableness, and probably have a measure
of appreciation of the need for practicality I am hoping that you might give
me some commentary on what you think might be worth looking at.

I've vaguely looked at Ocaml, Heskel, Scheme, Mercury. (Lisp would seem to
wander too far away from simplicity which I reckon probably impacts
enjoyableness, but then someone has said that OCaml isn't so simple but is
very enjoyable; so you can see why I haven't listed simplicity as a
requirement.). I doubt I can go too far off the mainstream since requirement
2 would be impacted. So if anyone wishes to comment on the usual
'alternative' languages, as well as exotic stuff from other galaxies, then I
am very interested.

Of course I have no experience in any of these. I also see little in the way
of languages being compared for enjoyableness. I don't care for performance
tables since performance only solves one problem which Intel and AMD can
solve for me, and I'm more interested in the infinite number of other
problems.

Grateful for any of your wonderful and marvellous thoughts,

Greg


Brian Mitchell

unread,
Sep 18, 2005, 6:12:14 PM9/18/05
to

Devin Mullins

unread,
Sep 18, 2005, 6:36:01 PM9/18/05
to
There's plenty of places you can find recommendations for languages.

- this mailing list (the archives will have references to all the ones
you meantion, plus other ones such as Io, and D, and boo, and Groovy -
of which Io is the only one you might call "far out" - and, oh yeah,
Smalltalk)
- practically any programming mailing list :)
- http://lambda-the-ultimate.org/ (where language geeks go to be snobby
and up-tight)
- http://www.google.com/search?q=esoteric+programming+languages (okay,
those probably weren't what you were looking for)
- http://cliki.tunes.org/Programming%20Languages -- This page nicely
categorizes them by "paradigms."

Here's two languages you're not likely to find immediately. Presented
for no apparent reason.

1. http://www.erights.org/e/satan/ -- I haven't actually read this
paper, but it seems topical, so maybe somebody else will, and provide us
a book report. :)
2. http://www.madore.org/~david/programs/unlambda/ -- The purest,
simplest programming language ever, and it's functional, to boot. Smart
combination of a few simple constructs allows for a whole world of
flexibility.

Have fun.

Devin
APL, Eiffel, Erlang, Haskell, Io, Joy, Lisp, Lua, Mathematica,
Mozart/Oz, OCaml, Prolog, REXX, Scala, Scheme, Self, and Smalltalk are
all the legitimate, 'alternative' languages that I recognize (by name
only, for the most part) from that wiki page, so maybe that makes them
more popular. Now get to Googlin'.

Gavin Kistner

unread,
Sep 18, 2005, 7:10:09 PM9/18/05
to
On Sep 18, 2005, at 4:12 PM, Brian Mitchell wrote:
> Javascript. It is a very cool language. Like Io in many ways too. If
> you can get passed the bad rap of DHTML then this language is very
> well designed.

But, to put in my two cents, it ain't perfect. The language is made
up of objects (with methods, properties), and it lends itself quite
well to making simple hash-objects which all 'inherit' from the same
object. (The 'prototype' property of functions is like Lua's __index
metatable property, causing a lookup-chain to be used for specific
objects. Despite the name of the property, it is not a 'prototype-
based' language, since instances of a 'class' refer to that class,
rather than being copies of it.)

However, despite my own love of JavaScript, it ain't pretty in three
regards:
1) There's no standalone interpreter (that I know of, and certainly
not part of any 'official' distribution), which leaves you at the
mercy of WSH or some sort of web-based interpreter[1].

2) Similarly, the core language can do very little on its own. No
file IO, no http libraries, no threading, no matrix or math
libraries. You're at the mercy of whatever additional libraries your
interpreter (or own JS bindings) give you.[2]

3) You can simulate a class, but not too well[3]. (You can use
closures to define 'private' and 'protected' methods, but they
require new instances of the method functions to be allocated for
each instance of the object.) Inheriting one class from another is
even more difficult[4].

Lua is powerful because it's bare-bones speedy and simple, but it's
not enjoyable to work with as a scripter. Ruby is awesome for the
scripter, but (at the moment) too slow to do everything in for CPU-
intensive apps. JS is sort of a nice mix between pleasing features
and speediness. But only if you have a good interpreter and
environment exposing all the native objects you need to get your work
done.

Basis for my analysis: I've been programming in JavaScript in web
browsers since 1996, and using it in my company's 3D product[5] with
JS bindings to C++ native methods[6] for the last year.

[1] http://phrogz.net/tmp/simplejs.html
[2] http://phrogz.net/ObjJob/objects.asp?langID=4
[3] http://phrogz.net/JS/Classes/OOPinJS.html
[4] http://phrogz.net/JS/Classes/OOPinJS2.html
[5] http://www.anark.com/
[6] http://phrogz.net/ObjJob/objects.asp?langID=11


Greg Lorriman

unread,
Sep 18, 2005, 7:22:39 PM9/18/05
to

"Devin Mullins" <twi...@comcast.net> wrote in message
news:432DEC60...@comcast.net...

> There's plenty of places you can find recommendations for languages.

hmmm. I didn't ask for other places for recommendations for other languages.
I have already visited many places; I am surprised you did not infer this
from my post.

I posted in the hope of personal opinions of Ruby programmers specifically,
since they bring a more pertinant spirit to my quest (particularly
enjoyableness).

> - this mailing list (the archives will have references to all the ones you
> meantion, plus other ones such as Io, and D, and boo, and Groovy - of
> which Io is the only one you might call "far out" - and, oh yeah,
> Smalltalk)

Seems like you did and didn't read my post at the same time. Very strange.

> Here's two languages you're not likely to find immediately. Presented for
> no apparent reason.

...I prefer reasons.

> 1. http://www.erights.org/e/satan/ -- I haven't actually read this paper,
> but it seems topical, so maybe somebody else will, and provide us a book
> report. :)
> 2. http://www.madore.org/~david/programs/unlambda/ -- The purest, simplest
> programming language ever, and it's functional, to boot. Smart combination
> of a few simple constructs allows for a whole world of flexibility.

sounds kinda interesting. But is it enjoyable? Is it practical? I was
careful to list what I am looking for quite prominently.

> Have fun.

I am trying.

> Devin
> APL, Eiffel, Erlang, Haskell, Io, Joy, Lisp, Lua, Mathematica, Mozart/Oz,
> OCaml, Prolog, REXX, Scala, Scheme, Self, and Smalltalk are all the
> legitimate, 'alternative' languages that I recognize (by name only, for
> the most part) from that wiki page, so maybe that makes them more popular.
> Now get to Googlin'.

? I can't believe my eyes.

Can someone tell me if I am talking to a troll?


Greg Lorriman

unread,
Sep 18, 2005, 7:31:45 PM9/18/05
to
Hi,

Somehow your reply hasn't rendered in Outlook Express, something I've not
personally seen before. It could just be the notorious OE, but I thought I
would mention it in case your mailer needs a tweak.

This is the full content of what OE is showing me (and below that a reply
from what I got from google groups):
==begin
"Brian Mitchell" <bina...@gmail.com> wrote in message
news:fcfe417005091...@mail.gmail.com...

> of which Ruby has, and I am looking for your words of advice and guidance=
==end

....that's weird, neither is it showing in google :

http://groups.google.com/group/comp.lang.ruby/msg/b80d44a77317b35b


Brian Mitchell

unread,
Sep 18, 2005, 7:36:13 PM9/18/05
to
On 9/18/05, Gavin Kistner <ga...@refinery.com> wrote:
> On Sep 18, 2005, at 4:12 PM, Brian Mitchell wrote:
> > Javascript. It is a very cool language. Like Io in many ways too. If
> > you can get passed the bad rap of DHTML then this language is very
> > well designed.
>
> But, to put in my two cents, it ain't perfect. The language is made
> up of objects (with methods, properties), and it lends itself quite
> well to making simple hash-objects which all 'inherit' from the same
> object. (The 'prototype' property of functions is like Lua's __index
> metatable property, causing a lookup-chain to be used for specific
> objects. Despite the name of the property, it is not a 'prototype-
> based' language, since instances of a 'class' refer to that class,
> rather than being copies of it.)

I think that could be argued but no matter. It has prototype features
with other features also available.

> However, despite my own love of JavaScript, it ain't pretty in three
> regards:
> 1) There's no standalone interpreter (that I know of, and certainly
> not part of any 'official' distribution), which leaves you at the
> mercy of WSH or some sort of web-based interpreter[1].

There are javascript libraries on certain platforms but beyond that I
think Rhino can be made standalone.

>
> 2) Similarly, the core language can do very little on its own. No
> file IO, no http libraries, no threading, no matrix or math
> libraries. You're at the mercy of whatever additional libraries your
> interpreter (or own JS bindings) give you.[2]
>

The libraries are lacking, but with some cleverness hard things like
asynchronous execution can be handled with CPS and other nice tools.
I/O is lacking. Good enough to learn still as the DOM is a rich
library in itself (not great IMO but still very useful). Math is poor
but is good enough or can be built upon. Same goes for matrix stuff.

> 3) You can simulate a class, but not too well[3]. (You can use
> closures to define 'private' and 'protected' methods, but they
> require new instances of the method functions to be allocated for
> each instance of the object.) Inheriting one class from another is
> even more difficult[4].
>

This type of emulation can actually be simplified if your private
etc.. methods are kept in a separate object and delegated to. The idea
is to minimize copying by using intermediate objects that can be
hidden a number of ways (function based closures can be powerful
tools). You probably know this though. Toy around. I am sure you can
find some ways to simplify your class system to make it very painless.
Though, in the end, you probably have more experience than me.

> Lua is powerful because it's bare-bones speedy and simple, but it's
> not enjoyable to work with as a scripter. Ruby is awesome for the
> scripter, but (at the moment) too slow to do everything in for CPU-
> intensive apps. JS is sort of a nice mix between pleasing features
> and speediness. But only if you have a good interpreter and
> environment exposing all the native objects you need to get your work
> done.
>

Lua is good when you need to be practical. I never fell in love with
its tables system. seems too far out of the way for how I think. I
guess I should have mentioned it.. I still only recommend it as an
embedded language.

> Basis for my analysis: I've been programming in JavaScript in web
> browsers since 1996, and using it in my company's 3D product[5] with
> JS bindings to C++ native methods[6] for the last year.


Cool.

Brian.


Devin Mullins

unread,
Sep 18, 2005, 9:51:33 PM9/18/05
to
Greg,

What languages you deem "enjoyable" is very much a personal choice, and
one determined only through exploration and experimentation. It sounds
like you've explored -- you seem to have a decent list of languages of
which you're aware. Now you have to do the second part -- experiment
with them.

That's why I didn't answer your question directly. Rather, I latched
onto the only context-independent criterion of yours that I found --
"not imperative" -- and gave you a list of non-imperative languages. For
me, Ruby's been the most fun language I've run into. 'swhy I'm here.
BASIC was fun back in the day. But YMMV.

Yes, my post included humor. Possibly, my sense of humor is different
from yours.

>APL, Eiffel, Erlang, Haskell, Io, Joy, Lisp, Lua, Mathematica, Mozart/Oz,
>OCaml, Prolog, REXX, Scala, Scheme, Self, and Smalltalk are all the
>legitimate, 'alternative' languages that I recognize (by name only, for
>the most part) from that wiki page, so maybe that makes them more popular.
>Now get to Googlin'.
>
>
>
>> ? I can't believe my eyes.
>
>

What makes you question them? APL? Check extremeprogramming@yahoogroups.
There's a guy there who swears by the language.

>Can someone tell me if I am talking to a troll?
>
>

If by "troll" you mean, "just writing to see what kind of reaction I can
get out of you," then, no. If by "troll," you mean, "guy who doesn't
type anything of substance," then you've got yourself a matter of
opinion, there, and mine would probably be different from yours.
Historically, at least, ruby-talk seems to have a opinion of me that
lies somewhere between neutral and positive.

Devin

Greg Lorriman wrote:

>"Devin Mullins" <twi...@comcast.net> wrote in message
>news:432DEC60...@comcast.net...
>
>
>>There's plenty of places you can find recommendations for languages.
>>
>>
>hmmm. I didn't ask for other places for recommendations for other languages.
>I have already visited many places; I am surprised you did not infer this
>from my post.
>
>I posted in the hope of personal opinions of Ruby programmers specifically,
>since they bring a more pertinant spirit to my quest (particularly
>enjoyableness).
>
>
>
>>- this mailing list (the archives will have references to all the ones you
>>meantion, plus other ones such as Io, and D, and boo, and Groovy - of
>>which Io is the only one you might call "far out" - and, oh yeah,
>>Smalltalk)
>>
>>
>
>Seems like you did and didn't read my post at the same time. Very strange.
>
>
>
>>Here's two languages you're not likely to find immediately. Presented for
>>no apparent reason.
>>
>>
>

>....I prefer reasons.

Greg Lorriman

unread,
Sep 18, 2005, 10:28:35 PM9/18/05
to

I hope to recieve replies to my questions, and I value other persons
subjective experience of "enjoyment", as asked for in my original post.

Thankyou for your effort at replying to my original post.

"Devin Mullins" <twi...@comcast.net> wrote in message

news:432E1A27...@comcast.net...

James Britt

unread,
Sep 18, 2005, 11:10:33 PM9/18/05
to
Greg Lorriman wrote:
> "Devin Mullins" <twi...@comcast.net> wrote in message
> news:432DEC60...@comcast.net...
..

>>1. http://www.erights.org/e/satan/ -- I haven't actually read this paper,
>>but it seems topical, so maybe somebody else will, and provide us a book
>>report. :)
>>2. http://www.madore.org/~david/programs/unlambda/ -- The purest, simplest
>>programming language ever, and it's functional, to boot. Smart combination
>>of a few simple constructs allows for a whole world of flexibility.
>
>
> sounds kinda interesting. But is it enjoyable? Is it practical? I was
> careful to list what I am looking for quite prominently.

The intersection of practical and interesting may be quite small.

Someone suggested JavaScript; not a bad idea, though probably not
different enough from Ruby to really stretch your brain. But, if
practical is a major factor, consider jscript.net. You can use
Microsoft's version of ECMASscript to write .Net code. (I *think*
there is a jscript.net compilier for mono, but I'm not sure.)

But if you are really looking for something that helps you think in a
different direction, yet isn't merely academic or weird-for-weirdness
sake, try a functional language such as Haskell.

Or consider OCaml; some folks here were discussing ways of writing
binary Ruby extensions in OCaml as opposed to C which seemed quite
interesting.

Lisp, Haskell, and Ocaml are floating in the back of my own mind as
candidates for next language to learn. Lisp has the upper hand so far,
because, well, it's *Lisp*. And there are lots of good, free resources
for it.

>
>
>>Have fun.
>
>
> I am trying.
>
>
>>Devin
>>APL, Eiffel, Erlang, Haskell, Io, Joy, Lisp, Lua, Mathematica, Mozart/Oz,
>>OCaml, Prolog, REXX, Scala, Scheme, Self, and Smalltalk are all the
>>legitimate, 'alternative' languages that I recognize (by name only, for
>>the most part) from that wiki page, so maybe that makes them more popular.
>>Now get to Googlin'.
>
>
> ? I can't believe my eyes.
>
> Can someone tell me if I am talking to a troll?

Well, they do exist and occasionally appear on this list. I suggest
that, before you think someone a troll, try to be generous and just
assume the poster is not a native speaker of English, and may have only
skimmed your original post, and really means well but doesn't always
come off well in plain text.

James

--

http://www.ruby-doc.org - The Ruby Documentation Site
http://www.rubyxml.com - News, Articles, and Listings for Ruby & XML
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys


Greg Lorriman

unread,
Sep 18, 2005, 11:52:33 PM9/18/05
to
>
> The intersection of practical and interesting may be quite small.

...and therefore more difficult to find. And so one asks questions....

> But if you are really looking for something that helps you think in a
> different direction, yet isn't merely academic or weird-for-weirdness
> sake, try a functional language such as Haskell.

Is this recommendation from experience? I am really looking for informed
opinions, particularly as enjoyment of a language tends not to be vicarious.

> Or consider OCaml; some folks here were discussing ways of writing binary
> Ruby extensions in OCaml as opposed to C which seemed quite interesting.

Yes, but why OCaml? Is it enjoyable? Learning curve...etc.., do you actually
have experience of it?

> Lisp, Haskell, and Ocaml are floating in the back of my own mind as
> candidates for next language to learn. Lisp has the upper hand so far,
> because, well, it's *Lisp*.

That does seem like a rather self-referential reason. I would probably not
choose Lisp on this particular recommendation.

>And there are lots of good, free resources for it.

Also for many other languages.

>>>the most part) from that wiki page, so maybe that makes them more
>>>popular. Now get to Googlin'.
>>
>>
>> ? I can't believe my eyes.
>>
>> Can someone tell me if I am talking to a troll?
>
> Well, they do exist and occasionally appear on this list. I suggest that,
> before you think someone a troll, try to be generous and just assume the
> poster is not a native speaker of English, and may have only skimmed your
> original post, and really means well but doesn't always come off well in
> plain text.

My response, IMO, was quite constrained.

Greg


Dave Burt

unread,
Sep 19, 2005, 12:06:21 AM9/19/05
to
James Britt wrote:
> Lisp, Haskell, and Ocaml are floating in the back of my own mind as
> candidates for next language to learn. Lisp has the upper hand so far,
> because, well, it's *Lisp*. And there are lots of good, free resources
> for it.

I'm starting on Haskell, as time permits. Haskell has syntax (Lisp doesn't)
and classes and type declarations. Functional programming is a different
paradigm, powerful, more directly mathematical. And you can bring some of it
back to Ruby.

Of course, there's also COBOL, which may be the most popular language in the
world by lines of code in production, but I think many would agree with my
claim that it is more painful than it is practical, and it is certainly
practical - there are COBOL jobs.

I just posted a paragraph on COBOL to comp.lang.ruby :)

Cheers,
Dave


Kev Jackson

unread,
Sep 19, 2005, 12:32:28 AM9/19/05
to

>The features I am looking for are
>
>1)enjoyableness
>2)practicalness
>3)alternativeness
>
>with a decent nod to
>
>4)not so long a learning curve (hey, I'm from the TV generation; I need
>instant kicks).
>
>
Of the top of my head, these are some of the languages that I've got
listed to play with at some point in time, or have played with
previously (note that I've no production level experience):
Lisp - got playing with this on a very boring business trip (there's an
online interpreter somewhere, google for Lisp tutorial).
Pros
- you can do pretty much anything with it (the tutorial leads you
through writing your own mini-language for an old school adventure game,
it was an eye-opener how easy it was).
- lots of other languages take ideas from Lisp, so learning Lisp is
a good way to expand your knowledge overall (it'll help in many many
other areas - again based on my limited exposure)
- I think from your list it covers 1,2 and 3 (but only in my opinion)
Cons
- notoriously alternative
- wierd keywords (car?)
- braces everywhere!
- not so easy to learn (not 4 in your list)

ML (Ocaml, New Jersey ML, SML, whatever ML) - spent 3 years with one
version of this at uni, an interesting and wonderful language
Pros
- it's so easy to do stuff that takes a lot of C
- functional so completely different from mainstream procedural and
OO (though I think Ocaml has an object system, the version I learnt on
didn't)
- 1 and 3 from your list covered
Cons
- not very practical (the version I used had no elegant way to do
IO, I guess that's been fixed now, but I haven't looked at it in a long
time)
- learning the language is easy, but the shift to a purely
functional style of programming is hard to get at first. I remember
being asked to do some stuff in C after 1 1/2 years of SML and thinking,
"It's like 3 lines of SML, why the hell is it so much trouble in C", so
from my experience, once you get it, it's amazingly powerful and enjoyable

Boo (statically typed, .Net language similar to Python), I've only
looked at it, I've *never* written a line of Boo code, so these are my
initial thoughts
Pros
- like python, but access to .Net libs
- very practical
- very alternative
- looks pretty easy to pick up
- Pacman ghost as logo!
Cons
- not much documentation (like most codehaus projects I've got to say)

Erlang (can't remember who makes this, Siemens, Samsung or someone
involved in telecommunictaions)
Pros
- looks very powerful for when you need high availability in your code
- thread management model is very very well thought out
- extremely alternative
Cons
- maybe not so practical for all domains
- I'd imagine a steep learning curve (so far I've not had chance to
do more than scan the most basic of docs - not even a hello world sample)
- may not be enjoyable

Eiffel - played with this for the first time about 6 years ago, keep
meaning to return to it, but never have the time or motivation
Pros
- practical (there's even a .Net version so you can access the .Net
libs)
- alternative (ish)
- can produce very fast code (compiles to native code)
Cons
- not the most enjoyable experience I've ever had learning a new
language
- quite a bit to learn (different terminology etc)

If you know Java, I'd also suggest looking into the extensions that are
becoming available. AspectJ is very cool and as a long-time Java
developer, AspectJ was a breath of fresh air to play with. I've got
quite a bit of experience of it and I think it's a very useful thing to
learn (at the very least the tutorials show how much cleaner you can
make your code). XJ from IBM also looks interesting, it's an embedded
XML in Java extension, wierd and makes the source code look funky, but I
think it may have potential too - currently only works on 1.4 (no
generics etc).

Please note I'm not in any stretch a 'rubyist', I'm still learning how
ruby works myself, so take all the above with a large pinch of salt.

Kev


James Britt

unread,
Sep 19, 2005, 1:18:58 AM9/19/05
to
Greg Lorriman wrote:
>>The intersection of practical and interesting may be quite small.
>
>
> ....and therefore more difficult to find. And so one asks questions....

Have you tried the pragprog list? I believe many list members gather
'round for Language of the Year study sessions. And there have been
many discussions exactly like this one.


>
>
>>But if you are really looking for something that helps you think in a
>>different direction, yet isn't merely academic or weird-for-weirdness
>>sake, try a functional language such as Haskell.
>
>
> Is this recommendation from experience? I am really looking for informed
> opinions, particularly as enjoyment of a language tends not to be vicarious.

It is based on comments I've read from others in my own perusal for a
Next Language.

Still, even if I *had* learned Haskell, you'd be getting an opinion from
someone you've never met and know next to nothing about, and whose ideas
of enjoyment may be peculiar.

If you get 10 people saying, "I've not used it but I've heard good
things", that may be more valuable than one person swearing by it from
personal use.

After all, I say nice things about Visual Basic.


> ...

>
>>Lisp, Haskell, and Ocaml are floating in the back of my own mind as
>>candidates for next language to learn. Lisp has the upper hand so far,
>>because, well, it's *Lisp*.
>
>
> That does seem like a rather self-referential reason. I would probably not
> choose Lisp on this particular recommendation.

Still, A recursive recommendation for Lisp does seem appropriate.

>
>
>>And there are lots of good, free resources for it.
>
>
> Also for many other languages.

The best idea may be to avail yourself of some of those resources and
just try stuff out. Pick stuff at random.

James


Greg Lorriman

unread,
Sep 19, 2005, 1:43:09 AM9/19/05
to
Kev, if I wasn't straight and a catholic I would propose marriage.

Thanks for the great info. I'm now going to re-read what you wrote....

Greg


Greg Lorriman

unread,
Sep 19, 2005, 1:52:33 AM9/19/05
to

"James Britt" <jam...@neurogami.com> wrote in message
news:432E4A4...@neurogami.com...

> Greg Lorriman wrote:
>>>The intersection of practical and interesting may be quite small.
>>
>>
>> ....and therefore more difficult to find. And so one asks questions....
>
> Have you tried the pragprog list? I believe many list members gather
> 'round for Language of the Year study sessions. And there have been many
> discussions exactly like this one.

That's a great idea. Thanks for the suggestion.

>> Is this recommendation from experience? I am really looking for informed
>> opinions, particularly as enjoyment of a language tends not to be
>> vicarious.
>
> It is based on comments I've read from others in my own perusal for a Next
> Language.
>
> Still, even if I *had* learned Haskell, you'd be getting an opinion from
> someone you've never met and know next to nothing about, and whose ideas
> of enjoyment may be peculiar.

I wouldn't bother with usenet, or the internet for that matter, if these
were considerations which bothered me. he he.

> If you get 10 people saying, "I've not used it but I've heard good
> things", that may be more valuable than one person swearing by it from
> personal use.

I personally consider that an opinion from experience is worth 100 without,
not having met the person not-withstanding. Ok, make that 1000 just to
really bash your 10 to 1!!! :)

> After all, I say nice things about Visual Basic.

I don't know how to respond to that.

>> That does seem like a rather self-referential reason. I would probably
>> not
>> choose Lisp on this particular recommendation.
>
> Still, A recursive recommendation for Lisp does seem appropriate.

I had a feeling that might be the case.

>>>And there are lots of good, free resources for it.
>>
>>
>> Also for many other languages.
>
> The best idea may be to avail yourself of some of those resources and just
> try stuff out. Pick stuff at random.

True, I could, and maybe sometime I will, but before I waste alot of time
doing that I would rather gather as many informed opinions, preferably
personal, as possible. I very much enjoy informed personal opinions, and
feel that they are valuable, especially when contrasted against each other.
For similar reasons I need plenty of charactererisation when I read a novel.

thanks,

Greg


Neville Burnell

unread,
Sep 19, 2005, 1:58:48 AM9/19/05
to
I've been watching 'Factor' for sometime, but I havent used it yet ...

http://factor.sourceforge.net/

Factor is the baby of Slava Pestov, the author of jEdit.
Slava blogs about Factor quite often here

http://www.jroller.com/page/slava/

-----Original Message-----
From: Greg Lorriman [mailto:bo...@bogus.com]
Sent: Monday, 19 September 2005 7:52 AM
To: ruby-talk ML
Subject: Language recommendations from ruby persons....

Dear sirs and madames,

I've thrown myself into ruby and I'm having a pleasant time.

Now I am looking to find another language to learn with three features,
two of which Ruby has, and I am looking for your words of advice and

guidance.

The features I am looking for are

1)enjoyableness
2)practicalness
3)alternativeness

with a decent nod to

4)not so long a learning curve (hey, I'm from the TV generation; I need
instant kicks).

Ruby does the first two, but now I want to cruise into other dimensions,

Martin DeMello

unread,
Sep 19, 2005, 4:15:42 AM9/19/05
to
Greg Lorriman <bo...@bogus.com> wrote:
> Dear sirs and madames,
>
> I've thrown myself into ruby and I'm having a pleasant time.
>
> Now I am looking to find another language to learn with three features, two
> of which Ruby has, and I am looking for your words of advice and guidance.
>
> The features I am looking for are
>
> 1)enjoyableness
> 2)practicalness
> 3)alternativeness

There are lots of choices for 1 and 3, so I'm currently focusing on (2),
and extending my toolkit with languages that play in different spaces.
Currently learning OCaml (compiled, statically typed language), and plan
on following up with Scala (targets JVM and .NET). Both are enjoyable,
and different enough to add a new way of thinking about problems; both
should be attractive to people who like Ruby.

D shows promise, but the last time I looked at it (a month or two ago) I
was disappointed by the state of the libraries, so I'd give that one a
while. Haskell I really enjoyed learning, but I haven't used it for
anything since.

martin

Hugh Sasse

unread,
Sep 19, 2005, 7:56:06 AM9/19/05
to

So far nobody has mentioned Unicon.
http://unicon.sourceforge.net/
and see also
http://www.drones.com/unicon/

My experience was dabbling in Icon, which is basically no longer
being developed (TTBOMK).

On Mon, 19 Sep 2005, Greg Lorriman wrote:

> Now I am looking to find another language to learn with three features, two

[...]
> 1)enjoyableness

Yes, it is elegant .
> 2)practicalness

Lots of example usages, because nearly all the icon ones should work.
> 3)alternativeness

It is goal directed, with backtracking. Statements succeed, or they
fail silently, and this is used in the goal-meeting.


>
> with a decent nod to
>
> 4)not so long a learning curve (hey, I'm from the TV generation; I need
> instant kicks).

Depends what you are used to. I never really got fluent in it, and
haven't had time to do so, but would like to because I can see it is
powerful.


>
> I really would like something that makes me think in a very different
> manner, and is excellent at solving a range of problems that imperative

Yes, goal directed stuff is pretty different. Allows expressing
solutions in a different way from normal.

> languages are not too good at. I would like to be using it a lot for
> real-world stuff, like I am Ruby and Delphi.

Lots of sample scripts came with Icon, and I think do with Unicon,
but its a while since I looked.

HTH
Hugh


Jussi Jumppanen

unread,
Sep 19, 2005, 9:00:21 AM9/19/05
to
Gavin Kistner wrote:

> 1) There's no standalone interpreter (that I know of, and
> certainly not part of any 'official' distribution), which
> leaves you at the mercy of WSH or some sort of web-based
> interpreter[1].

Microsoft publish the WSH COM interface and by using this
interface it is fairly easy to embbed Java Script into any
application.

This is the same interface used by the Zeus editor to drive
it's Java Script and VB Script macros scripting options.

I would assume it should be quite easy to embbed the Java
Script WSH into a simple Win32 console application, giving
you a basic stand alone enterpreter.

> Lua is powerful because it's bare-bones speedy and simple,
> but it's not enjoyable to work with as a scripter.

Funnily enough Zeus also offers a Lua as one of its macro
scripting languages :)

Jussi Jumppanen
Author of: Zeus for Windows Editor (New version 3.95 out now)
"The C/C++, Cobol, Java, HTML, Python, PHP, Perl folding editor"
Home Page: http://www.zeusedit.com

James Edward Gray II

unread,
Sep 19, 2005, 9:21:53 AM9/19/05
to
On Sep 18, 2005, at 11:32 PM, Kev Jackson wrote:

> Lisp - got playing with this on a very boring business trip
> (there's an online interpreter somewhere, google for Lisp
> tutorial). Pros
> - you can do pretty much anything with it (the tutorial leads
> you through writing your own mini-language for an old school
> adventure game, it was an eye-opener how easy it was).

I'm interested in this tutorial, if you wouldn't mind providing a
link. I did some Googling, but couldn't seem to come up with it.

James Edward Gray II

Robbie Carlton

unread,
Sep 19, 2005, 9:58:26 AM9/19/05
to
I would wholeheartedly recomend lisp.
It's definitely alternative
It's more practical than you might have heard
It's not as difficult as you seem to think. Common lisp is big, and yes car
cdr and cons are funny names for functions, but after that the majority of
function names are self explanatory almost to the point of verbosity, and
I've never met a programmer yet who couldn't remember the name of three
functions.
But the most important point is that lisp is fun.
Really really really fun.
So fun that it was the deciding factor in me becoming a professional
programmer. If it wasn't for lisp I would be doing something completely
different for a living right now (maybe teaching English).
I took up Ruby because Lisp is not supported on many servers yet (waiting
for arc), and ruby is as close as it gets in terms of flexibilty,
expressiveness and power. But there are some things that you can only do in
lisp.

I'm paraphrasing/misquoting someone here (probably Paul Graham)

"Lisp turns the easy, boring and tedious task of solving your problem into
the difficult but interesting task of extending the language"

This is the heart of whats amazing about lisp: macros (which are not like
macros in C, so don't even think it.) let you extend and redifine the
language however you want.
And don't worry about the parens, they quickly sink below your conscoius
awareness.

check out www.paulgraham.com <http://www.paulgraham.com> for extremely
interesting lisp advocacy from a man who is a millionaire(or at least very
rich) off the back of lisp.

And I'm sorry to get so fanatical about another language in a ruby list. I
still love you ruby.

Daryl Richter

unread,
Sep 19, 2005, 10:47:42 AM9/19/05
to
Greg Lorriman wrote:
> Dear sirs and madames,
>
> I've thrown myself into ruby and I'm having a pleasant time.
>
> Now I am looking to find another language to learn with three features, two
> of which Ruby has, and I am looking for your words of advice and guidance.
>
> The features I am looking for are
>
> 1)enjoyableness
> 2)practicalness
> 3)alternativeness
>
> with a decent nod to
>
> 4)not so long a learning curve (hey, I'm from the TV generation; I need
> instant kicks).
>
> Ruby does the first two, but now I want to cruise into other dimensions, and
> ruby isn't really weird and alternative enough.
>
> I really would like something that makes me think in a very different
> manner, and is excellent at solving a range of problems that imperative
> languages are not too good at. I would like to be using it a lot for
> real-world stuff, like I am Ruby and Delphi.
>

Smalltalk fits the bill on this point. It's image-orientation and
"objects all the way down" approach is very helpful in truly
understanding OO programming.

http://www.squeak.org/download/index.html
http://smalltalk.cincom.com/index.ssp
http://www.object-arts.com/Home.htm (Best Windows Smalltalk)

The book "Smalltalk-80: The Language" is a great companion:

http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?r=1&isbn=0201136880

[snip]

>
> Grateful for any of your wonderful and marvellous thoughts,
>
> Greg
>
>
>

--
Daryl

"We want great men who, when fortune frowns, will not be discouraged."
-- Colonel Henry Knox, 1776

James Britt

unread,
Sep 19, 2005, 11:07:52 AM9/19/05
to

Casting SPELs in Lisp

http://www.lisperati.com/


It is really well done.

James Edward Gray II

unread,
Sep 19, 2005, 11:42:17 AM9/19/05
to
On Sep 19, 2005, at 10:07 AM, James Britt wrote:

> James Edward Gray II wrote:
>
>> On Sep 18, 2005, at 11:32 PM, Kev Jackson wrote:
>>
>>> Lisp - got playing with this on a very boring business trip
>>> (there's an online interpreter somewhere, google for Lisp
>>> tutorial). Pros
>>> - you can do pretty much anything with it (the tutorial leads
>>> you through writing your own mini-language for an old school
>>> adventure game, it was an eye-opener how easy it was).
>>>
>> I'm interested in this tutorial, if you wouldn't mind providing a
>> link. I did some Googling, but couldn't seem to come up with it.
>>
>
> Casting SPELs in Lisp
>
> http://www.lisperati.com/
>
>
> It is really well done.

Yes it is. Thanks for the link.

James Edward Gray II


Christian Neukirchen

unread,
Sep 19, 2005, 11:47:10 AM9/19/05
to
"Greg Lorriman" <bo...@bogus.com> writes:

> "Devin Mullins" <twi...@comcast.net> wrote in message
>

>> APL, Eiffel, Erlang, Haskell, Io, Joy, Lisp, Lua, Mathematica, Mozart/Oz,
>> OCaml, Prolog, REXX, Scala, Scheme, Self, and Smalltalk are all the
>> legitimate, 'alternative' languages that I recognize (by name only, for
>> the most part) from that wiki page, so maybe that makes them more popular.
>> Now get to Googlin'.
>
> ? I can't believe my eyes.
>
> Can someone tell me if I am talking to a troll?

I don't think you are. If you need a smaller list, let me name you
the languages of above that I personally think are interesting and
worth learning:

APL (actually, go for K), Joy, Haskell, (Common) Lisp, Scheme, Self

Add Prolog (which is too frustrating to me on its own, but you can do
logic programming in Lisp and Scheme rather easily too), and you have
covered about every paradigm in existance.

--
Christian Neukirchen <chneuk...@gmail.com> http://chneukirchen.org


Martin DeMello

unread,
Sep 19, 2005, 12:21:57 PM9/19/05
to
Robbie Carlton <robbie....@gmail.com> wrote:
>
> I would wholeheartedly recomend lisp.
> It's definitely alternative
> It's more practical than you might have heard

So practical, they even wrote a book about it :)

http://www.gigamonkeys.com/book/

martin

Rob Rypka

unread,
Sep 19, 2005, 12:46:26 PM9/19/05
to
On 9/18/05, Greg Lorriman <bo...@bogus.com> wrote:

> Yes, but why OCaml? Is it enjoyable? Learning curve...etc.., do you
> actually
> have experience of it?
>

OCaml was required for my Programming Languages class back in college. So,
from first hand experience, I can say it's fun (perhaps the most fun I'd had
programming, until learning Ruby :-) ). A lot of other people in this class
did not share that opinion, but they're generally not the kinds of people
who learn a (programming) language for fun.

The learning curve is going to be the much same as with Haskell, as it's
functional (although not purely). You will have to learn to solve problems
in different ways than you are probably used to, but isn't that the point?

Rob

Stephen Veit

unread,
Sep 19, 2005, 12:59:10 PM9/19/05
to
Paul Graham wrote "On Lisp" which I have not completely gotten through
(only so much time in the day). He got the rights to make it available
on-line for free.

http://www.paulgraham.com/onlisp.html

Greg Graham

unread,
Sep 19, 2005, 1:50:41 PM9/19/05
to
I would echo Robbie's enthusiasm for Lisp, and Martin's recommendation
of _Practical Common Lisp_. My Common Lisp and Scheme experience is
limited to small exercises in my spare time, but I would like to do a
big project in it some day. What fascinates me most about Lisp is the
ability to extend the language using macros. Many people criticize the
syntax of Lisp, with all of its parantheses. But the reason Lisp is
done this way is so that code is expressed in a data structure that
can be easily manipulated by Lisp, which the key to its extensibility.
If you through out the syntax of Lisp, you lose this powerful
capability. All that being said, my next personal project will
probably be in Ruby because I want to do a web application, and Rails
is too cool.

The most fun I've had programming in a professional environment was
using Smalltalk. Back then I used ParcPlace Visualworks, but now I
would recommend the Squeak implementation, which is open source. It
rates high on practicality, with strong Internet protocol and
multi-media support. From a language perspective, for someone who
knows Ruby, it is not as alternative as something like Lisp, Haskell,
or OCamel, because Ruby borrowed a lot of aspects of Smalltalk. The
main thing you will get from Smalltalk over Ruby is that it has an
even more interactive environment, where everything is at your
fingertips. Squeak does have a very alternative GUI toolkit, and an
active community of users.

The most fun I had programming in college was doing a project in
Prolog. Prolog rates very high in the alternative criteria. In Prolog
(short for Programming in Logic) your program consists of a series of
"facts" and "rules", and your program executes by running an inference
engine that attempts to "prove" a given statement based on the list of
facts and rules. Unfortunately, Prolog has not proven to be a good
general-purpose language, so it doesn't rate too high on the
practicality criteria.

Whatever you pick, I hope you enjoy yourself!

Greg

Florian Groß

unread,
Sep 22, 2005, 10:10:55 PM9/22/05
to
James Britt wrote:

> Someone suggested JavaScript; not a bad idea, though probably not
> different enough from Ruby to really stretch your brain. But, if
> practical is a major factor, consider jscript.net. You can use
> Microsoft's version of ECMASscript to write .Net code. (I *think*
> there is a jscript.net compilier for mono, but I'm not sure.)

I've been contributing to it. Basically, it's getting ready for real
world use and can run quite a few parts of Mozilla's ECMAScript test
suite. The things Microsoft introduced in JS.NET (static typing, using
CLR methods) are not yet implemented, but making the important ones work
is a priority right now.

Florian Groß

unread,
Sep 22, 2005, 10:11:02 PM9/22/05
to
Neville Burnell wrote:

> I've been watching 'Factor' for sometime, but I havent used it yet ...

Let me second this. I'm keeping an eye on concatenative languages like
Factor and Joy as well and those languages are simple at their cores,
yet very powerful. They feel good and there's quite some exploration to
be done with their concepts.

Sean O'Halpin

unread,
Sep 22, 2005, 11:54:46 PM9/22/05
to
On 9/23/05, Florian Groß <flo...@gmail.com> wrote:
> Neville Burnell wrote:
>
> > I've been watching 'Factor' for sometime, but I havent used it yet ...
>
> Let me second this.

Let me third this :) Concatenative programming languages like Joy[1]
(very academic) and Factor[2] (a more practical language from the man
who brought us JEdit) are very interesting - giving Forth a
theoretical makeover and applying Lisp's program=data=program concept
to produce a very elegant and powerful paradigm.

In some ways, Factor and Joy feel like Ruby in RPN. Compare Ruby's

[1, 2, 3, 4].map{|x| x * x}

=> [1, 4, 9, 16]

with Joy/Factor's

[ 1 2 3 4 ] [ dup * ] map

=> [ 1 4 9 16 ]

This applies the quoted program [dup *] to the list [1 2 3 4] using
the map operator.

Where Ruby has blocks, and Lisp has lambdas, concatenative languages
have quoted programs.

A more impressive example is Joy's:

5 [1] [*] primrec

which computes the factorial of 5 by using the primrec 'primitive
recursion' operator.

This is the explanation from the tutorial:

> It first pushes the number 5 and then it pushes the two short quoted programs. At this point the stack contains three elements. Then the primrec combinator is executed. It pops the two quotations off the stack and saves them elsewhere. Then primrec tests whether the top element on the stack (initially the 5) is equal to zero. If it is, it pops it off and executes one of the quotations, the [1] which leaves 1 on the stack as the result. Otherwise it pushes a decremented copy of the top element and recurses. On the way back from the recursion it uses the other quotation, [*], to multiply what is now a factorial on top of the stack by the second element on the stack. When all is done, the stack contains 120, the factorial of 5.

That's pretty funky.

The most interesting aspect of concatenative languages is - surprise,
surprise - concatenation, which makes it easy to do all the stuff
functional programming languages do but in a much easier to understand
fashion. For example, if you take a sequence like this:

2 3 * 5 + .

=> 11

you can take any combination of symbols and cut them out and hey
presto you've got a function. E.g. (in Factor syntax);

: times_three 3 * ;
: plus_five 5 + ;

to get

2 times_three plus_five .

=> 11

or you can do this:

: three_times_and_five 3 * 5 ;

2 three_times_and_five +

=> 11

the point being you can abstract ~any~ sequence of operations and data
- strong stuff!

(But if you want to get any real work done, try GForth[3], which is a
blazingly fast Forth that approaches C speed).

Have fun!

Sean

[1] Joy - http://www.latrobe.edu.au/philosophy/phimvt/joy.html

[2] Factor - http://factor.sourceforge.net

[3] GForth - http://www.complang.tuwien.ac.at/forth/gforth/


Robbie Carlton

unread,
Sep 23, 2005, 4:47:12 AM9/23/05
to
Factor looks very cool. But I think the postfix maths is a potential
problem. People really like infix. I think this is the major reason lisp
hasn't been excepted more widely.

joesb

unread,
Sep 23, 2005, 6:02:27 AM9/23/05
to
I would recommend Slate
http://slate.tunes.org/

It features:

+ Smalltalk like syntax (so easy to adapt for Ruby guy)
+ Multipledispatch
+ Prototype base OO.

So In learning Slate you will get two new Idea (Multipledispatch and
Prototype base programming)

I think the idea is nice to learn.

In functional way, may be you would like to try Haskell.

BTW, I'm learning Lisp for myself.

So may be you will be insterested.
A couple things I like in CommonLisp over Ruby is MultiDispatch and
Condition System.

Sean O'Halpin

unread,
Sep 23, 2005, 6:03:27 AM9/23/05
to
On 9/23/05, Robbie Carlton <robbie....@gmail.com> wrote:
> Factor looks very cool. But I think the postfix maths is a potential
> problem. People really like infix. I think this is the major reason lisp
> hasn't been excepted more widely.

Yes, but the OP was looking for something 'weird and alternative'.
As he said:

> I really would like something that makes me think in a very different
> manner, and is excellent at solving a range of problems that imperative
> languages are not too good at.

And RPN is certainly a different way of thinking.

Regards,

Sean


Markus Koenig

unread,
Sep 23, 2005, 1:09:21 PM9/23/05
to
Greg Lorriman wrote:

> Somehow your reply hasn't rendered in Outlook Express, something I've not
> personally seen before. It could just be the notorious OE, but I thought I
> would mention it in case your mailer needs a tweak.

JFTR, it's exactly the same with 40tude Dialog. Could this be caused by
the Mail-to-news gateway?

Markus

Brock Weaver

unread,
Sep 23, 2005, 4:09:17 PM9/23/05
to
That's it. I'm off this list. First the DRM'd PDF discussion, now somebody
brings up COBOL. If I'm going down, I'm going down screamin...

Visual Basic rocks! SQL is for toads! Long live binary files! All your base
are belong to us! Bush is the mastermind behind hurricane Katrina's coverup!
There *was* a guy on the grassy knoll! Windows Vista will squash linux!

Okay, got that off my chest. Sorry, it's Friday. Just trying to bring a
smile, don't flame me too bad!

On 9/18/05, Dave Burt <da...@burt.id.au> wrote:


>
> James Britt wrote:
> > Lisp, Haskell, and Ocaml are floating in the back of my own mind as
> > candidates for next language to learn. Lisp has the upper hand so far,

> > because, well, it's *Lisp*. And there are lots of good, free resources
> > for it.
>
> I'm starting on Haskell, as time permits. Haskell has syntax (Lisp
> doesn't)
> and classes and type declarations. Functional programming is a different
> paradigm, powerful, more directly mathematical. And you can bring some of
> it
> back to Ruby.
>
> Of course, there's also COBOL, which may be the most popular language in
> the
> world by lines of code in production, but I think many would agree with my
> claim that it is more painful than it is practical, and it is certainly
> practical - there are COBOL jobs.
>
> I just posted a paragraph on COBOL to comp.lang.ruby :)
>
> Cheers,
> Dave
>
>
>
>


--
Brock Weaver
brock...@gmail.com

/* you are not expected to understand this */

James Britt

unread,
Sep 23, 2005, 8:32:28 PM9/23/05
to
Brock Weaver wrote:
> That's it. I'm off this list. First the DRM'd PDF discussion, now somebody
> brings up COBOL. If I'm going down, I'm going down screamin...
>
> Visual Basic rocks!


Actually ...

http://rubyurl.com/0IM

mathew

unread,
Sep 30, 2005, 1:52:52 AM9/30/05
to
Gavin Kistner wrote:
> However, despite my own love of JavaScript, it ain't pretty in three
> regards:

> 1) There's no standalone interpreter (that I know of, and certainly not
> part of any 'official' distribution), which leaves you at the mercy of
> WSH or some sort of web-based interpreter[1].

<URL:http://www.mozilla.org/js/spidermonkey/>


mathew
--
<URL:http://www.pobox.com/~meta/>
WE HAVE TACOS

Mark Probert

unread,
Oct 6, 2005, 7:04:36 PM10/6/05
to
On Mon, 2005-09-19 at 06:52 +0900, Greg Lorriman wrote:

> I really would like something that makes me think in a very different
> manner, and is excellent at solving a range of problems that imperative

> languages are not too good at. I would like to be using it a lot for
> real-world stuff, like I am Ruby and Delphi.
>

Depending on your range of problems and platform:

J (www.jsoftware.com)
FORTH (check Google)

Both are more for bending your mind and professional enjoyment than
"get stuff from a database and show it on the screen". If that is
your "joy", then stick to Ruby and Delphi (both excellent choices, BTW).

Regards,

-mark.

Mark Probert

unread,
Oct 6, 2005, 7:39:22 PM10/6/05
to
Hi ..

On Fri, 2005-09-23 at 17:47 +0900, Robbie Carlton wrote:
> Factor looks very cool. But I think the postfix maths is a potential
> problem. People really like infix. I think this is the major reason lisp
> hasn't been excepted more widely.
>

The nice (bizarre?) thing about Forth-ish languages is that they
are complete chameleons. You want infix? Not a problem, just
add a library to redefine the operators. The language doesn't care:

> 4 5 + .
9 ok
> : infix 32 word number drop ;
> : plus infix + ;
> 4 plus 5 .
9 ok
> : .+ plus ;
> : .= . ;
> 4 .+ 5 .=
9 ok

So, are we infix or postfix? Does it really matter?

-mark.

Joel VanderWerf

unread,
Oct 6, 2005, 10:34:26 PM10/6/05
to
Mark Probert wrote:
>>: infix 32 word number drop ;
>>: plus infix + ;
>>4 plus 5 .
>
> 9 ok

Cute, but that only works when the second argument (5 in this case) is a
literal. Getting true infix in forth would be as hard as doing it in any
programming language implementation.

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407


Mark Probert

unread,
Oct 7, 2005, 12:29:33 AM10/7/05
to

Hi ..

On Fri, 2005-10-07 at 11:34 +0900, Joel VanderWerf wrote:
> Mark Probert wrote:
> >>: infix 32 word number drop ;
> >>: plus infix + ;
> >>4 plus 5 .
> >
> > 9 ok
>
> Cute, but that only works when the second argument (5 in this case) is a
> literal. Getting true infix in forth would be as hard as doing it in any
> programming language implementation.
>

Sure. The point being that the languages are by their nature
extensible at this level. Nothing is sacred. That can be
both a good thing and a bad thing, of course ... However,
there are type extensions, object extensions, functional
extensions, ways of making it look like LISP, et al.

Though not to make it look like J ..

-mark.

0 new messages