Ruby (programming language): Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Pat Palmer
(adding some possible headers)
imported>Pat Palmer
No edit summary
Line 1: Line 1:
{{subpages9}}
{{subpages9}}
'''Ruby''' is a general-purpose, open-source [[computer]] [[programming language]] first released to the public in 1995 by [[Yukihiro Matsumoto]], a Japanese computer professional working in an open-source software company.  Named for the gemstone, Ruby soon obtained a dedicated mass of developers in the international open-source community.  Ruby's place in the U.S. computer industry was boosted by the independent release, in 2004, of [[Ruby on Rails|Rails]], a Ruby-based, open-source [[web application framework]] created by [[David Heinemeier Hansson]], a Danish software engineer working in the United States.  By 2007, Ruby had risen to be tenth in usage among all programming languages, and its use is still growing<ref name="GermanLanguageInEncarta">
'''Ruby''' is a general-purpose, open-source [[computer]] [[programming language]] first released to the public in 1995 by [[Yukihiro Matsumoto]], a Japanese computer professional working in an open-source software company.  Named for the gemstone, Ruby soon obtained a dedicated mass of developers in the international open-source community.  Ruby's place in the U.S. computer industry was boosted by the independent release, in 2004, of [[Ruby on Rails|Rails]], a Ruby-based, open-source [[web application framework]] created by [[David Heinemeier Hansson]], a Danish software engineer working in the United States.  By 2007, Ruby had risen to be tenth in usage among all programming languages, and its use is still growing<ref name="tiobe">
{{cite web|
url=http://books.google.com/books?id=RBUJZ-ma7voC&dq=peter+cooper+beginning+ruby&printsec=frontcover&source=web&ots=BCcI6QKZWu&sig=GzgPd-S5Nrr3ZXO5WNfNxdwLeHY#PPP1,M1|
title="Beginning Ruby: From Novice to Professional (Beginning from Novice to Professional) (Paperback)"|
publisher=Apress|
year=2007|
accessdate=2007-10-10}}
</ref>.  This article is an overview of what Ruby is, including a discussion of factors that may contribute to Ruby's growing acceptance, or hinder it in the future.
 
==Ruby Implementations==
 
Like many [[programming language|programming languages]] created since 1990 or so, Ruby is fully [[object-oriented]] and  requires a [[runtime environment]], or [[virtual machine]].  The Ruby runtime environment takes Ruby source code files as input and handles their "execution".  since the introduction of Ruby in 1995, an open-source Ruby project has been tightly managed by Ruby's creator, [[Yukihiro Matsumoto]] (commonly called ''Matz''), .  As of October 2007, ever-improving versions of  Matz' Ruby implementation are available on several different operating systems.  Other virtual machines have also been developed by other groups, including [[JRuby]] (an attempt to port Ruby to the [[Java (programming language)|Java]] platform), and [[Rubinius]] (an interpreter modeled after self-hosting [[Smalltalk]] virtual machines).
 
==Perceived Ruby Growing Pains== 
 
Matz' runtime is interpreted, rather than compiled, and as of 2007, still lacks a formal written specification.  So although Ruby can potentially can be used to create platform-independent programs, it is not currently guaranteed to be identical across platforms, newer versions are not always upwardly compatible with older versions, and books, articles and other documentation are not always in complete agreement about the syntax, semantics, and conventions of the language.  It also does not yet have a robust solution for building graphical user interfaces on the desktop.
 
==Perceived Ruby Strengths==
 
Despite the above issues, enthusiasts of Ruby wax eloquent in praising the language, which is still gaining in popularity, possibly as a result of such factors as its relatively permissive syntax, its loose typing, its [[closure|closures]] feature, strong support for strings and regular expressions, extensive libraries for networking and web services,  and its support for making calls out to the native [[operating system]] when needful.  One author of a 2007 book about Ruby introduces the language by stating, "Ruby has more in common with more esoteric languages such as Lisp and Smalltalk than with better known languages such as PHP and C++"<ref name="petercooper">
{{cite web|
{{cite web|
url=http://www.tiobe.com/tpci.htm|
url=http://www.tiobe.com/tpci.htm|
Line 7: Line 26:
year=2007|
year=2007|
accessdate=2007-10-10}}
accessdate=2007-10-10}}
</ref>.
</ref>.
 
