The Borg Are At It Again!

Howdy Good Ruby Folk,

Is this a good thing?..

Queensland Univerity of Technology is reimplementing Ruby for
Microsoft’s Common Language Runtime and for use with .NET. See
http://www.plas.fit.qut.edu.au/rubynet/.

And this ain’t being done for pure research neither. If you take a
look at the very bottom, you’ll see who’s funding it. You guessed it:
those mischevious miscreants from Redmond.

So, does anyone reckon that the Redmond Cube isn’t scheming away at
their usual borgification approach of adopting, breaking, dividing, and
conquering? It might be an old tactic, but it’s a goodie!

Or, is Ruby and the community up to the challenge? Or, is there nothing
to worry about? And as I posed above, perhaps it is a good thing that
Ruby gets first class access to .NET, since it is mooted as being
released as Open Source. And let’s give them the benefit of the doubt
for now that it really will be a true FOSS licence.

And while I realise that YARV will be better than CLR, if, as it appears
that it will, that Ruby.NET is released before Ruby 2.0, then what is
the
significance of this project beating Original Ruby to the punch with a
VM?

I really don’t know what to make of it. But I feel pretty comfortable
with being hyper-suspicious though…

So, does anyone have any interesting analyses of what it might all mean?

Cheerio,

thoran

The more the merrier. MS supports research into compiling many
(dyn)langs into DotNet/CIL. Python seems to be their main dynlang
target with IronPython. They want broad support for their DotNet/CLR
env and dynlangs is an interesting “niche” for the future. Why worry;
we need more compilation alternatives for Ruby. The rumour has it that
the next version of DotNet/CLR will have much improved support for
dynlangs.

We (a student of mine, myself and Hal F.) worked on a Ruby to CIL
compiler some time back but didn’t get that far because of limited
time and resources available. I still have hopes to take this up in
the future.

DotNet/CIL is interesting mainly from a commercial viewpoint IMHO;
there are many high-quality libraries available for it which can be
used either with a CLR bridge like RubyCLR etc or, more directly, from
a Ruby2CIL compiler. This should be a good thing since it expands on
the possible scenarios in which you can use your Ruby skills and do
useful stuff (by gluing good libs together for example).

However, there are also other potentially good sides with a Ruby2Cil
compiler. IronPython also shows that good performance can be achieved;
on some benchmarks it even beats the C-implemented and over-many-years
highly tuned standard Python implementation. The potential for a
Ruby2CIL compiler might be even larger when it comes to performance
since the current Ruby compiler is AST-eval based and (I think -
without having any real, hard devidence -) have, on average, somewhat
lower performance than the Python one.

My 2 cents,

Robert F.

In article [email protected],
[email protected] [email protected] wrote:

those mischevious miscreants from Redmond.
Believe me, I am no fan of that company from Redmond.
However, if they are funding Ruby development on their .NET platform
(which
they apparently are not using much themselves for the next version of
Windows

  • I forget what they’re calling it) then more power to them. If it
    means that Ruby runs better on Windows then that’s great (sometimes I
    end up having
    to use Windows in a work situation).

I don’t think there’s anything to worry about if it’s going to be under
a true
FOSS license. If they tried to take Ruby and, say, fork it and change
it in
subtle ways so that it’s incompatible with the Ruby that everyone else
is
using then the community could certainly make it’s collective voice
heard.

And while I realise that YARV will be better than CLR, if, as it appears
that it will, that Ruby.NET is released before Ruby 2.0, then what is
the
significance of this project beating Original Ruby to the punch with a
VM?

Not much, I suspect, other than Ruby might run faster on Windows than it
does
on other platforms for a while until YARV comes out.

I really don’t know what to make of it. But I feel pretty comfortable
with being hyper-suspicious though…

Certainly there are lots of historical reasons for being
‘hyper-suspicious’ of
Micro$oft, but I don’t think this is one of those occasions where there
is
much reason for worry.

So, does anyone have any interesting analyses of what it might all mean?

I don’t see anything sinister afoot. If Redmond ends up encouraging
wider use
of Ruby because of this then it’s a great thing. Personally, I don’t
generally
use their products and I don’t really understand much about .NET & CLR
other
than the marketing we’ve all seen. Mostly their products are irrelevant
to my
day-to-day work, however, occasionally I get a contract job where I have
to use
Windows and if they’re able to make Ruby run faster on Windows because
of this
work then that’s fine by me. If it leads to greater Ruby use among
developers who live & breath in that .NET world (which is like a foreign
land
to many of us) that’s certainly not a bad thing as far as I can tell.

Phil

I think you’re over-reacting. You know there has already been a
version of ruby for the java runtime too. Also there is rubyclr, a
bridge between standard ruby and the .NET clr.

Ruby for .net will still be open source it appears. And John Gough who
is working on it wrote the book on writing compilers for .NET.
My main worry would be that, just like virtually every funded academic
development project out there, ruby.net will be virtually abandoned the
instant funding ends.
Also, IronPython has been over-hyped already for 2 years, even though
it is still far from complete and no where near as fast as normal
python. But every .NET blogger and python evangelist in the world
talks about it. And ruby folks are already talking about rubyclr. So
I don’t see how ruby .net can get any significant attention.

Hi!

At Fri, 17 Mar 2006 22:10:23 +0900, [email protected] wrote:

Queensland Univerity of Technology is reimplementing Ruby for
Microsoft’s Common Language Runtime and for use with .NET. See
http://www.plas.fit.qut.edu.au/rubynet/.

Borg no Matsumoto Yukihiro desu

And this ain’t being done for pure research neither.

