Newsgroup: it.lavoro.informatica
Titolo: Ruby: in che contesti e' richiesto ?

Ciao a tutti
 
Per chi lo usa gia', secondo voi , in che contesti e' maggiormente 
richiesto Ruby ?
Per semplificare :
Percentuale di:
1) programmi client-server
2) programmi stand alone
3) applicazioni mobile (con quale s.o.?)
4) altro (?)
 
un saluto

 richiesto Ruby ?
 
 
humm...cene eleganti ?
 
 
 
-- 
cambFORZAJ...@liVIVAMILANbero.it
 
togli le due bestemmie per scrivermi.
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 

Per quel che posso dire: webapp medio-grandi (GitHub, Slideshare, Scribd, ...)
amministrazione di sistema (monitoring e deploy), puppet per fare un nome
famoso ed in genere soluzioni a tema rete multitier/integrazione assortite
qualcosa nel campo della telefonia della serie clicchi su una scheda di una
qualche rubrica, parte la chiamata e tu devi solo tirar su la cornetta del
tuo telefono desktop ecc... Simulazione per lo più come collante di vecchi
pezzi di codice fortran e simili.
 
Per parlare di percentuali quel che vedo può essere spannometricamente:
 * software a tema multitier network-related 70%
 * applicazioni "standalone" multilinguaggio 10%
 * altro, per lo più script o roba piccola di ogni sorta 20% 
Sul mobile non mi risulta nulla...

   * altro, per lo pi� script o roba piccola di ogni sorta 20%


 Quali sono, secondo te, i pregi e i difetti ? 
Dipende rispetto a cosa per far cosa; in generale ha una sintassi concisa
e non troppo "complessa" ovvero puoi fare quel che fai in Perl senza aver
bisogno di 5' per capire cosa fanno quelle 4 righe che hai davanti, è un
po' più complessa di Python ma anche più "comoda" per alcuni aspetti, non
ha sitassi "strane"&poco digeribili tipo Erlang, Go ecc né troppo "lunghe"
come C o Java.
 
Di difetti per quel poco che ho usato io: bindings/librerie meno varie o
meno sviluppati/e di altri linguaggi e grande pecca, aimé diffusa, non ha
un threading model realmente parallelo (GIL, tutti i thread che vuoi ma
solo uno alla volta in run) ci sono implementazioni di ruby che supportano
thread nativi realmente paralleli ma sono un po' prese per i fondelli non
funzionando con buona parte delle gemme disponibili... Se pensi a qualcosa
di relativo ad applicazioni di rete può interessarti JRuby che usa i thread
Java senza alcun locking extra ma al pari di Jython non è sviluppato come
l'interprete C classico...
 
Di sentite c'è chi lamenta maggior lentezza rispetto a Perl e Python e 
scarse performance nella gestione di UTF-8 che richiede conversioni interne
non essendo usato nativamente, per quel che ci ho fatto non ho mai avuto
alcun riscontro, figuriamoci fastidio!
 
Come info generica Ruby 1.9 vs 1.8 ha avuto lo stesso salto di Python 3
vs Python 2, molti sono ancora fermi alla 1.8... Se devo dir la mia Ruby
ha attirato molta gente ma ad oggi è in declino...

 solo uno alla volta in run)
 
Per esperienza, se non specifichi quando questo valga o meno, la
maggior parte dei programmatori (che molto spesso poi finiscono a
scrivere applicazioni I/O-bound) capiscono l'esatto opposto di quello
che accade in realtà.

 che accade in realtà. 
Hum, durante l'I/O wait il GIL è rilasciato e quindi l'interprete può far
dell'altro, poiché in una webapp tra query&c la maggior parte del lavoro
non è di Ruby ma di terzi il GIL non è un gran problema: operazioni come n
query, una per thread, possono effettivamente avvenire in parallelo...
Intendi questo?


Si, così come le estensioni usano e possono essere scritte entrando e
uscendo dalle "blocking region" quando serve, rendendo di fatto la
questione un non-problema in diversi casi. Certo non è come non avere
un global lock attivo ma nemmeno così tragico come pare a molti (che
manco poi lo scrivono per davvero sw concorrente o parallelo)
dall'esterno.