==How is Ruby implemented?==
 
Like most [[programming language|programming languages]] created since 1990, Ruby is fully [[object-oriented]] and  requires a [[runtime environment]], or [[virtual machine]], in which to execute as an interpreted language.  The Ruby runtime has been implemented for all major [[operating systems]] so that, like Java, Ruby can be used to create platform-independent programs.  Ruby's popularity may be based on several other factors as well, such as its relatively permissive syntax, its loose typing, its [[closure|closures]] feature, a set of extensive libraries for networking and web services, and its support for making calls out to the native [[operating system]] when needful.
 
==Who provides Ruby implementations?==


Since 1995, the open-source implementation of the Ruby runtime environment has been closely sheparded by Ruby's creator, [[Yukihiro Matsumoto]] (commonly called ''Matz'').  As of October 2007, Matz' runtime is still interpreted, rather than compiled, and lacks a formal written specification.  Other virtual machines have also been developed for Ruby.  These include [[JRuby]] (an attempt to port Ruby to the [[Java (programming language)|Java]] platform), and [[Rubinius]] (an interpreter modeled after self-hosting [[Smalltalk]] virtual machines).


==Hello World in Ruby==
==Hello World in Ruby==

Revision as of 10:47, 11 October 2007

Main Article
Talk Template:Default button 3
 
Template:Cell style

Ruby is a general-purpose, open-source computer programming language first released to the public in 1995 by Yukihiro Matsumoto, a Japanese computer professional working in an open-source software company. Named for the gemstone, Ruby soon obtained a dedicated mass of developers in the international open-source community. Ruby's place in the U.S. computer industry was boosted by the independent release, in 2004, of Rails, a Ruby-based, open-source web application framework created by David Heinemeier Hansson, a Danish software engineer working in the United States. By 2007, Ruby had risen to be tenth in usage among all programming languages, and its use is still growing[1]. This article is an overview of what Ruby is, including a discussion of factors that may contribute to Ruby's growing acceptance, or hinder it in the future.

Ruby Implementations

Like many programming languages created since 1990 or so, Ruby is fully object-oriented and requires a runtime environment, or virtual machine. The Ruby runtime environment takes Ruby source code files as input and handles their "execution". since the introduction of Ruby in 1995, an open-source Ruby project has been tightly managed by Ruby's creator, Yukihiro Matsumoto (commonly called Matz), . As of October 2007, ever-improving versions of Matz' Ruby implementation are available on several different operating systems. Other virtual machines have also been developed by other groups, including JRuby (an attempt to port Ruby to the Java platform), and Rubinius (an interpreter modeled after self-hosting Smalltalk virtual machines).

Perceived Ruby Growing Pains

Matz' runtime is interpreted, rather than compiled, and as of 2007, still lacks a formal written specification. So although Ruby can potentially can be used to create platform-independent programs, it is not currently guaranteed to be identical across platforms, newer versions are not always upwardly compatible with older versions, and books, articles and other documentation are not always in complete agreement about the syntax, semantics, and conventions of the language. It also does not yet have a robust solution for building graphical user interfaces on the desktop.

Perceived Ruby Strengths

Despite the above issues, enthusiasts of Ruby wax eloquent in praising the language, which is still gaining in popularity, possibly as a result of such factors as its relatively permissive syntax, its loose typing, its closures feature, strong support for strings and regular expressions, extensive libraries for networking and web services, and its support for making calls out to the native operating system when needful. One author of a 2007 book about Ruby introduces the language by stating, "Ruby has more in common with more esoteric languages such as Lisp and Smalltalk than with better known languages such as PHP and C++"[2].


Hello World in Ruby

Something of Ruby's appeal may be seen in the brevity of this Hello World program:

puts "Hello, world"

What kind of language is Ruby?

References

  1. "Beginning Ruby: From Novice to Professional (Beginning from Novice to Professional) (Paperback)". Apress (2007). Retrieved on 2007-10-10.
  2. "TIOBE Programming Community Index". TIOBE Software (2007). Retrieved on 2007-10-10.