“pure research” is fiction. Research is always done for profit. Often
that profit is be measured in [insert currency name here] but it can
also be reputation or the great feeling of having done something that
no human has done before.

So, does anyone reckon that the Redmond Cube isn’t scheming away at
their usual borgification approach of adopting, breaking, dividing,
and conquering? It might be an old tactic, but it’s a goodie!

The three commandments of interoperable software development are to
implement

  1. the standard
  2. the full standard and
  3. nothing but the standard.

To my understanding “breaking” requires that someone (on purpose)
violates commandment 1 or 2 or both. What Microsoft actually does is
violating commandment 3. In other words: They “extend” the standard.

Of course extending a standard is a natural process but in order to
guarantee interoperability it is necessary to share the extensions one
makes (with the aim of incoporating them into a new revision of the
standard)

Josef ‘Jupp’ Schugt

I think this is great. If they are succesful it would mean that I can
comply with people who require things like ‘Scaleable Enterprise
Solutions’ and projects built on ‘Proven Technologies’, all the while
using a language that doesn’t feel like crawling over broken glass.

Really, I think it’s to everyone’s advantage that JRuby and Ruby.net
mature. It means we have the option of using ruby in more places, and
who can argu with that?

I have little love for Microsoft, but come on, the very worst that
happens is that there is another project you don’t need to use. I
believe that there is Iron Python (or something like that) for CLR, and
I haven’t seen Python collapse into a burning heap of rubble for it.

I say, best of luck to them, and I eagerly await something fun to play
with.
.adam sanderson

I see this as great news.

It could possibly result in a fast, (hopefully with Mono)
cross-platform Ruby VM.

More importantly, it would hopefully give Ruby native threads, and
robust database drivers. Two things it’s really hurting for IMO.

There are lots of potential downsides, like the whole “embrace &
extend”, especially since .NET development is so incredibly complex
for complexity’s sake right now. It’d be a real shame to see that
mindset penetrate Ruby. But no need to be negative. Ruby is Ruby, and
unless MS plays nice, any Ruby.NET “official” implementation won’t be
anymore the thing that MS forces on the Ruby community than IronPyton
is the thing that MS forces on the Python community. That is to say, if
you like Python, and work with .NET, you probably appreciate that
there’s an IronPython, but IronPython isn’t the “official” Python, and
it’s not what all the books and community are about.

On 18 Mar 2006, at 16:38, [email protected] wrote:

It could possibly result in a fast, (hopefully with Mono)
cross-platform Ruby VM.

More importantly, it would hopefully give Ruby native threads, and
robust database drivers. Two things it’s really hurting for IMO.

It would also, if I understand .NET properly, mean that if somebody
says “I have this .NET app written in C# and need a new bunch of
functionality adding to it, can you help?” you can turn up and extend
that app, add methods to those objects, the whole lot, all within Ruby.

In other words, by not lifting a finger, we all become .NET developers.

Useful for paying the rent, if you ask me. :slight_smile:

There are lots of potential downsides, like the whole “embrace &
extend”, especially since .NET development is so incredibly complex
for complexity’s sake right now. It’d be a real shame to see that
mindset penetrate Ruby. But no need to be negative. Ruby is Ruby, and

MS have been well-behaved in this regard for a couple of years now
and are getting better.

In the same way that most kids graduating from college in the last
few years have no memory of the Berlin Wall, they don’t understand
“proprietary standards”. MS is hiring them, they’re making calls,
we’re winning. :smiley:

unless MS plays nice, any Ruby.NET “official” implementation won’t be
anymore the thing that MS forces on the Ruby community than IronPyton
is the thing that MS forces on the Python community. That is to
say, if
you like Python, and work with .NET, you probably appreciate that
there’s an IronPython, but IronPython isn’t the “official” Python, and
it’s not what all the books and community are about.

Story I’m reminded of, which may be urban myth, but I seriously hope
it isn’t:

MS demo’ing a load of Unix Services for Windows stuff back in the
1990s. One of the big pitches was their native version of ksh. So
they demo the whole Korn shell thing, proudly showing off in front of
a room full of invited top-flight geeks.

They get to the end of the demo and this guy at the back of the room
starts pointing out that it wasn’t ksh93 compliant (or even ksh88),
that it just wasn’t ksh at all, just a poor imitation. The MS exec
starts arguing, insisting that they are completely compliant, and the
guy just shouts back that it isn’t, taking it apart piece by piece by
piece.

This goes round in circles with the guy at the back arguing it just
isn’t anything like ksh, MS exec arguing it is completely ksh. After
a few minutes of this, a guy on the front row of the audience leans
forward and says to the MS exec “You know the guy you’re arguing with
is David Korn, right?”

Priceless.

On 2006-03-19, Paul R. [email protected] wrote:

Story I’m reminded of, which may be urban myth, but I seriously hope
it isn’t:

[David Korn embarrasses Microsoft]

Apparently it is true. Even though I didn’t find it directly on the
Internet, Slashdot made a Q&A with David Korn in 2001, where this
question was asked:

David Korn Tells All - Slashdot (It’s question 5)

No matter if it’s true or not, I found it hilarious :slight_smile:

br,
cypher

Objects in calendars are closer than they appear.

“Don’t summarize. Don’t abbreviate. Don’t interpret.” – djb

On 2006-03-20, cypher [email protected] wrote:

Apparently it is true. Even though I didn’t find it directly on the
Internet,

Looks like I didn’t look close enough:
Both Answers - The Most Trusted Place for Answering Life's Questions and
David Korn - Wikipedia mention the incident.

br,
cypher

Objects in calendars are closer than they appear.

“Don’t summarize. Don’t abbreviate. Don’t interpret.” – djb