Status of Cardinal (was Re: Proposal to create a new mailing

Robert D. wrote:

oops I stepped on your feet, did I?
Did the JVM speed up so much or is my reference rotten, I am going to look
it up when back on work.
Forgive my ignorance I should have put a question mark behind my statement
but that holds for too many a things we think to know :frowning:
If the JVM has become that fast a Smalltalk VM should be able to become
even
faster I guess.

See my comments and links on performance further down…

I really dislike Java but even as biased as I am I recon JRuby must be a
hell of a project and very important for the community.
It is also my last trump when discussing Ruby with Java affacinados and it
is a very high trump.

It’s important not to think of JRuby in terms of Java, especially if
you’re a Rubyist or someone who dislikes Java. JRuby is Ruby, just on
another VM and implemented under the covers in a different language.
Don’t equate JRuby and Java.

But the motivation for JRuby holds for SmallRuby and looking at both
languages (J&S) Smalltalk seems to fit better. Now even the greates
Smalltalk fan ( and I am not ) could not immagine that a Smallruby would
ever have the usage of JRuby.

The motivations for JRuby go well beyond those for a SmallRuby, largely
because not only could it potentially be a “better Ruby” in some ways,
but it would be a Ruby that could leverage the entire Java platform, now
GPL and freely available. So there’s two ways to think about JRuby: as
an alternative implementation of Ruby and as an alternative language for
the Java platform. Last I checked, there were still quite a few Java
shops around :slight_smile:

If Smalltalk will survive it will so in a niche I guess, it would be
wounderful if Ruby could exist in that niche, would it not?

I think Ruby has the potential to be a “friendlier” Smalltalk, friendly
enough that it could be Smalltalk design principals to a much wider
development world. Ruby has taken the many of the best features of
Smalltalk (and Lisp, and a few others) and made them usable in a
friendly, fun context. That’s no small feat.

And Squeak is far from being one of the fastest

incarnations.

That I have heard too, but I did only intent to use Squeak as a FE (and BE
too buit one could use any VM).

Here’s a quick alioth shootout comparing VisualWorks Smalltalk (they
claim it’s comparable to Strongtalk) versus “Java JDK -server”, whatever
that is. Java comes out well ahead on almost every benchmark in terms of
both performance AND memory use. I believe

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=vw&lang2=java

Also versus GST Smalltalk (I’m not famiiar with it). Again Java comes
out well ahead:

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gst&lang2=java

It’s also very important to remember that the technologies in Strongtalk
and Self live on in HotSpot; so it’s not far off to say that Smalltalk
technology is in play today to make Java run faster. If we can find good
ways to leverage that technology from JRuby (and other dynlang impls) we
may achieve what Parrot is still working on: a world-class VM for many
dynamic languages.

On 1/2/07, Charles Oliver N. [email protected] wrote:

Robert D. wrote:

And I have gladely taken them especially the one about Java being your
friend even if you do not like it!!!

I think Ruby has the potential to be a “friendlier” Smalltalk, friendly

enough that it could be Smalltalk design principals to a much wider
development world.

That was after all also my idea, I still think that albeit some good
points
Ed made on the GUI, a Smalltalk GUI system would be a very productive
development environement. To be clear I guess so I do not know.

Ruby has taken the many of the best features of

Smalltalk (and Lisp, and a few others) and made them usable in a
friendly, fun context. That’s no small feat.

out well ahead:

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gst&lang2=java

It’s also very important to remember that the technologies in Strongtalk
and Self live on in HotSpot;

Is HotSpot open source now?

so it’s not far off to say that Smalltalk

technology is in play today to make Java run faster.

That is very nice credit you are giving them :slight_smile:

If we can find good

ways to leverage that technology from JRuby (and other dynlang impls) we
may achieve what Parrot is still working on: a world-class VM for many
dynamic languages.

I ll try to get some time looking at it.
And without any ambition because of lack of time, money and (probably :wink:
talent, it might nevertheless by a nice personal project to port some of
jRuby to Smalltalk.

Thanks for your precise and kind answers.

Charles Oliver N., JRuby Core Developer
Blogging on Ruby and Java @ headius.blogspot.com
Help spec out Ruby today! @ www.headius.com/rubyspec
[email protected][email protected]

Robert

“The real romance is out ahead and yet to come. The computer revolution
hasn’t started yet. Don’t be misled by the enormous flow of money into
bad
defacto standards for unsophisticated buyers using poor adaptations of
incomplete ideas.”

  • Alan Kay

On 1/2/07, Robert D. [email protected] wrote:

On 1/2/07, Charles Oliver N. [email protected] wrote:

It’s also very important to remember that the technologies in Strongtalk
and Self live on in HotSpot;

Is HotSpot open source now?

Yep:
https://openjdk.dev.java.net/hotspot/

On 1/2/07, Wilson B. [email protected] wrote:

Yep:
https://openjdk.dev.java.net/hotspot/

Now I should really rethink before writing so fast :frowning:
However would that not make it possible to make it as fast a VM for
Smalltalk as for Java at least?
I still believe that more is better than viewer and that SmallTalk is
much
more modern than Java, sorry about that.

Thx for the input!

Robert

“The real romance is out ahead and yet to come. The computer revolution
hasn’t started yet. Don’t be misled by the enormous flow of money into
bad
defacto standards for unsophisticated buyers using poor adaptations of
incomplete ideas.”

  • Alan Kay

M. Edward (Ed) Borasky wrote:

Ruby.) But teaching programmers to be better at multithreading, etc.
However, Erlang does some other things that seem to stick in the craw of
a lot of folks here – like a functional programming style and
compile-time type checking. :slight_smile:

Why do you say Erlang does compile-time type checking?

On 1/2/07, M. Edward (Ed) Borasky [email protected] wrote:

last night just to see what they were up to. They’re both in Gentoo’s
Portage tree – I could play with them if I wanted to, but I don’t.

No numbers, but I have been keeping a vague eye on perl6 and pugs, and
the impression I get is that Haskell has proved to be far more of an
asset (it’s a very productive language indeed) than a dealbreaker.

O'Reilly Media - Technology and Business Training is indicative.

I think I have the GHC binary installed because it’s required by Darcs
and there are a couple of projects I hack on occasionally that are using
Darcs. I think Haskell and Darcs and GHC and Pugs are all dead-ends and
won’t survive a “market shakeout”, no matter how high their “quality” is
on any metric. Haskell, GHC, Darcs and Pugs are deal-breakers for me.

I can’t argue with that, but I hope it’s wrong. There really is a lot
to be gained from powerful, expressive languages, which C is
emphatically not.

martin

On 1/3/07, Martin DeMello [email protected] wrote:

O'Reilly Media - Technology and Business Training is indicative.

What a great link!!!
Thx a lot for sharing.

martin

Robert


“The real romance is out ahead and yet to come. The computer revolution
hasn’t started yet. Don’t be misled by the enormous flow of money into
bad
defacto standards for unsophisticated buyers using poor adaptations of
incomplete ideas.”

  • Alan Kay

Robert D. wrote:

On 1/3/07, Martin DeMello [email protected] wrote:

O'Reilly Media - Technology and Business Training is indicative.

What a great link!!!
Thx a lot for sharing.

Yeah … fun is definitely a compelling business reason for moving from
subversion to Darcs. So – is there any chance that Perl 6 will become a
dialect of Haskell rather than a rewrite of Perl?

And who has more fun – Ruby programmers or Haskell programmers?


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.

On 1/3/07, M. Edward (Ed) Borasky [email protected] wrote:

Thx a lot for sharing.

Yeah … fun is definitely a compelling business reason for moving from
subversion to Darcs. So – is there any chance that Perl 6 will become a
dialect of Haskell rather than a rewrite of Perl?

And who has more fun – Ruby programmers or Haskell programmers?

Well it might be a challange to be more -Ofun than them and I believe
Smalltalkers have a lot of fun too.
Robert

M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.


“The real romance is out ahead and yet to come. The computer revolution
hasn’t started yet. Don’t be misled by the enormous flow of money into
bad
defacto standards for unsophisticated buyers using poor adaptations of
incomplete ideas.”

  • Alan Kay

Robert D. wrote:

And who has more fun – Ruby programmers or Haskell programmers?

Well it might be a challange to be more -Ofun than them and I believe
Smalltalkers have a lot of fun too.
Someone (Dave T.? Andy H.? DHH?) said that Ruby made programming
fun again. So the obvious question is, “What languages were fun before
there was Ruby?”

I’ve never written any Smalltalk, so I can’t comment there, but I have
to admit, as much as I enjoy programming in general, the two languages
that have been the most fun over the years have been Lisp (1.5 actually
– I don’t really enjoy Common Lisp all that much) and Forth.

The key to fun in that article, or at least one of them, seems to be the
rapid feedback that one can get with some languages. Certainly a Lisp or
Scheme REPL environment or Forth’s equivalent, the “outer interpreter”
and “colon compiler”, give that kind of rapid feedback. And Ruby has
irb, although there isn’t really an “IDE” with irb at the core, at least
none that I’m aware of. In Forth, we used to call this process DATK –
Design At The Keyboard.


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.

On 1/3/07, M. Edward (Ed) Borasky [email protected] wrote:

Yeah … fun is definitely a compelling business reason for moving from
subversion to Darcs.

No, but it’s a compelling reason to spend your limited free time
hacking on Pugs rather than any project that might be competing for
your attention. Toss in the productivity boost Haskell gives you and
the future looks pretty bright for Pugs in terms of not drying up and
withering away.

So – is there any chance that Perl 6 will become a
dialect of Haskell rather than a rewrite of Perl?

It’s passing Perl 6 tests, so I’d say no :slight_smile: On the other hand, Haskell
might just about be flexible enough to let it be both (not sure).

And who has more fun – Ruby programmers or Haskell programmers?

I enjoyed both, but the last time I looked at Haskell, Ruby was
definitely more in tune with the posixverse, and I didn’t have any
real itch that Haskell scratched. Were I a perler I’d be very tempted
by pugs.

martin

On 1/3/07, M. Edward (Ed) Borasky [email protected] wrote:

Yeah … fun is definitely a compelling business reason for moving from
subversion to Darcs. So – is there any chance that Perl 6 will become a
dialect of Haskell rather than a rewrite of Perl?

And who has more fun – Ruby programmers or Haskell programmers?

In Rubinius, fun is an object, just like stack frames and CPUs.

Wilson B. wrote:

In Rubinius, fun is an object, just like stack frames and CPUs.
CPUs are objects in Rubinius? Do you have your own scheduler?


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.

On 1/3/07, M. Edward (Ed) Borasky [email protected] wrote:

Wilson B. wrote:

In Rubinius, fun is an object, just like stack frames and CPUs.
CPUs are objects in Rubinius? Do you have your own scheduler?

Yeah. We are planning to have M:N green->native thread mapping, so we
need to do some scheduling.

Hi,

In message “Re: Fun languages (was Re: Status of Cardinal (was Re:
Proposal to create a new mailing list))”
on Thu, 4 Jan 2007 00:46:11 +0900, “M. Edward (Ed) Borasky”
[email protected] writes:

|Someone (Dave T.? Andy H.? DHH?) said that Ruby made programming
|fun again. So the obvious question is, “What languages were fun before
|there was Ruby?”

BASIC was fun for me, when I was in junior high. The point is that as
I grow up, the problem domain I am in charge become far more complex
than BASIC can handle. That’s why I need Ruby.

						matz.

On 1/3/07, M. Edward (Ed) Borasky [email protected] wrote:

The key to fun in that article, or at least one of them, seems to be the
rapid feedback that one can get with some languages. Certainly a Lisp or
Scheme REPL environment or Forth’s equivalent, the “outer interpreter”
and “colon compiler”, give that kind of rapid feedback. And Ruby has
irb, although there isn’t really an “IDE” with irb at the core, at least
none that I’m aware of. In Forth, we used to call this process DATK –
Design At The Keyboard.

To me, one major component of ‘fun’ is how well the ‘grain’ of the
language supports clean, abstract programming and problem solving in
the domain at hand. Ruby is a lot of fun, for example, because its
blocks make control structure abstraction not only easy, but the
natural way to solve a problem, because it speaks unix very well
indeed, and because it is sufficiently multiparadigm that you almost
never need to fight the language to do what you want to do.

Lisp and Haskell are both almost as much fun as ruby, but a major win
for the latter is that it is the first (sufficiently powerful)
language where I’ve never had to wonder whether I’m using the language
wrong or simply approaching the problem wrong (I’ve had experiences in
both CL and Haskell where I was actually making a mistake in my
formulation of the problem, but my first instinct was nevertheless to
blame my grasp of the language. Doubtless that will go away as I get
more comfortable in said languages, but with ruby I was comfortable
from day one).

martin

Yukihiro M. wrote:

I grow up, the problem domain I am in charge become far more complex
than BASIC can handle. That’s why I need Ruby.

  					matz.

BASIC was never fun for me. I was in grad school when it came out, and
by then I had extensive FORTRAN and macro assembler experience and was
fooling around with Lisp 1.5. I simply can’t imagine the people who
bought Altairs and spent hours reading Microsoft BASIC into the 8K of
RAM from an ASR 33. :slight_smile:


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.

Wilson B. wrote:

On 1/3/07, M. Edward (Ed) Borasky [email protected] wrote:

Wilson B. wrote:

In Rubinius, fun is an object, just like stack frames and CPUs.
CPUs are objects in Rubinius? Do you have your own scheduler?

Yeah. We are planning to have M:N green->native thread mapping, so we
need to do some scheduling.

Very cool :slight_smile:


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.

Martin DeMello wrote:

To me, one major component of ‘fun’ is how well the ‘grain’ of the
language supports clean, abstract programming and problem solving in
the domain at hand. Ruby is a lot of fun, for example, because its
blocks make control structure abstraction not only easy, but the
natural way to solve a problem, because it speaks unix very well
indeed, and because it is sufficiently multiparadigm that you almost
never need to fight the language to do what you want to do.
Yes, as long as your problem can be naturally expressed as a mapping
from real-world entities to objects and classes, Ruby is the natural way
to do it. I have a problem, however, that’s most naturally coded as
vector and matrix operations. Moreover, the algorithm is already
defined, and although there are real world “classes” of “objects” –
workload classes and service centers in a queuing network, as a matter
of fact – there’s no “obvious” way to say the methods “belong” to a
workload class or a service center, because most of them are a double
loop over both workload classes and service centers. As a result, the
whole idea of doing it in Ruby is losing its appeal, and I’m probably
going to give up and write the whole thing in R. :frowning:

Lisp and Haskell are both almost as much fun as ruby, but a major win
for the latter is that it is the first (sufficiently powerful)
language where I’ve never had to wonder whether I’m using the language
wrong or simply approaching the problem wrong (I’ve had experiences in
both CL and Haskell where I was actually making a mistake in my
formulation of the problem, but my first instinct was nevertheless to
blame my grasp of the language. Doubtless that will go away as I get
more comfortable in said languages, but with ruby I was comfortable
from day one).
Lisp, at least the dialect I learned many years ago and still think in,
is a very low-level language compared to Ruby. It is elegant and simple
and clean and powerful and all that, but there really are only two data
structures – the dotted pair and the list. The impressions I’ve gotten
of Haskell – pretty sparse, except that I’ve read the works on
Combinatory Logic by the man the language was named after, Haskell Curry
– is that if you think in combinators, it’s great.

But I don’t … and I don’t really think in lambda calculus or objects
and classes either. I think in applied math, both numeric and symbolic,
and in macro assembler and Boolean logic design. That’s one reason I
like Petri nets so much – you can reduce them mechanically to matrix
operations. :slight_smile:


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.

Jon H. wrote:

F# is also fun but it is newer than Ruby.

Mathematica is definitely fun, but expensive fun. Axiom is as much fun
and is open source. :slight_smile:


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.