Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Subscribe
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Subscribe
    Home Development
    • Development

    New Compiler Enables Ruby to Run on .Net

    Written by

    Darryl K. Taft
    Published July 31, 2006
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      REDMOND, Wash.—As more users are looking to use the Ruby language on .Net, developers are responding with solutions to enable it.

      Using the Ruby language on the Microsoft CLR (Common Language Runtime) is doable if you maintain certain guidance, said John Gough, a professor at QUT (Queensland University of Technology) in Brisbane, Australia.

      Ruby is an interpreted scripting language for quick and easy object-oriented programming.

      Gough, along with partner, Wayne Kelly, another QUT professor, and a small team, have created a compiler for Ruby that enables it to run on the Microsoft CLR. The name of the compiler is the Gardens Point Ruby.NET compiler.

      Gough spoke at the Lang.NET 2006 Symposium on the Microsoft campus on July 31. He said his team had been doing .Net compilers for some time and was interested in doing one for Ruby.

      However, “Ruby involves some unique problems” that are specific to Ruby itself rather than to dynamic languages in general,” Hough said.

      However, Gough noted that he was not trying to be critical of the object-oriented Ruby language. “Ruby has a community that can be fanatical at times,” he quipped.

      However, among the implementation challenges Ruby represents for the CLR include mapping.

      “The central issues have to do with mapping the type system and the implementation of such dynamic language staples as closure,” Gough said.

      There also are issues of blocks in Ruby. Ruby enables methods to be attached to individual objects as opposed to just classes. They can be passed on a per object basis or as a block.

      So the issue of blocks, continuations and dynamic inheritance present challenges to implementing Ruby on the CLR, Gough said.

      However, Gough and his team have been constructing a Ruby compiler for six months now, he said. “Its a real compiler, not an interop wrapper,” he said.

      The compiler recently went to a public beta release over the last few weeks, he added.

      Sorting out the issues with Ruby on the CLR, Gough said, “The major problem with Ruby, as with a lot of languages, is there is no definition of the language semantics.”

      However, “the thing that saves us here is the test suite, and the licensing conditions that allow you to experiment freely,” because the open-source licensing of the language encourages free reuse, he said.

      Meanwhile, Gough noted that “everything in Ruby is an object with a well-defined class.” Yet, the problem is that a class definition cannot be extended at runtime and may be defined over several source files, he said.

      So the classes in a Ruby program end up being represented in a small number of CLR classes, he said. In essence, Ruby classes are not represented one-to-one with the classes in the CLR, he said.

      /zimages/5/28571.gifRuby on Rails moves at Acela rates toward Java. Click here to read more.

      For its part, the current implementation of Goughs compiler concentrates on the “core language” of Ruby, he said. And the implementation passes more than 860 tests in the QUT test suite, Gough said.

      Meanwhile, the groups interoperability system is in its early stages, “and we havent paid any particular attention to speed at this stage,” he said.

      That is an issue because Ruby is “notoriously slow, but we have lots of ideas for speeding it up.”

      In addition, Gough said the Ruby compiler project spawned the development of new tools in the QUT tools collection. One is the Program Executable File Reader/Writer (PE File Reader/Writer) API, also known as PERWAPI.

      PERWAPI is a managed component which presents on the client side an API to read and construct program executable files, he said.

      Also, early in the project Goughs team produced a C# parser generator known as the GPPG (Gardens Point Parser Generator), and the team is about to release a version of the Lex lexical analyzer generator, known as Gardens Point Lex, which emits C# and is designed to work with GPPG parsers.

      /zimages/5/28571.gifCheck out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.

      Darryl K. Taft
      Darryl K. Taft
      Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.