<pedrocorreia.net ⁄>

<Close Ruby encounters of the .NET kind ⁄ >

clicks: 3878 3878 2006-10-04 2006-10-04 goto tecnologia myNews tecnologia  Bookmark This Bookmark This

The Ruby dynamic language, in particular the Ruby On Rails framework, has taken the Web development community by storm, owing to the ease of rapidly developing new Web applications. But thus far, the fruits of this effort have eluded .NET programmers in any finalized form. However, at least three efforts are now under way to make the Ruby environment more accessible to .NET programmers and the significant infrastructure that supports the .NET environment.

John Lam, a partner at ObjectSharp who is writing the RubyCLR bridge, explained, "For things like Web application development, frameworks like Rails are extremely useful because they reduce the amount of code people have to write, and more important, how much code you have to maintain. Those are things that consume the vast majority of time in software, because you usually don't get it right the first time. What makes Rails possible is an extremely dynamic language like Ruby."

With static languages like C#, the programmer is forced to make many decisions up front, so that when the inevitable change happens, there is more code to read, touch and understand. But this advantage comes with a tremendous performance hit. Lam said a ten-fold decrease in performance is not uncommon. However, since Web applications tend to be more constrained by input/output limitations than processing time, this is not a significant problem. Lam noted, "I am not going so far as to say Web applications are the only domain, but when the server is sitting around for the vast majority of time doing nothing, there are a lot of tremendous opportunities for building code."

Queensland University of Technology Professor John Gough, who is leading the Ruby.NET implementation, said, "Ruby implementations are slow, even compared to other scripting languages. This is the price that is paid for the extremely dynamic semantics of the object type system, and the brute force approach to implementation by a tree-walking interpreter. The language has gained a popular following because of its expressivity, not its runtime performance.

"We see a role for scripting languages as glue that holds together computational frameworks that do serious background data crunching. The framework would typically be implemented in static languages while the scripting language provides a means for non-IT-specialists to manage their "eResearch" projects. If you accept this division of role, then clearly interoperation between languages is a primary requirement."

Of the three Ruby implementations for .NET, RubyCLR, which is a .NET bridge, has made the most progress according to Lam, but it suffers from performance limitations because all of the code runs through a Ruby interpreter. The other two projects, IronRuby and Gardens Point Ruby (or Ruby.NET), are aiming to be native implementations on top of the .NET Common Language Runtime (CLR), which promise better performance in the long term, but will require more time to complete.

Lam said, "The advantage of the RubyCLR approach is that it works. I am further along than the other ones. They have to build a native language, which is a really challenging problem. I have the shortest path to get from A to B."

Lam has released three drops, which are roughly equivalent to Community Technical Previews. He doubts he will have the 1.0 version of RubyCLR out before the end of the year.

A beta version of the Ruby.NET compiler for Ruby was released in early August. It produces standard .NET program executable (PE) files either for immediate loading (in interactive mode) or for loading later. Thus libraries may be held as PE files rather than the usual Ruby source. The PE files only use the verifiable subset of the instruction set, so that 100% verifiability of object code is an attainable goal. This is important to ensure that Ruby code may be used as stored procedures in an SQL database, for example.

Gough said, "So far as I am aware, our implementation is the most complete, in terms of implementing most of the Ruby semantics, but is lagging in the area of interop, mainly because we have not addressed this aspect yet."

este é só um excerto do artigo, para aceder ao artigo completo, clique no link em baixo:
this is just a small excerpt from the article, to access the full article please click in the link below:


Subscribe News RSS  Subscribe News Updates by E-mail

myNews <myNews show="rand" cat="tecnologia" ⁄>

MongoDb Architecture new ...

NOSQL has become a very heated topic for large web-scale deployment where scalability and semi-struc (...)

clicks: 21609 21609 2012-05-14 2012-05-14 goto url (new window) horicky.blogspo... goto myNews tecnologia

A Hopefully Fair and Useful Comparison of Haskell Web Frameworks new ...

Recently there has been a lot of discussion and questions about the differences between the big thre (...)

clicks: 27007 27007 2012-05-13 2012-05-13 goto url (new window) softwaresimply.... goto myNews tecnologia

Retina graphics for your website new ...

retina.js is an open source script that makes it easy to serve high-resolution images to devices wit (...)

clicks: 17202 17202 2012-05-11 2012-05-11 goto url (new window) retinajs.com/ goto myNews tecnologia

What every programmer should know about memory, Part 1 new ...

In the early days computers were much simpler. The various components of a system, such as the CPU, (...)

clicks: 20609 20609 2012-05-10 2012-05-10 goto url (new window) lwn.net/Article... goto myNews tecnologia

The State Of HTML5 Video

HTML5 has entered the online video market, which is both exciting and challenging for developers in (...)

clicks: 8087 8087 2012-02-14 2012-02-14 goto url (new window) longtailvideo.c... goto myNews tecnologia

A Tour of Amazon's DynamoDB

Amazon's recent release of DynamoDB, a database whose name is inspired by Dynamo, the key-value data (...)

clicks: 7468 7468 2012-02-13 2012-02-13 goto url (new window) paperplanes.de/... goto myNews tecnologia

Google BigQuery Service: Big data analytics at Google speed

Rapidly crunching terabytes of big data can lead to better business decisions, but this has traditio (...)

clicks: 7452 7452 2011-11-30 2011-11-30 goto url (new window) googlecode.blog... goto myNews tecnologia

Video: CSS3 Secrets: 10 things you might not know about CSS3

A number of prominent front-end developers delivered helpful talks at this year's Fronteers 2011 con (...)

clicks: 8156 8156 2011-11-30 2011-11-30 goto url (new window) css.dzone.com/a... goto myNews tecnologia