- 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.
Look at other dictionaries:
Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… … Wikipedia
Python (programming language) — infobox programming language name = Python paradigm = multi paradigm: object oriented, imperative, functional year = 1991 designer = Guido van Rossum developer = Python Software Foundation latest release version = 2.6 latest release date =… … Wikipedia
Mirah (programming language) — Mirah Paradigm(s) object oriented, imperative Appeared in 2008 Typing discipline static, with dynamic features, strong, inferred Influenced by Ruby, Java, Boo … Wikipedia
Eiffel (programming language) — Infobox programming language name = Eiffel paradigm = object oriented year = 1986 designer = Bertrand Meyer developer = Bertrand Meyer Eiffel Software latest release version = 4.2 latest release date = Feb 6, 1998 typing = static typing, strong… … Wikipedia
D (programming language) — For other programming languages named D, see D (disambiguation)#Computing. D programming language Paradigm(s) multi paradigm: imperative, object oriented, functional, meta Appeared in 1999 (1999) Designed by … Wikipedia
CLU (programming language) — Infobox programming language name = CLU paradigm = multi paradigm: object oriented, procedural year = 1974 designer = Barbara Liskov and her students at MIT developer = Barbara Liskov and her students at MIT latest release version = latest… … Wikipedia
Nu (programming language) — Nu Paradigm(s) structured, imperative, object oriented Appeared in 2007 Designed by Tim Burks Developer Tim Burks Stable release 2.0 … Wikipedia
Groovy (programming language) — Infobox programming language name = Groovy paradigm = object oriented, scripting year = 2003 designer = JCP developer = Guillaume Laforge (Project Manager and JSR 241 Spec Lead) latest release version = 1.5.7 latest release date = release… … Wikipedia
Fan (programming language) — Infobox programming language name = Fan logo = paradigm = multi paradigm year = 2007 designer = developer = Brian Frank, Andy Frank latest release version = 1.0.30 latest release date = release date|2008|07|30 typing = static, dynamic… … Wikipedia
Ada (programming language) — For other uses of Ada or ADA, see Ada (disambiguation). Ada Paradigm(s) Multi paradigm Appeared in 1980 Designed by MIL STD 1815/Ada 83: Jean Ichbiah Ada 95: Tucker Taft Ada 2005: Tucker Taft Stable release … Wikipedia