Skip to content

Commit e93bbc6

Browse files
committed
Imported the "it" content.
1 parent d9b6149 commit e93bbc6

File tree

56 files changed

+4268
-1
lines changed

Some content is hidden

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

56 files changed

+4268
-1
lines changed

index.html

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
'es': 'es',
1515
'fr-FR': 'fr',
1616
'fr': 'fr',
17-
'id': 'id'
17+
'id': 'id',
18+
'it-IT': 'it',
19+
'it': 'it'
1820
};
1921

2022
var language = languages[window.navigator.language];

it/about/index.md

+226
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,226 @@
1+
---
2+
layout: page
3+
title: "A proposito di Ruby"
4+
lang: it
5+
---
6+
7+
Ti stai chiedendo perché Ruby sia così popolare? I suoi fan lo chiamano
8+
“un linguaggio pulito ed elegante”, e ciononostante è pratico e
9+
funzionale. Come mai?
10+
11+
### Gli ideali del creatore di Ruby
12+
13+
![](http://redhanded.hobix.com/images/ruby-lang-matz.png){:
14+
style="padding-left:8px;"}
15+
{: style="float:right"}
16+
17+
Ruby è un linguaggio di equilibrio e armonia. Il suo creatore, [Yukihiro
18+
“matz” Matsumoto][1], ha fuso insieme parti dei suoi linguaggi di
19+
programmazione preferiti (Perl, Smalltalk, Eiffel, Ada e Lisp) per
20+
creare un nuovo linguaggio in grado di bilanciare programmazione
21+
funzionale con programmazione imperativa.
22+
23+
Lui stesso ha detto più volte che sta continuamente “provando a rendere
24+
Ruby naturale, non semplice”, in un modo che è simile alla stessa vita.
25+
26+
Chiarificando questo concetto, Matz aggiunge:
27+
28+
> Ruby è apparentemente semplice, ma al suo interno è molto complesso,
29+
> proprio come il corpo umano<sup>[1](#fn1)</sup>.
30+
31+
### Riguardo alla crescita di Ruby
32+
33+
Fin dalla prima release pubblica, nel 1995, Since its public release in
34+
1995, Ruby ha attirato sviluppatori appassionati da tutto il mondo. Nel
35+
2006, Ruby è stato universalmente accettato, con attivi gruppi di
36+
discussione formatisi nelle maggiori città del mondo e conferenze a tema
37+
capaci di fare il tutto esaurito.
38+
39+
![Grafico per cortesia di
40+
Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&amp;width=280&amp;height=140&amp;title=Ruby-Talk+Activity+over+4+Years
41+
"Grafico per cortesia di Gmane."){: style="padding-left:8px;"}
42+
{: style="float:right"}
43+
44+
Ruby-Talk, la prima [lista di discussione](/it/community/mailing-lists/)
45+
per il linguaggio Ruby, ha raggiunto il traguardo di 200 nuovo messaggi
46+
al giorno.
47+
48+
L’indice TIOBE, che misura la crescita dei linguaggi di programmazione,
49+
mette Ruby al decimo posto tra tutti i linguaggi di programmazione
50+
esistenti al mondo. Gran parte di questa crescita è da attribuire alla
51+
popolarità dei programmi scritti in Ruby, in particolare il framework
52+
Ruby on Rails<sup>[2](#fn2)</sup>.
53+
54+
Ruby è anche un linguaggio [libero e gratuito](./license.txt). Non solo
55+
non costa nulla, ma può anche essere usato, copiato, modificato e
56+
distribuito liberamente.
57+
58+
### Interpretare ogni cosa come un Oggetto
59+
60+
Inizialmente, Matz guardò ad altri linguaggi per trovare una sintassi
61+
ideale. Pensando a questa sua ricerca, ha detto lui stesso: “Volevo un
62+
linguaggio di scripting che fosse più potente di Perl, e allo stesso
63+
tempo più orientato agli oggetti di Python<sup>[3](#fn3)</sup>.”
64+
65+
In Ruby, ogni cosa è un oggetto: ogni parte di informazione e codice ha
66+
delle sue proprietà e azioni. La programmazione ad oggetti chiama le
67+
proprietà con il nome *variabili di istanza* e le azioni sono conosciute
68+
come *metodi*. L’approccio puramente orientato agli oggetti di Ruby è
69+
facilmente dimostrabile dalla seguente porzione di codice che applica
70+
un’azione ad un numero:
71+
72+
5.times { print "Ruby è un linguaggio fantastico" }
73+
{: .code .ruby-code}
74+
75+
In molti linguaggi, i numeri e gli altri tipi primitivi non sono
76+
oggetti, ma Ruby, seguendo l’esempio di Smalltalk, dà metodi e variabili
77+
di istanza a tutti i suoi tipi. Questo rende più facile l’utilizzo di
78+
Ruby, dal momento che tutte le regole applicabili agli oggetti si
79+
applicano, di fatto, all’intero linguaggio.
80+
81+
### La flessibilità di Ruby
82+
83+
Ruby è visto come un linguaggio flessibile, dal momento che permette
84+
agli utenti di alterare liberamente le sue parti, che possono essere
85+
rimosse o ridefinite a discrezione dell’utente stesso: Ruby cerca di non
86+
dare troppi limiti agli sviluppatori. Per esempio, la somma è eseguita
87+
mediante l’operatore `+`, ma se preferisci usare la parola `aggiungere`,
88+
puoi creare tale metodo aggiungendolo alla stessa classe `Numeric`, che
89+
è predefinita, così:
90+
91+
class Numeric
92+
  def aggiungi(x)
93+
    self.+(x)
94+
  end
95+
end
96+
97+
y = 5.aggiungi 6
98+
# y è ora uguale a 11
99+
{: .code .ruby-code}
100+
101+
Gli operatori di Ruby non sono altro che un modo semplice per eseguire
102+
operazioni normalmente effettuate dai metodi, e possono essere
103+
ridefiniti.
104+
105+
### I blocchi, una peculiarità veramente interessante
106+
107+
I *blocchi* sono una delle molteplici ragioni della flessibilità di
108+
questo linguaggio. A programmer can attach a closure to any method,
109+
describing how that method should act. The closure is called a *block*
110+
and has become one of the most popular features for newcomers to Ruby
111+
from other imperative languages like PHP or Visual Basic.
112+
113+
I blocchi sono stati ispirati dai linguaggi funzionali. Matz ha detto,
114+
“nelle *closures* in Ruby closures, ho voluto rispettare la cultura di
115+
Lisp<sup>[4](#fn4)</sup>.”
116+
117+
motori_di_ricerca =
118+
  %w[Google Yahoo MSN].map do |sito|
119+
    "http://www." + sito.downcase + ".com"
120+
  end
121+
{: .code .ruby-code}
122+
123+
In questo pezzo di codice, il blocco è deimitato dal costrutto `do ...
124+
end`, e il metodo `map` applica il codice del blocco alla lista di
125+
parole specificata. Molti altri metodo in Ruby danno spazio allo
126+
sviluppatore per creare i propri blocchi in modo da definire le
127+
operazioni che quel metodo deve eseguire.
128+
129+
### Ruby e “miscugli”
130+
131+
A differenza di molti altri linguaggi ad oggetti, in Ruby si può usare
132+
solamente l’ereditarietà singola. Tuttavia, Ruby dispone del concetto di
133+
“modulo” (Categoria nell’Objective-C), ovvero un raggruppamento di
134+
metodi.
135+
136+
In Ruby, è possibile utilizzare i moduli per creare dei “miscugli”
137+
(mixins): le classi possono infatti includere al loro interno un modulo
138+
ed ereditare tutti i suoi metodi, automaticamente. Per esempio,
139+
qualsiasi classe che implementa il metodo `each` può includere il modulo
140+
`Enumerable` per ottenere una serie di metodi utili che usano il metodo
141+
`each` per le iterazioni.
142+
143+
class IlMioArray
144+
  include Enumerable
145+
end
146+
{: .code .ruby-code}
147+
148+
Generalmente, gli appassionati di Ruby considerano questa pratica molto
149+
più pulita e gestibile dell’eredità multipla, che è complessa e può
150+
essere troppo restrittiva.
151+
152+
### L’aspetto di Ruby
153+
154+
Sebbene Ruby limiti il più possibile la punteggiatura a favore di parole
155+
chiave in lingua inglese, certi segni di interpunzione sono usati per
156+
“decorare” il linguaggio. Ruby non ha bisogno di dichiarazioni di
157+
variabili, perché usa convenzioni particolari per denotare la visibilità
158+
delle variabili:
159+
160+
* `var` potrebbe essere una variabile locale
161+
* `@var` è una variabile di istanza
162+
* `$var` è una variabile globale
163+
164+
Questi marcatori rendono il linguaggio più leggibile dando la
165+
possibilità al programmatore di identificare a colpo d’occhio il ruolo
166+
di ogni variabile. In questo modo, anche l’uso della parola chiave
167+
`self` da prependere a ogni membro di istanza diventa superfluo.
168+
169+
### Funzionalità avanzate
170+
171+
Ruby è in grado di offrire una marea di altre funzionalità, tra cui:
172+
173+
* la gestione delle eccezioni, proprio come Java o Python, per rendere
174+
la gestione degli errori più semplice.
175+
^
176+
177+
* Garbage collection automatica per tutti gli oggetti, come dice Matz:
178+
“Molto meglio per la tua salute!”
179+
^
180+
181+
* Scrivere estensioni in linguaggio C per Ruby è più facile che
182+
scriverle per Perl o Python, grazie a un’API molto elegante per
183+
accedere a Ruby da C. Tale API include chiamate per includere ruby in
184+
programmi, in modo da usarlo come linguaggio di scripting. È
185+
disponibile anche un’interfaccia SWIG.
186+
^
187+
188+
* Ruby è in grado di caricare dinamicamente delle extension library, se
189+
il sistema operativo lo permette.
190+
^
191+
192+
* Ruby offre funzionalità di threading indipendenti dal sistema
193+
operativo. In questo modo si può avere multithreading su tutte le
194+
piattaforme in grado di eseguire Ruby, indipendentemente dal fatto che
195+
il sistema operativo lo supporti o meno, anche in DOS!
196+
^
197+
198+
* Ruby è altamente portatile: è sviluppato principalmente su GNU/Linux,
199+
ma funzione su molte varianti di UNIX, Mac OS X, Windows
200+
95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, ecc.
201+
202+
#### References
203+
204+
<sup>1</sup> Matz, parlando nella lista di discussione “Ruby-Talk”, [May
205+
12th, 2000][2].
206+
{: #fn1}
207+
208+
<sup>2</sup> Per ulteriori informazioni, visita la home page di [Ruby on
209+
Rails][3].
210+
{: #fn2}
211+
212+
<sup>3</sup> Matz, in [Un’intervista con il creatore di Ruby][4], Nov.
213+
29th, 2001.
214+
{: #fn3}
215+
216+
<sup>4</sup> Matz, in [Blocchi e *closure* in Ruby][5], December 22nd,
217+
2003.
218+
{: #fn4}
219+
220+
221+
222+
[1]: http://www.rubyist.net/~matz/
223+
[2]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773
224+
[3]: http://rubyonrails.org/
225+
[4]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
226+
[5]: http://www.artima.com/intv/closures2.html

it/community/conferences/index.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
layout: page
3+
title: "Conferenze su Ruby"
4+
lang: it
5+
---
6+

it/community/index.md

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
layout: page
3+
title: "Comunità"
4+
lang: it
5+
---
6+
7+
La comunità che si sviluppa attorno ad un linguaggio di programmazione
8+
constituisce uno dei suoi punti di forza più importanti. Ruby possiede
9+
una vibrante e crescente comunità, che accoglie amichevolmente i
10+
visitatori, qualsiasi sia il livello tecnico di ciascuno.
11+
12+
Se sei interessato a partecipare, ecco alcuni posti dove puoi
13+
cominciare:
14+
15+
[Gruppi di utenti di Ruby](user-groups/)
16+
: Il gruppo di utilizzatori Ruby del tuo quartiere è un posto eccellente
17+
per iniziare a stabilire contatti con altri programmatori Ruby. Questi
18+
gruppi si sviluppano in autonomia e di solito organizzano riunioni
19+
mensili, liste di discussione, e, se sei fortunato, frequenti “feste
20+
di codifica” (“codefests” in Inglese).
21+
22+
[Liste di discussione e newsgroup](mailing-lists/)
23+
: Ruby ha un assortimento di liste su diversi soggetti e in molteplici
24+
lingue. Se hai domande su Ruby, un modo efficace di ottenere risposte
25+
è di inoltrarle in una mailing list.
26+
27+
[Ruby in IRC](irc://irc.freenode.net/ruby-lang)
28+
: Il canale IRC (in inglese) Ruby Language è un ottimo modo per
29+
chiaccherare con altri appassionati di Ruby. ([Log di discussioni
30+
precedenti][1])
31+
32+
[Ruby Core](ruby-core/)
33+
: Con la versione Ruby 2.0 in sviluppo, ora è un momento stupendo per
34+
seguire l’evoluzione di Ruby. Se sei interessato ad aiutare con Ruby,
35+
comincia da qui.
36+
37+
[Blog su Ruby](weblogs/)
38+
: È raro che succeda qualcosa nella comunità Ruby che non sia commentato
39+
nei blogs. Abbiamo una buona lista di suggerimenti perché tu ti
40+
colleghi.
41+
42+
[Conferenze su Ruby](conferences/)
43+
: Programmatori Ruby dappertutto nel mondo organizzano sempre più spesso
44+
conferenze, dove si riuniscono per condividere sviluppi in corso,
45+
discutere il futuro di Ruby, e dare il benvenuto ai nuovi arrivati.
46+
47+
Informazioni generali su Ruby
48+
: * [Ruby Central][2]
49+
* [Ruby su Open Directory Project][3]
50+
* [Rails su Open Directory Project][4]
51+
52+
53+
54+
[1]: http://meme.b9.com/
55+
[2]: http://www.rubycentral.org/
56+
[3]: http://dmoz.org/Computers/Programming/Languages/Ruby/
57+
[4]: http://dmoz.org/Computers/Programming/Languages/Ruby/Software/Rails/

it/community/mailing-lists/index.md

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
layout: page
3+
title: "Liste di discussione"
4+
lang: it
5+
---
6+
7+
Le liste di discussione sono un ottimo modo di sentire il cuore pulsante
8+
della comunità Ruby. Ruby ha quattro liste di discussione principali in
9+
Inglese:
10+
11+
Ruby-Talk
12+
: Questa è la lista di discussione più popolare e tratta di argomenti
13+
generali su Ruby. Ruby-Talk ha anche un mirror nel newsgroup
14+
[comp.lang.ruby](news:comp.lang.ruby) e [Ruby-Forum.com][1].
15+
([Riassunti settimanali][2], [FAQ][3], [Archivi][4]).
16+
17+
Ruby-Core
18+
: Questa lista tratta argomenti che riguardano nucleo (“core”) e
19+
implementazione di Ruby, spesso usata per valutare correzioni al
20+
codice (“patches”). ([Archivi][5]).
21+
22+
Ruby-Doc
23+
: Questa lista ha come obbiettivo la discussione di standard di
24+
documentazione e tool per Ruby. ([Archivi a Gmane][6])
25+
26+
Ruby-CVS
27+
: Questa lista annuncia tutti i commit al repository CVS di Ruby.
28+
29+
<form action="/it/community/mailing-lists/" id="subscriptions-form" method="post" markdown="1">
30+
## Iscriviti o annulla la tua iscrizione
31+
32+
| Lista di discussione | <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+
| Nome | <input name="first_name" value="" /> |
34+
| Cognome | <input name="last_name" value="" /> |
35+
| Indirizzo E-mail | <input name="email" value="" /> |
36+
| Azione | <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="Invia" />
41+
</div>
42+
</form>
43+
44+
In caso di mancata ricezione della conferma email usando questo form,
45+
prova a iscriverti seguendo la [procedura
46+
manuale](manual-instructions/).
47+
48+
49+
50+
[1]: http://ruby-forum.com
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)