Smart ruby

ho trovato questo:

http://www.develbook.com/document/smart-ruby

cosa ne pensate?

quite weird ! va sicuramente provato :smiley:

2009/7/26 jamba jamba [email protected]:

ho trovato questo:

http://www.develbook.com/document/smart-ruby

cosa ne pensate?

sembra interessante; tuttavia, per quanto mi manchino tante cose del
python quando uso ruby, la mancanza di blocchi come si deve non è tra
queste*; né la distinzione tra procedure e funzioni, che trovo
forzata.

diciamo che trovo più interessante l’idea di modificare il linguaggio
che le modifiche apportate.

  • a dirla tutta: se python avesse i blocchi quelli per davvero e poche
    altre cose, non avrei cominciato a usare ruby…

pietro

Il giorno 27 luglio 2009 12.16, Pietro G.[email protected]
ha scritto:

sembra interessante; tuttavia, per quanto mi manchino tante cose del
python quando uso ruby, la mancanza di blocchi come si deve non è tra
queste*; né la distinzione tra procedure e funzioni, che trovo
forzata.

rileggendomi sembra che io volessi dire che in python c’è distinzione
tra funzioni e procedure, cosa che evidentemente non è…

pietro

Se posso aggiungere la mia…

L’indentazione semantica alla Python è una delle cose più brutte e
pericolose che abbia mai visto in più di 20 anni di programmazione, per
cui non commento oltre su questo punto per non scatenare flame war con
eventuali pitonisti che mi leggono :slight_smile:

Non capisco il punto sulle istruzioni incomplete e riguardo gli one
liner in ruby si scrive tranquillamente

def sum(a, b); a + b; end

Buona invece la parte sui tipi: (molto) occasionalmente mi sono trovato
in situazioni in cui sarebbe stato comodo definirne esplicitamente uno
con tanto di controllo a run time.

Tutta la parte sui metodi astratti, interfacce, ereditarietà , strutture
ed altre cosette qua e là mi pare utile più che altro a chi viene da
Java e C++ e vuole una transizione più morbida a Ruby. Consiglio però di
imparare il linguaggio invece che “travestirlo”.

Non sono per nulla d’accordo che “static metodo” sia più chiaro che
“self.method”, soprattutto se al posto di self si usa il nome della
classe. Non ho mai capito perché in Java i metodi di classe debbano
essere dichiarati con “static tipo nome” e non con (ad esempio) “class
method tipo nome”. Che c’entra static col concetto di metodi di classe?
E’ solo un lascito concettuale del C (non il ++, proprio il C vecchio
stile) che di metodi non ne ha.

Molto belli i pattern Haskell, la list comprehension e le altre due
cosette derivate da Python.

Superlativi i commenti su più righe anche se ci vorrebbe un /* */
chiudibile su una stessa riga. Sono l’unico a chiedersi cosa hanno
tutt’ora in testa gli sviluppatori di Ruby che non hanno mai
implementato questa innovazione degli anni '60?

Quanto al main… cado dalle nuvole. Esiste un main in ruby?

Detto questo… tanto di cappello all’autore perché il progetto è
decisamente molto bello. Per fare queste cose ci vuole tanto lavoro e
tante conoscenze. Estrarrei magari due o tre cose e me le metterei in
librerie da usare nei miei progetti perché l’idea di un compilatore
(anzi, un preprocessore) davanti ad un interprete mi piace poco.

Paolo