Ruby

From eqqon

(Difference between revisions)
Jump to: navigation, search
(Extending Ruby in C)
 
(7 intermediate revisions not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
<div style="float:right;">[[Image:Ruby_logo.gif]]</div>
<div style="float:right;">[[Image:Ruby_logo.gif]]</div>
-
= The Future of Ruby =
 
-
Yukihiro Matsumoto's C implementation of [[Ruby]] aka '''M'''ain '''R'''uby '''I'''mplementation  is considered the '''Quasi-Standard of the Ruby Language''' since there has never been an explicit language standard for Ruby. As the number of implementations grows, however, a formal standard seems to become necessary to prevent the horror scenario of various non-conform interpreters. [[The Future of Ruby|Read on ...]]
 
-
= Extending Ruby in C =  
+
= Articles =
-
Extending Ruby with C functions is quiet easy. After you have learned the principles and worked through the ambiguous usage of the API functions you get the power of the Ruby language to your C program. Then it is possible to solve the time critical tasks at the C program and the complex part by Ruby.  We created a simple tutorial to get quickly familiar with the Ruby C extension API. [[Ruby C Extension|Read on ...]].
+
 
-
*[[Ruby C Extension| Ruby V1.8 C extension]]
+
{{ArticleTeaser
-
*[[/Ruby V1.9 C Extension| Ruby V1.9 C extension]]
+
|pagelink=[[The Future of Ruby]]
 +
|iconlink={{clickpic|The Future of Ruby|http://www.eqqon.com/images/thumb/1/1c/Ruby_logo1.png/32px-Ruby_logo1.png}}
 +
|headline=The Future of Ruby
 +
|author=[[User:Henon|Henon]]
 +
|intro=Yukihiro Matsumoto's C implementation of [[Ruby]] aka '''M'''ain '''R'''uby '''I'''mplementation  is considered the '''Quasi-Standard of the Ruby Language''' since there has never been an explicit language standard for Ruby. As the number of implementations grows, however, a formal standard seems to become necessary to prevent the horror scenario of various non-conform interpreters.
 +
}}
 +
 
 +
{{ArticleTeaser
 +
|pagelink=[[Ruby C Extension API Documentation (Ruby 1.8)]]
 +
|iconlink={{clickpic|Ruby C Extension API Documentation (Ruby 1.8)|http://www.eqqon.com/images/thumb/1/1c/Ruby_logo1.png/32px-Ruby_logo1.png}}
 +
|headline=Ruby V1.8 C extension
 +
|author=[[User:Zelenka|W. Zelenka]]
 +
|intro=Extending Ruby with C functions is quiet easy. After you have learned the principles and worked through the ambiguous usage of the API functions you get the power of the Ruby language to your C program. Then it is possible to solve the time critical tasks at the C program and the complex part by Ruby.  We created a simple tutorial to get quickly familiar with the Ruby C extension API. Since the original article is only in plain text it is not quite readable. We provide better formatting and readability through markup and incorporated some of our experiences while building Ruby extensions.
 +
}}
 +
 
 +
{{ArticleTeaser
 +
|pagelink=[[Ruby/Ruby V1.9 C Extension]]
 +
|iconlink={{clickpic|Ruby/Ruby V1.9 C Extension|http://www.eqqon.com/images/thumb/1/1c/Ruby_logo1.png/32px-Ruby_logo1.png}}
 +
|headline=Ruby V1.9 C extension
 +
|author=[[User:Zelenka|W. Zelenka]]
 +
|intro=Basicly the interface is similar to V1.8. So most parts of your implementation should run also with V1.9. I had some troubles initializing the interpreter, this differs in V1.9 and V1.8. Threading is now implemented native. But there is a major drawback with the Ruby interpreter implementation. Many global's are used. As a result the interpreter cannot be run more than once at a process. As an example, the LUA interpreter does this perfect. The interpreter can run at several instances, each instance using a pointer to the interpreter context.
 +
}}
Line 26: Line 45:
||
||
=== Different Implementations ===
=== Different Implementations ===
 +
* [http://rubydotnet.googlegroups.com/web/Home.htm Ruby.NET] Version 0.9 has substantial improvements, the project is on the way to production quality. - .NET compiler for Ruby.
 +
* [http://www.ironruby.net/ Iron Ruby] The (yet far from complete) C# implementation by Microsoft designed for .NET interoperability.
* [http://jruby.codehaus.org/ JRuby] A very complete implementation of the interpreter in Java.  
* [http://jruby.codehaus.org/ JRuby] A very complete implementation of the interpreter in Java.  
-
* [http://www.atdot.net/yarv/ YARV] The site of the virtual machine which has been merged into 1.9.
 
-
* [http://plas2003.fit.qut.edu.au/Ruby.NET/ Ruby.NET] Still incomplete and unoptimized .NET compiler for Ruby.
 
* [http://rubini.us/ Rubinious] An implementation based loosely on the Smalltalk-80 VM architecture.
* [http://rubini.us/ Rubinious] An implementation based loosely on the Smalltalk-80 VM architecture.
-
* [http://ironruby.rubyforge.org Iron Ruby The (yet far from complete) C# implementation by Microsoft designed for .NET interoperability].
 
|------------------------- style="vertical-align:top;"
|------------------------- style="vertical-align:top;"
||
||
-
 
=== Documentation ===
=== Documentation ===
* [http://www.rubyist.net/~slagell/ruby/ Ruby Tutorial]
* [http://www.rubyist.net/~slagell/ruby/ Ruby Tutorial]
Line 51: Line 68:
* GTK
* GTK
* Ruby-Qt
* Ruby-Qt
 +
 +
|------------------------- style="vertical-align:top;"
 +
||
 +
=== Libraries ===
 +
*[http://rake.rubyforge.org/ Rake]
 +
*[http://rspec.rubyforge.org/ RSpec (BDD Framework)]
 +
*[http://www.rubyonrails.org/ Rails]
 +
*[http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/index.html URI]
 +
*[http://www.ruby-doc.org/stdlib/libdoc/pathname/rdoc/index.html Pathname]
|}
|}

Latest revision as of 16:16, 6 January 2009

Ruby logo.gif

Articles

32px-Ruby_logo1.png
 
Author: Henon
The Future of Ruby  -  The Future of Ruby
Yukihiro Matsumoto's C implementation of Ruby aka Main Ruby Implementation is considered the Quasi-Standard of the Ruby Language since there has never been an explicit language standard for Ruby. As the number of implementations grows, however, a formal standard seems to become necessary to prevent the horror scenario of various non-conform interpreters.   Read The Future of Ruby ...
32px-Ruby_logo1.png
 
Author: W. Zelenka
Ruby C Extension API Documentation (Ruby 1.8)  -  Ruby V1.8 C extension
Extending Ruby with C functions is quiet easy. After you have learned the principles and worked through the ambiguous usage of the API functions you get the power of the Ruby language to your C program. Then it is possible to solve the time critical tasks at the C program and the complex part by Ruby. We created a simple tutorial to get quickly familiar with the Ruby C extension API. Since the original article is only in plain text it is not quite readable. We provide better formatting and readability through markup and incorporated some of our experiences while building Ruby extensions.   Read Ruby C Extension API Documentation (Ruby 1.8) ...
32px-Ruby_logo1.png
 
Author: W. Zelenka
Ruby/Ruby V1.9 C Extension  -  Ruby V1.9 C extension
Basicly the interface is similar to V1.8. So most parts of your implementation should run also with V1.9. I had some troubles initializing the interpreter, this differs in V1.9 and V1.8. Threading is now implemented native. But there is a major drawback with the Ruby interpreter implementation. Many global's are used. As a result the interpreter cannot be run more than once at a process. As an example, the LUA interpreter does this perfect. The interpreter can run at several instances, each instance using a pointer to the interpreter context.   Read Ruby/Ruby V1.9 C Extension ...



external links

Community

Different Implementations

  • Ruby.NET Version 0.9 has substantial improvements, the project is on the way to production quality. - .NET compiler for Ruby.
  • Iron Ruby The (yet far from complete) C# implementation by Microsoft designed for .NET interoperability.
  • JRuby A very complete implementation of the interpreter in Java.
  • Rubinious An implementation based loosely on the Smalltalk-80 VM architecture.

Documentation

GUI Toolkit Bindings

Libraries