[MontelLUG] Fork e compilatori

Diego panda84 a inwind.it
Lun 1 Nov 2010 22:16:50 CET


Il 01/11/2010 18:47, Davide Rondini ha scritto:
> Bah, questo è opinabile: anche gcc stesso è stato praticamente riscritto da
> zero nel passaggio dalle versioni 3.x alle 4.x, tra l'altro proprio separando
> la struttura logica in tre parti (back-end, middle-end e front-end), proprio
> per renderlo più flessibile. Non mi sono addentrato in tutti quei link, ma
> dalla wikipedia leggo che che LLVM già usava gcc come front end, quindi perché
> scriverne un altro?

C'è ancora:
http://dragonegg.llvm.org/

Clang è stato scritto per i motivi elencati nella sua homepage (sezione 
why):
http://clang.llvm.org/

> Quello che obietto non è di paralizzare lo sviluppo per non osare riscrivere
> certi pezzi di codice con approcci innovativi, dico solo che certe cose si
> potrebbero concentrare in un unico team di sviluppo, in seno a un singolo
> progetto, in modo da non sprecare risorse.

Ora che le aziende si stanno impegnando sempre di più nell'open source 
si sta verificando sempre di più che le esigenze delle aziende non sono 
conciliabili con quelle della comunità. Qualche esempio di fork:
Oracle - OpenOffice.org forkato in LibreOffice
Canonical - Gnome Shell sostituito da Unity
Google - JVM riscritta da zero Dalvik
Apple - KHTML forkato in Webkit
Nokia - KOffice forkato

È nella natura del software libero (di più: nella licenza!) il fork, 
quindi l'unica cosa da fare è sperare che porti buoni frutti se è cosa 
buona e giusta o che fallisca rapidamente viceversa.

> Non ho mai parlato di mantenere il sacro GCC immutabile e intoccabile, dico
> solo che non mi pareva il caso di disperdere risorse di sviluppo in progetti
> che in fondo fanno la stessa cosa.

Le differenze non sono molto documentate, ma pare tutti quelli che 
lavorano con Gallium3D e le schede video moderne siano entusiasti 
dell'approccio utilizzato da LLVM:
http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/llvmpipe/README
http://zrusin.blogspot.com/2009/02/opencl.html
http://zrusin.blogspot.com/2010/10/intermediate-representation-again.html

Vorrà dire che mi leggerò il libro di Ullman sui compilatori per capirne 
di più!
http://www.amazon.com/Compilers-Principles-Techniques-Alfred-Aho/dp/0201100886

Ciao,
Diego




More information about the montellug mailing list