Re: [Rubydotnet-developer] Undergrad project
Status: Alpha
Brought to you by:
thomas
From: Ron J. <ron...@ac...> - 2004-07-01 11:17:05
|
On Wednesday, June 30, 2004, at 11:48:18 PM, Tim Sutherland wrote: > On Wed, Jun 30, 2004 at 09:56:51AM -0400, Richard Kilmer wrote: >> You may want to contact Robert Feldt: <fe...@ce...> (I Cc'd him on >> this message). >> >> He has students working on a Ruby to CIL compiler (from his ruby-talk post): >> > [...] >> http://www.pronovomundo.com/htu/theses2004/ >> >> Jan-?ke Hedstr?m, "RubySharp ? A Ruby to CIL Compiler" > [...] >> This paper describes the development of RubySharp, a proof-of-concept >> compiler. It is able to compile a subset of features from the dynamic >> programming language Ruby into CIL (Common Intermediate Language), > [...] >> On 6/30/04 3:50 AM, "Thomas Sondergaard" <th...@th...> >> wrote: >> I think the most interesting project in this realm is IronPython. Rather >> than bridging it is a rewrite of Python targetting IL. I don't think it >> is available yet, but you could google for it and get in contact with >> the author for details. Fundamentally he (IronPython) has the right idea >> - bridging anything to the current ruby runtime will remain mostly a >> hack, because I don't think you will be able to satisfactorily solve at >> least the following fundamental problems >> >> 1) The dual-gc problem, >> 2) The ruby pseudo-threading versus .net native threading problem > [...] > Thanks to both of you for your comments. > The concern I have with dropping the current Ruby runtime entirely is > that then you're no longer dealing with Ruby, but instead have 'the > subset of Ruby that is currently supported by this .NET > compiler/interpreter'. > It would be interesting to combine a CIL compiler with the Ruby runtime > so we gain performance and integration when dealing with .NET stuff but can > also use normal Ruby code. I will certainly read the RubySharp paper. > A large part of my project will be considering what other people have > already done in this area, both by the people on this list and by projects > for other languages and systems. (e.g. Ruby and Python on Java projects.) I don't have an answer to the question I'm about to ask, but the question is this: What does a person using Ruby with .NET really want and need? Let me riff on that a bit. One might just need Ruby. If I just want to script some .NET programs with Ruby, it probably works fine as it is. Start programs, read and write files, no big deal. Probably not a project lurking there. Or, one might want to program in Ruby, mixing and matching with .NET programs and libraries in the "same way" one can mix C# and VB programs. (At least with managed programs, let's say.) Now here it gets interesting. There are in fact probably things that are in real Ruby that are "inappropriate" if one's doing a Ruby.NET. Very likely, almost everything should work the way it works in .NET, not the way it works in Ruby. Files and directories should use the .NET facilities. (This could be very important with upcoming changes to the file system in future versions of Windows.) Strings should use and work on .NET strings. This would come down to Ruby syntax, compiling to IL, running against the real .NET libraries, and -- I suppose -- producing libraries that can be used from other .NET languages. Thinking this way, I imagine that I might want to have .rb source files open in Visual Studio, the same way I have .cs or .vb files open. Build the app, they compile and build just like anything else. A real live compatible Ruby. A hard project but from some viewpoints, the only one. I don't mean that to be the answer to my question of what we want and need, but it might be ONE answer. Regards, Ron Jeffries www.XProgramming.com Learn from yesterday, live for today, hope for tomorrow. The important thing is to not stop questioning. --Albert Einstein |