Skip to content

Commit 408bc94

Browse files
committed
Re-imported the English content.
1 parent 5b01d3e commit 408bc94

File tree

180 files changed

+1933
-1384
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

180 files changed

+1933
-1384
lines changed

en/about/index.md

+124-105
Original file line numberDiff line numberDiff line change
@@ -1,191 +1,210 @@
11
---
22
layout: page
3-
title: About Ruby
3+
title: "About Ruby"
44
lang: en
55
---
66

7-
Wondering why Ruby is so popular? Its fans call it a beautiful,
8-
artful language. And yet, they say it's handy and practical.
9-
What gives?
7+
Wondering why Ruby is so popular? Its fans call it a beautiful, artful
8+
language. And yet, they say it’s handy and practical. What gives?
109

11-
### The Ideals of Ruby's Creator
10+
### The Ideals of Rubys Creator
1211

13-
<p style="float:right"><img src="http://redhanded.hobix.com/images/ruby-lang-matz.png" style="padding-left:8px;" alt=""></p>
12+
![](http://redhanded.hobix.com/images/ruby-lang-matz.png){:
13+
style="padding-left:8px;"}
14+
{: style="float:right"}
1415

15-
Ruby is a language of careful balance. Its creator,
16-
[Yukihiro "matz" Matsumoto](http://www.rubyist.net/~matz/), blended parts
17-
of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form
18-
a new language that balanced functional programming with imperative
19-
programming.
16+
Ruby is a language of careful balance. Its creator, [Yukihiro “matz”
17+
Matsumoto][1], blended parts of his favorite languages (Perl, Smalltalk,
18+
Eiffel, Ada, and Lisp) to form a new language that balanced functional
19+
programming with imperative programming.
2020

21-
He has often said that he is "trying to make Ruby natural, not simple,"
21+
He has often said that he is trying to make Ruby natural, not simple,
2222
in a way that mirrors life.
2323

2424
Building on this, he adds:
2525

2626
> Ruby is simple in appearance, but is very complex inside, just like
27-
> our human body <sup markdown="true">[1](#fn1)</sup>.
27+
> our human body<sup>[1](#fn1)</sup>.
2828
29-
### About Ruby's Growth
29+
### About Rubys Growth
3030

31-
Since its public release in 1995, Ruby has drawn devoted coders worldwide.
32-
In 2006, Ruby achieved mass acceptance. With active user groups formed in
33-
the world's major cities and Ruby-related conferences filled to capacity.
31+
Since its public release in 1995, Ruby has drawn devoted coders
32+
worldwide. In 2006, Ruby achieved mass acceptance. With active user
33+
groups formed in the world’s major cities and Ruby-related conferences
34+
filled to capacity.
3435

35-
<p style="float:right"><img src="http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&amp;width=280&amp;height=140&amp;title=Ruby-Talk+Activity" style="padding-left:8px;" title="Graph courtesy of Gmane." alt="Graph courtesy of Gmane."></p>
36+
![Graph courtesy of
37+
Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&amp;width=280&amp;height=140&amp;title=Ruby-Talk+Activity
38+
"Graph courtesy of Gmane."){: style="padding-left:8px;"}
39+
{: style="float:right"}
3640

3741
Ruby-Talk, the primary [mailing list](/en/community/mailing-lists/) for
38-
discussion of the Ruby language, climbed to an average of 200 messages per
39-
day in 2006. It has dropped in recent years as the size of the community
40-
pushed discussion from one central list into many smaller groups.
42+
discussion of the Ruby language, climbed to an average of 200 messages
43+
per day in 2006. It has dropped in recent years as the size of the
44+
community pushed discussion from one central list into many smaller
45+
groups.
4146

4247
The TIOBE index, which measures the growth of programming languages,
43-
ranks Ruby as #9 among programming languages worldwide. Much of the growth
44-
is attributed to the popularity of software written in Ruby, particularly
45-
the Ruby on Rails web framework <sup markdown="true">[2](#fn2)</sup>.
48+
ranks Ruby as #9 among programming languages worldwide. Much of the
49+
growth is attributed to the popularity of software written in Ruby,
50+
particularly the Ruby on Rails web framework<sup>[2](#fn2)</sup>.
4651

47-
48-
Ruby is also [totally free](/license.txt). Not only free of charge, but
52+
Ruby is also [totally free](./license.txt). Not only free of charge, but
4953
also free to use, copy, modify, and distribute.
5054

5155
### Seeing Everything as an Object
5256

53-
5457
Initially, Matz looked at other languages to find an ideal syntax.
55-
Recalling his search, he said, "I wanted a scripting language that was more
56-
powerful than Perl, and more object-oriented than Python
57-
<sup markdown="true">[1](#fn3)</sup>."
58-
59-
60-
In Ruby, everything is an object. Every bit of information and code can be
61-
given their own properties and actions. Object-oriented programming calls
62-
properties by the name _instance variables_ and actions are known as
63-
_methods_. Ruby's pure object-oriented approach is most commonly
58+
Recalling his search, he said, “I wanted a scripting language that was
59+
more powerful than Perl, and more object-oriented than
60+
Python<sup>[3](#fn3)</sup>.”
61+
62+
In Ruby, everything is an object. Every bit of information and code can
63+
be given their own properties and actions. Object-oriented programming
64+
calls properties by the name *instance variables* and actions are known
65+
as *methods*. Ruby’s pure object-oriented approach is most commonly
6466
demonstrated by a bit of code which applies an action to a number.
6567

66-
{% highlight ruby %}
6768
5.times { print "We *love* Ruby -- it's outrageous!" }
68-
{% endhighlight %}
69+
{: .code .ruby-code}
6970

70-
### Ruby's Flexibility
71+
In many languages, numbers and other primitive types are not objects.
72+
Ruby follows the influence of the Smalltalk language by giving methods
73+
and instance variables to all of its types. This eases one’s use of
74+
Ruby, since rules applying to objects apply to all of Ruby.
75+
76+
### Ruby’s Flexibility
7177

7278
Ruby is seen as a flexible language, since it allows its users to freely
73-
alter its parts. Essential parts of Ruby can be removed or redefined,
74-
at will. Existing parts can be added upon. Ruby tries not to restrict the
79+
alter its parts. Essential parts of Ruby can be removed or redefined, at
80+
will. Existing parts can be added upon. Ruby tries not to restrict the
7581
coder.
7682

77-
For example, addition is performed with the plus (`+`) operator. But,
78-
if you'd rather use the readable word `plus`, you could add such a method to
79-
Ruby's builtin `Numeric` class.
83+
For example, addition is performed with the plus (`+`) operator. But, if
84+
youd rather use the readable word `plus`, you could add such a method
85+
to Rubys builtin `Numeric` class.
8086

81-
{% highlight ruby %}
8287
class Numeric
83-
def plus(x)
84-
self.+(x)
85-
end
88+
  def plus(x)
89+
    self.+(x)
90+
  end
8691
end
8792

8893
y = 5.plus 6
8994
# y is now equal to 11
90-
{% endhighlight %}
95+
{: .code .ruby-code}
9196

92-
Ruby's operators are syntactic sugar for methods. You can redefine them as
93-
well.
97+
Rubys operators are syntactic sugar for methods. You can redefine them
98+
as well.
9499

95100
### Blocks, a Truly Expressive Feature
96101

97-
Ruby's block are also seen as a source of great flexibility. A programmer
98-
can attach a closure to any method, describing how that method should act.
99-
The closure is called a _block_ and has become one of the most
100-
popular features for newcomers to Ruby from other imperative languages
101-
like PHP or Visual Basic.
102+
Rubys block are also seen as a source of great flexibility. A
103+
programmer can attach a closure to any method, describing how that
104+
method should act. The closure is called a *block* and has become one of
105+
the most popular features for newcomers to Ruby from other imperative
106+
languages like PHP or Visual Basic.
102107

103-
Blocks are inspired by functional languages. Matz said, "in Ruby closures,
104-
I wanted to respect the Lisp culture <sup markdown="true">[4](#fn4)</sup>"
108+
Blocks are inspired by functional languages. Matz said, in Ruby
109+
closures, I wanted to respect the Lisp culture<sup>[4](#fn4)</sup>.”
105110

106-
{% highlight ruby %}
107-
search_engines = %w[Google Yahoo MSN].map do |engine|
108-
"http://www." + engine.downcase + ".com"
109-
end
110-
{% endhighlight %}
111+
search_engines =
112+
  %w[Google Yahoo MSN].map do |engine|
113+
    "http://www." + engine.downcase + ".com"
114+
  end
115+
{: .code .ruby-code}
111116

112117
In the above code, the block is described inside the `do ... end`
113-
construct. The `map` method applies the block to the provided list of words.
114-
Many other methods in Ruby leave a hole open for a coder to write their own
115-
block to fill in the details of what that method should do.
118+
construct. The `map` method applies the block to the provided list of
119+
words. Many other methods in Ruby leave a hole open for a coder to write
120+
their own block to fill in the details of what that method should do.
116121

117122
### Ruby and the Mixin
118123

119124
Unlike many object-oriented languages, Ruby features single inheritance
120-
only, **on purpose**. But Ruby knows the concept of modules
121-
(called Categories in Objective-C). Modules are collections of methods.
125+
only, **on purpose**. But Ruby knows the concept of modules (called
126+
Categories in Objective-C). Modules are collections of methods.
122127

123-
Classes can mixin a module and receive all its methods for free.
124-
For example, any class which implements the `each` method can mixin the
128+
Classes can mixin a module and receive all its methods for free. For
129+
example, any class which implements the `each` method can mixin the
125130
`Enumerable` module, which adds a pile of methods that use `each` for
126131
looping.
127132

128-
{% highlight ruby %}
129133
class MyArray
130-
include Enumerable
134+
  include Enumerable
131135
end
132-
{% endhighlight %}
136+
{: .code .ruby-code}
133137

134138
Generally, Rubyists see this as a much clearer way than multiple
135139
inheritance, which is complex and can be too restrictive.
136140

137-
### Ruby's Visual Appearance
141+
### Rubys Visual Appearance
138142

139-
While Ruby often uses very limited punctuation and usually prefers English
140-
keywords, some punctuation is used to decorate Ruby. Ruby needs no variable
141-
declarations. It uses simple naming conventions to denote the scope of
142-
variables.
143+
While Ruby often uses very limited punctuation and usually prefers
144+
English keywords, some punctuation is used to decorate Ruby. Ruby needs
145+
no variable declarations. It uses simple naming conventions to denote
146+
the scope of variables.
143147

144148
* `var` could be a local variable.
145149
* `@var` is an instance variable.
146150
* `$var` is a global variable.
147151

148152
These sigils enhance readability by allowing the programmer to easily
149-
identify the roles of each variable. It also becomes unnecessary to use a
150-
tiresome `self.` prepended to every instance member.
153+
identify the roles of each variable. It also becomes unnecessary to use
154+
a tiresome `self.` prepended to every instance member.
151155

152156
### Beyond the Basics
153157

154158
Ruby has a wealth of other features, among which are the following:
155159

156-
* Ruby has exception handling features, like Java or Python,
157-
to make it easy to handle errors.
160+
* Ruby has exception handling features, like Java or Python, to make it
161+
easy to handle errors.
162+
^
163+
158164
* Ruby features a true mark-and-sweep garbage collector for all Ruby
159-
objects. No need to maintain reference counts in extension
160-
libraries. As Matz says, "This is better for your health."
165+
objects. No need to maintain reference counts in extension libraries.
166+
As Matz says, “This is better for your health.”
167+
^
168+
161169
* Writing C extensions in Ruby is easier than in Perl or Python, with a
162170
very elegant API for calling Ruby from C. This includes calls for
163-
embedding Ruby in software, for use as a scripting language.
164-
A SWIG interface is also available.
171+
embedding Ruby in software, for use as a scripting language. A SWIG
172+
interface is also available.
173+
^
174+
165175
* Ruby can load extension libraries dynamically if an OS allows.
166-
* Ruby features OS independent threading. Thus, for all platforms on which
167-
Ruby runs, you also have multithreading, regardless of if the OS supports
168-
it or not, even on MS-DOS!
169-
* Ruby is highly portable: it is developed mostly on GNU/Linux,
170-
but works on many types of UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP,
176+
^
177+
178+
* Ruby features OS independent threading. Thus, for all platforms on
179+
which Ruby runs, you also have multithreading, regardless of if the OS
180+
supports it or not, even on MS-DOS!
181+
^
182+
183+
* Ruby is highly portable: it is developed mostly on GNU/Linux, but
184+
works on many types of UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP,
171185
DOS, BeOS, OS/2, etc.
172186

173187
#### References
174188

175-
<p id="fn1">
176-
<sup>1</sup> Matz, speaking on the Ruby-Talk mailing list,
177-
<a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773">May 12th, 2000</a>.
178-
</p>
189+
<sup>1</sup> Matz, speaking on the Ruby-Talk mailing list, [May 12th,
190+
2000][2].
191+
{: #fn1}
192+
193+
<sup>2</sup> See the [Ruby on Rails][3] home page for more.
194+
{: #fn2}
195+
196+
<sup>3</sup> Matz, in [An Interview with the Creator of Ruby][4], Nov.
197+
29th, 2001.
198+
{: #fn3}
199+
200+
<sup>4</sup> Matz, in [Blocks and Closures in Ruby][5], December 22nd,
201+
2003.
202+
{: #fn4}
179203

180-
<p id="fn2">
181-
<sup>2</sup> See the <a href="http://rubyonrails.org/">Ruby on Rails</a> home page for more.
182-
</p>
183204

184-
<p id="fn3">
185-
<sup>3</sup> Matz, in <a href="http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html">An Interview with the Creator of Ruby</a>, Nov. 29th, 2001.
186-
</p>
187205

188-
<p id="fn4">
189-
<sup>4</sup> Matz, in <a href="http://www.artima.com/intv/closures2.html">Blocks and Closures in Ruby</a>,
190-
December 22nd, 2003.
191-
</p>
206+
[1]: http://www.rubyist.net/~matz/
207+
[2]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773
208+
[3]: http://rubyonrails.org/
209+
[4]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
210+
[5]: http://www.artima.com/intv/closures2.html

en/community/conferences/index.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
layout: page
3-
title: Ruby Conferences
3+
title: "Ruby Conferences"
44
lang: en
55
---
66

@@ -17,8 +17,8 @@ the Ruby community.
1717
between 2001 and 2006. RubyConf has provided a forum for presentations
1818
about Ruby technologies by their creators, including talks by
1919
Nathaniel Talbot on Test Unit, Jim Weirich on Rake, David Heinemeier
20-
Hansson on Ruby on Rails, Why the Lucky Stiff on the YAML library,
21-
and Sasada Koichi on YARV. Matz has attended, and spoken at, all the
20+
Hansson on Ruby on Rails, Why the Lucky Stiff on the YAML library, and
21+
Sasada Koichi on YARV. Matz has attended, and spoken at, all the
2222
RubyConfs but one.
2323

2424
[RubyKaigi][3]
@@ -60,6 +60,8 @@ have also been devoted to [Ruby on Rails][10], including Ruby Central’s
6060
Central and [Skills Matter][13], and in 2007 by Ruby Central and
6161
O’Reilly), and Canada on Rails.
6262

63+
64+
6365
[1]: http://rubyconf.org/
6466
[2]: http://www.rubycentral.org
6567
[3]: http://jp.rubyist.net/RubyKaigi2008/

0 commit comments

Comments
 (0)