Robert D. wrote:
would be rolling already
Of the Ruby implementations, I’m guessing Rubinius is closest to a
“SmallRuby” as you describe it. At least the way Evan P. described
it at RubyConf makes me think that. However, I’m not at all thrilled
with the Squeak UI. It is so contrary to everything I do on a daily
basis that I find it difficult to do any more than replay the built-in
demos. And it’s visually unappealing to me on top of that. Squeak is an
exciting and interesting project – it’s just too far away from my
default modus operandi.
Actually it would attack the two most criticised points of Ruby
“speed” and
“IDE”
I haven’t seen benchmarks from the jRuby people recently and I don’t
recall ever seeing any from Rubinius, but I think jRuby is even now
faster than the standard C version on some benchmarks, and YARV is four
times as fast as the standard C version on my “Matrix” benchmark, which
(very indirectly) tests speed of “exact math”.
Concerning IDEs, I’ve already said that I find the Squeak UI unusable,
although I know I could learn it. But what’s the motivation for learning
Squeak? Aside from a rather nifty continuation-based web framework
called Seaside, there’s nothing written in Squeak that remotely
resembles any of the projects that interest me – computational finance,
applied mathematics, performance engineering.
The only thing that I find very interesting in Squeak is Squeak’s
rather extensive built-in MIDI/audio capabilities. Squeak appears to be
a fine platform for algorithmic composition and synthesis. But I’m so
used to the Lisp and CSound (and Lilypond and Rosegarden and Alsa-jack)
way of doing those things that it’s a tradeoff between learning another
way of doing something I already know how to do for the joy of learning
or just getting stuff done. Once again, it’s the triumph of “good
enough” over “cool beyond words”.
Let’s have a Ruby IDE that works the way Rubyists work – integrated
with Rspec/Rdoc/Ri/ZenTest/Rake/Hoe/Rubygems (and Rails/Mongrel – let’s
not forget Rails). Again, that’s probably a lot more like Rubinius and a
lot less like jRuby or “Microsoft Ruby”, which, after all, work the way
Java programmers or .NET programmers work for the most part.
As an aside, perhaps the JVM is more than just a virtual machine – at
least that’s the way it appears to me after seeing what jRuby is all
about. It seems to me to be very much an “operating system” –
concurrency primitives, process, thread and memory management, windowing
toolkit, mixing of languages (at least Ruby, Python, Java and C
extensions), etc.
Hmmm be careful about that statement I guess you know you might be
wrong
Yeah, I know – there’s no such thing as the one best way to do
something. And there’s nothing wrong with designing the Parrot virtual
machine as a register machine because the majority of people who will be
programming at that level are Motorola 68000 assembly programmers
either. But there is something wrong with implementing a new Ruby
virtual machine in Forth or Pascal or pseudo-M68000 assembler when the
majority of the people who will be programming at that level are C
programmers. C and the JVM and the CLR are “good enough”, with the
possible exception of concurrency primitives.
–
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.