- Ruby (programming language)
url = http://rubyforge.org/pipermail/ironruby-core/2008-May/001909.html
title = IronRuby / Rails Question
author = John Lam
accessdate = 2008-05-25] [cite web
url = http://www.iunknown.com/2008/05/ironruby-and-rails.html
title = IronRuby and Rails
author = John Lam
accessdate = 2008-06-01] and
url = http://blog.fallingsnow.net/2008/05/17/rails-on-rubinius/
title = Rails on Rubinius
author = Evan Phoenix
accessdate = 2008-05-25] start to be able to run Rails test cases, but they still are far from production ready for this task.
Ruby MRI, Ruby is available on a lot of operating systems such as Linux, Mac OS X, Microsoft Windows, Windows CEand most flavors of Unix.
* As variables are declared simply by assigning a value to them, typing errors can introduce new variables and cause unexpected behavior. [ [http://www.bitwisemag.com/2/What-s-Wrong-With-Ruby What’s Wrong With Ruby?] ]
* Being a dynamically typed language, errors can occur during the execution of the program if a variable were to be assigned a value of the wrong type. This is common to all dynamically typed languages, such as Lisp,
* Ruby's ability for
metaprogrammingallows a programmer to modify methods in the language's Standard Library during runtime, a practice known as monkey patching. This can lead to possible collisions of behavior and subsequent unexpected results, and is a concern if done recklessly for code scalability. [ [http://avdi.org/devblog/2008/02/23/why-monkeypatching-is-destroying-ruby/ Monkeypatching is Destroying Ruby] .
* The Ruby threading model uses
green threads[ [http://spec.ruby-doc.org/wiki/Ruby_Threading Ruby Threading - RubySpec ] ] , and its model has some inherent limitations which render it difficult to use or unsafe in some scenarios. [ [http://www.killersites.com/blog/2007/standalone-ruby-on-rails/ Writing a standlone, threaded application using Ruby On Rails at KILLERSITES.COM ] ]
*Ruby 1.8 does not yet have native support for
Unicodeor multibyte strings, [ [http://headius.blogspot.com/2006/06/unicode-in-ruby-unicode-in-jruby.html Headius: Unicode in Ruby, Unicode in JRuby? ] ] although 1.9 added multiple improvements in this area.Fact|date=May 2008
*Ruby suffers from backward compatibility problems. [ [http://www.infoq.com/news/2007/12/ruby-19 InfoQ: Ruby 1.9 released ] ]
* Ruby code runs slower than many compiled languages (as is typical for interpreted languages) and other major scripting languages such as Python and
Perl[http://shootout.alioth.debian.org/ The Computer Language Benchmarks Game] ] . However, in future releases (current revision: 1.9), Ruby will be bytecode compiled to be executed on YARV("Yet Another Ruby VM"). The performance of YARV is currently very similar to those of other scripting languages such as Python.
Ruby 2.0 aims to address some of the aforementioned problems:
* Native threads will be used instead of green threads. [ [http://glu.ttono.us/articles/2005/10/14/yarv-progress-report Gluttonous : YARV Progress Report ] ]
* Full support for Unicode strings.
Some problems which may not be solved in version 2.0 include:
* Ruby still lacks a specification, the current C implementation being the "de facto" reference specification. [ [http://headius.blogspot.com/2007/04/what-would-i-will-i-change-about-ruby.html Headius: What Would I (Will I?) Change About Ruby ] ] [ [http://craigrandall.net/archives/2006/09/from-java-to-ruby/ From Java to Ruby ] ] However the work for a specification is officially ongoing with a project named RubySpec based on the work started by the Rubinius project. [ [http://rubyspec.org/ RubySpec] ] The creator of Ruby has expressed his plans to make Ruby an ISO standard, which he deems will take some time to be completed. [ [http://www.infoq.com/news/2008/07/rubykaigi RubyKaigi 2008: Standardization, 1.9 Roadmap] ]
Repositories and libraries
Ruby Application Archive(RAA), as well as RubyForge, serve as repositories for a wide range of Ruby applications and libraries, containing more than seven thousand items. Although the number of applications available does not match the volume of material available in the Perlor Python community, there are a wide range of tools and utilities which serve to foster further development in the language. RubyGemshas become the standard package manager for Ruby libraries. It is very similar in purpose to Perl's CPAN, although its usage is more like apt-get.
Comparison of programming languages
Ruby MRI, the reference C implementation
Ruby on Rails
* [http://www.ruby-lang.org/en/ Ruby language home page]
* [http://www.ruby-doc.org Ruby documentation site]
* [http://ruby.on-page.net Ruby.on-page.net] — the simplest Ruby manual with many samples
* [http://dmoz.org/Computers/Programming/Languages/Ruby/ Ruby programming language] at the
Open Directory Project
* [http://www.mentalpointer.com/ruby/index.html Ruby User Guide Mirror]
* [http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/ Ruby From Other Languages]
* [http://spec.ruby-doc.org/wiki/Main_Page Wiki: Ruby language and implementation specification]
* [http://www.eqqon.com/index.php/Ruby_C_Extension_API_Documentation_%28Ruby_1.8%29 Writing C Extensions to Ruby (MRI 1.8)]
* [http://www.rubyflow.com/ RubyFlow: Community Filtered Ruby News]
Wikimedia Foundation. 2010.