Skip to content

Commit cc244e0

Browse files
committed
Imported the "es" content.
1 parent b235e9a commit cc244e0

File tree

57 files changed

+3484
-0
lines changed

Some content is hidden

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

57 files changed

+3484
-0
lines changed

es/about/index.md

Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
---
2+
layout: page
3+
title: "Acerca de Ruby"
4+
lang: es
5+
---
6+
7+
¿Te preguntas por qué Ruby es tan popular? Sus fanáticos lo tienen como
8+
un lenguaje hermoso y artístico. Y todavía así, dicen que es práctico y
9+
ameno. ¿Por qué?
10+
11+
### Los ideales del creador de Ruby
12+
13+
Ruby es un lenguaje con un balance cuidado. Su creador, [Yukihiro “matz”
14+
Matsumoto][1], mezcló partes de sus lenguajes favoritos (Perl,
15+
Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo lenguaje que
16+
incorporara tanto la programación funcional como la programación
17+
imperativa.
18+
19+
![Yukihiro Matsumoto, creador de
20+
Ruby](http://soveran.com/extra/yukihiro_matsumoto.jpg "Yukihiro
21+
Matsumoto, creador de Ruby")
22+
23+
A menudo ha manifestado que está “tratando de hacer que Ruby sea
24+
natural, no simple”, de una forma que se asemeje a la vida real.
25+
26+
Continuando sobre esto, agrega:
27+
28+
> Ruby es simple en apariencia, pero complejo por dentro, como el cuerpo
29+
> humano<sup>[1](#fn1)</sup>.
30+
31+
### Acerca del crecimiento de Ruby
32+
33+
Desde su liberación pública en 1995, Ruby ha atraído devotos
34+
desarrolladores de todo el mundo. En el 2006, Ruby alcanzó
35+
reconocimiento masivo, formándose grupos de usuarios activos en las
36+
ciudades más importantes del mundo y llenando las capacidades de las
37+
conferencias relacionadas a Ruby.
38+
39+
![Gráfica cortesía de
40+
Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&amp;width=280&amp;height=140&amp;title=Actividad+en+Ruby-Talk+durante+4+a%f1os
41+
"Gráfica cortesía de Gmane."){: style="padding-left:8px;"}
42+
{: style="float:right"}
43+
44+
Ruby-Talk, la [lista de correo](/es/community/mailing-lists/) más
45+
importante sobre el lenguaje Ruby ha crecido hasta lograr un promedio de
46+
200 mensajes por día.
47+
48+
El índice TIOBE, que mide el crecimiento de los lenguajes de
49+
programación, ubica a Ruby en la posición #13 del ranking mundial.
50+
Refiriéndose a su crecimiento, predicen, “Todo indica que Ruby llegará a
51+
estar entre los 10 primeros en menos de 6 meses”. Gran parte de su
52+
crecimiento se atribuye a la popularidad alcanzada por aplicaciones
53+
desarrolladas con Ruby, en particular el framework de desarrollo web
54+
Ruby on Rails<sup>[2](#fn2)</sup>.
55+
56+
Ruby es [totalmente libre](./license.txt). No sólo gratis, sino también
57+
libre para usarlo, copiarlo, modificarlo y distribuirlo.
58+
59+
### Viendo todo como un objeto
60+
61+
Inicialmente, Matz buscó en otros lenguajes para encontrar la sintaxis
62+
ideal. Recordando su búsqueda, dijo, “quería un lenguaje que fuera más
63+
poderoso que Perl, y más orientado a objetos que
64+
Python<sup>[3](#fn3)</sup>”.
65+
66+
En Ruby, todo es un objeto. Se le puede asignar propiedades y acciones a
67+
toda información y código. La programación orientada a objetos llama a
68+
las propiedades *variables de instancia* y las acciones son conocidas
69+
como *métodos*. La orientación a objetos pura de Ruby se suele demostrar
70+
con un simple código que aplica una acción a un número.
71+
72+
5.times { print "Nos *encanta* Ruby -- ¡es fuera de serie!" }
73+
{: .code .ruby-code}
74+
75+
En muchos lenguajes, los números y otros tipos primitivos no son
76+
objetos. Ruby sigue la influencia del lenguaje Smalltalk pudiendo poner
77+
métodos y variables de instancia a todos sus tipos de datos. Esto
78+
facilita el uso de Ruby, porque las reglas que se aplican a los objetos
79+
son aplicables a todo Ruby.
80+
81+
### La flexibilidad de Ruby
82+
83+
Ruby es considerado un lenguaje flexible, ya que permite a sus usuarios
84+
alterarlo libremente. Las partes esenciales de Ruby pueden ser quitadas
85+
o redefinidas a placer. Se puede agregar funcionalidad a partes ya
86+
existentes. Ruby intenta no restringir al desarrollador.
87+
88+
Por ejemplo, la suma se realiza con el operador suma (`+`). Pero si
89+
prefieres usar la palabra *sumar*, puedes agregar un método llamado
90+
`sumar` a la clase `Numeric` que viene incorporada.
91+
92+
class Numeric
93+
  def sumar(x)
94+
    self.+(x)
95+
  end
96+
end
97+
98+
y = 5.sumar 6
99+
# ahora y vale 11
100+
{: .code .ruby-code}
101+
102+
Los operadores de Ruby son simples conveniencias sintácticas para los
103+
métodos. Los puedes redefinir como y cuando quieras.
104+
105+
### Los Bloques, una funcionalidad realmente expresiva
106+
107+
Los bloques de Ruby son también vistos como una fuente de gran
108+
flexibilidad. El desarrollador puede anexar una cláusula a cualquier
109+
método, describiendo cómo debe actuar. La cláusula es llamada *bloque* y
110+
se ha convertido en una de las más famosas funcionalidades para los
111+
recién llegados a Ruby que vienen de otros lenguajes imperativos como
112+
PHP o Visual Basic.
113+
114+
Los bloques están inspirados por los lenguajes funcionales. Matz dijo,
115+
“en las cláusulas de Ruby, quise respetar la cultura de
116+
Lisp<sup>[4](#fn4)</sup>”.
117+
118+
motores_de_busqueda =
119+
  %w[Google Yahoo MSN].map do |motor|
120+
    "http://www." + motor.downcase + ".com"
121+
  end
122+
{: .code .ruby-code}
123+
124+
En este código, el bloque está descrito entre la construcción `do ...
125+
end`. El método `map` aplica el bloque a la lista de palabras provista.
126+
Muchos otros métodos en Ruby dejan abierta la posibilidad al
127+
desarrollador para que escriba su propio bloque describiendo los
128+
detalles de qué debe hacer ese método.
129+
130+
### Ruby y el Mixin
131+
132+
A diferencia de otros lenguajes de programación orientada a objetos,
133+
Ruby se caracteriza por su intencional herencia simple. Sin embargo,
134+
Ruby incorpora el concepto de módulos (llamados categorías en
135+
Objective-C), que son colecciones de métodos.
136+
137+
Las clases pueden mezclar (mixin) un módulo e incorporar todos sus
138+
métodos gratuitamente. Por ejemplo, cualquier clase que implemente el
139+
método `each` puede incorporar el módulo `Enumerable`, que le agrega un
140+
conjunto de métodos que usan `each` para recorrer sus elementos.
141+
142+
class MiArray
143+
  include Enumerable
144+
end
145+
{: .code .ruby-code}
146+
147+
En general, los Rubyistas ven esto como una forma mucho más clara de
148+
herencia múltiple, que es compleja e incluso puede ser restrictiva.
149+
150+
### La apariencia visual de Ruby
151+
152+
A pesar de que Ruby utiliza la puntuación muy limitadamente y se
153+
prefieren las palabras clave en inglés, se utiliza algo de puntuación
154+
para decorar el código. Ruby no necesita declaraciones de variables. Se
155+
utilizan convenciones simples para nombrar y determinar el alcance de
156+
las mismas.
157+
158+
* `var` puede ser una variable local.
159+
* `@var` es una variable de instancia.
160+
* `$var` es una variable global.
161+
162+
Estos detalles mejoran la legibilidad permitiendo que el desarrollador
163+
identifique fácilmente los roles de las variables. También se hace
164+
innecesario el uso del molesto `self.` como prefijo de todos los
165+
miembros de instancia.
166+
167+
### Más allá de lo básico
168+
169+
Ruby tiene un conjunto de otras funcionalidades entre las que se
170+
encuentran las siguientes:
171+
172+
* manejo de excepciones, como Java y Python, para facilitar el manejo de
173+
errores.
174+
^
175+
176+
* un verdadero mark-and-sweep garbage collector para todos los objetos
177+
de Ruby. No es necesario mantener contadores de referencias en
178+
bibliotecas externas. Como dice Matz, “Esto es mejor para tu salud”.
179+
^
180+
181+
* escribir extenciones en C para Ruby es más fácil que hacer lo mismo
182+
para Perl o Python, con una API muy elegante para utilizar Ruby desde
183+
C. Esto incluye llamadas para embeber Ruby en otros programas, y así
184+
usarlo como lenguaje de scripting. También está disponible una
185+
interfaz SWIG.
186+
^
187+
188+
* puede cargar bibliotecas de extensión dinámicamente si lo permite el
189+
sistema operativo.
190+
^
191+
192+
* tiene manejo de hilos (threading) independiente del sistema operativo.
193+
De esta forma, tienes soporte multi-hilo en todas las plataformas en
194+
las que corre Ruby, sin importar si el sistema operativo lo soporta o
195+
no, ¡incluso en MS-DOS!
196+
^
197+
198+
* Ruby es fácilmente portable: se desarrolla mayoritariamente en
199+
GNU/Linux, pero corre en varios tipos de UNIX, Mac OS X, Windows
200+
95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, etc.
201+
202+
#### Referencias
203+
204+
<sup>1</sup> Matz, hablando en la lista de correo Ruby-Talk, [12 de mayo
205+
del 2000][2].
206+
{: #fn1}
207+
208+
<sup>2</sup> Mira la página de [Ruby on Rails][3] para averiguar más.
209+
{: #fn2}
210+
211+
<sup>3</sup> Matz, en [An Interview with the Creator of Ruby][4], 29 de
212+
noviembre del 2001.
213+
{: #fn3}
214+
215+
<sup>4</sup> Matz, en [Blocks and Closures in Ruby][5], 22 de diciembre
216+
del 2003.
217+
{: #fn4}
218+
219+
220+
221+
[1]: http://www.rubyist.net/~matz/
222+
[2]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773
223+
[3]: http://rubyonrails.org/
224+
[4]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
225+
[5]: http://www.artima.com/intv/closures2.html

es/about/license.txt

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
RUBY LICENSE
2+
3+
Ruby is copyrighted free software by Yukihiro Matsumoto <[email protected]>.
4+
You can redistribute it and/or modify it under either the terms of the GPL
5+
(see COPYING.txt file), or the conditions below:
6+
7+
1. You may make and give away verbatim copies of the source form of the
8+
software without restriction, provided that you duplicate all of the
9+
original copyright notices and associated disclaimers.
10+
11+
2. You may modify your copy of the software in any way, provided that
12+
you do at least ONE of the following:
13+
14+
a) place your modifications in the Public Domain or otherwise
15+
make them Freely Available, such as by posting said
16+
modifications to Usenet or an equivalent medium, or by allowing
17+
the author to include your modifications in the software.
18+
19+
b) use the modified software only within your corporation or
20+
organization.
21+
22+
c) rename any non-standard executables so the names do not conflict
23+
with standard executables, which must also be provided.
24+
25+
d) make other distribution arrangements with the author.
26+
27+
3. You may distribute the software in object code or executable
28+
form, provided that you do at least ONE of the following:
29+
30+
a) distribute the executables and library files of the software,
31+
together with instructions (in the manual page or equivalent)
32+
on where to get the original distribution.
33+
34+
b) accompany the distribution with the machine-readable source of
35+
the software.
36+
37+
c) give non-standard executables non-standard names, with
38+
instructions on where to get the original software distribution.
39+
40+
d) make other distribution arrangements with the author.
41+
42+
4. You may modify and include the part of the software into any other
43+
software (possibly commercial). But some files in the distribution
44+
are not written by the author, so that they are not under this terms.
45+
46+
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
47+
files under the ./missing directory. See each file for the copying
48+
condition.
49+
50+
5. The scripts and library files supplied as input to or produced as
51+
output from the software do not automatically fall under the
52+
copyright of the software, but belong to whomever generated them,
53+
and may be sold commercially, and may be aggregated with this
54+
software.
55+
56+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
57+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
58+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59+
PURPOSE.

es/community/index.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
layout: page
3+
title: "Comunidad"
4+
lang: es
5+
---
6+
7+
La comunidad que crece al rededor de un lenguaje de programación es una
8+
de sus mayores fortalezas. Ruby tiene una vibrante y creciente comunidad
9+
amigable a todas las personas sin discriminarlas por su nivel de
10+
habilidades.
11+
12+
Si estás interesado en involucrarte, aquí tienes algunos lugares por
13+
donde empezar:
14+
15+
[Grupos de usuarios](/es/community/user-groups/)
16+
: El grupo de usuarios de tu localidad es un buen lugar donde establecer
17+
contacto con otros desarrolladores Ruby. Estos grupos se están
18+
autogestionando y típicamente realizan reuniones mensuales, y/o tienen
19+
listas de correo, un sitio web, y si tienes suerte, fiestas de
20+
codificación frecuentes.
21+
22+
[Listas de correo y grupos de noticias](/es/community/mailing-lists/)
23+
: Ruby tiene un surtido de listas de diferentes tópicos y en varios
24+
idiomas. Si tienes preguntas acerca de Ruby, una buena forma de
25+
obtener respuestas es preguntarlas en una lista de correo.
26+
27+
[Ruby en IRC](irc://irc.freenode.net/ruby-lang)
28+
: El canal IRC The Ruby Language es un buen lugar para chatear con otros
29+
compañeros Rubyistas. ([Logs de chateos previos][1])
30+
31+
[El Core de Ruby](/en/community/ruby-core/) (en inglés)
32+
: Con Ruby 2.0 en camino, ahora es un buen momento para seguir cómo va
33+
su desarrollo. Si estás interesado en ayudar con Ruby, comienza por
34+
aquí.
35+
36+
[Blogs sobre Ruby](/en/community/weblogs/) (en inglés)
37+
: Es muy poco lo que sucede en la comunidad Ruby y no se comenta en los
38+
blogs. Tenemos una gran lista de sugerencias para que te suscribas.
39+
40+
[Conferencias sobre Ruby](/en/community/conferences/) (en inglés)
41+
: Los desarrolladores Ruby de todo el mundo se están involucrando cada
42+
vez en más conferencias, donde se juntan para compartir sus
43+
experiencias en sus desarrollos, discutir sobre el futuro de Ruby, y
44+
dar una bienvenida a los recién llegados a la comunidad Ruby.
45+
46+
Información general sobre Ruby
47+
: * [Ruby Central][2]
48+
* [Ruby en el Open Directory Project][3]
49+
* [Rails en el Open Directory Project][4]
50+
51+
52+
53+
[1]: http://meme.b9.com/
54+
[2]: http://www.rubycentral.org/
55+
[3]: http://dmoz.org/Computers/Programming/Languages/Ruby/
56+
[4]: http://dmoz.org/Computers/Programming/Languages/Ruby/Software/Rails/

es/community/mailing-lists/index.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
layout: page
3+
title: "Listas de correo"
4+
lang: es
5+
---
6+
7+
La suscripción a las listas de correo es una buena manera de llevarle el
8+
pulso a la comunidad Ruby. Ruby tiene cuatro listas de correo
9+
principales en inglés:
10+
11+
Ruby-Talk
12+
: Esta es la lista más popular y trata temas en general sobre Ruby. Se
13+
mantiene una copia espejada de Ruby-Talk en el grupo de noticias
14+
[comp.lang.ruby](news:comp.lang.ruby) y [Ruby-Forum.org][1].
15+
([Resúmenes semanales][2], [FAQ][3], [Archivos][4])
16+
17+
Ruby-Core
18+
: Esta lista trata temas del núcleo y de implementación sobre Ruby, a
19+
veces es utilizada para evaluar parches. ([Archivos][5])
20+
21+
Ruby-Doc
22+
: Aquí se discuten estándares y herramientas para la documentación de
23+
Ruby. ([Archivos en Gmane][6])
24+
25+
Ruby-CVS
26+
: En esta lista se anuncian todos los commits al código en el
27+
repositorio CVS de Ruby.
28+
29+
<form action="/es/community/mailing-lists/" id="subscriptions-form" method="post" markdown="1">
30+
## Suscribirse o desuscribirse
31+
32+
| Lista de correo | <select name="list"><option value="ruby-talk">Ruby-Talk</option><option value="ruby-core">Ruby-Core</option><option value="ruby-doc">Ruby-Doc</option><option value="ruby-cvs">Ruby-CVS</option></select> |
33+
| Nombre | <input name="first_name" value="" /> |
34+
| Apellidos | <input name="last_name" value="" /> |
35+
| Correo electrónico | <input name="email" value="" /> |
36+
| Acción | <select name="action"><option value="subscribe">Subscribe</option><option value="unsubscribe">Unsubscribe</option></select> |
37+
{: .fieldset cellspacing="0" cellpadding="0" border="0"}
38+
39+
<div class="buttons">
40+
<input class="button" type="submit" value="Enviar" />
41+
</div>
42+
</form>
43+
44+
Si no recibes el correo de confirmación usando este formulario de
45+
suscripción, intenta suscribirte de la [forma
46+
manual](manual-instructions/).
47+
48+
49+
50+
[1]: http://ruby-forum.org
51+
[2]: http://www.rubyweeklynews.org/
52+
[3]: http://rubyhacker.com/clrFAQ.html
53+
[4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml
54+
[5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml
55+
[6]: http://dir.gmane.org/gmane.comp.lang.ruby.documentation

0 commit comments

Comments
 (0)