ROOT: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Legobot (discussione | contributi)
m migrazione di 8 interwiki links su Wikidata - d:q947171
Xr1blu (discussione | contributi)
Funzionalità collegamenti suggeriti: 1 collegamento inserito.
 
(41 versioni intermedie di 32 utenti non mostrate)
Riga 1:
{{Nota disambigua|altri significati della parola|[[Root]]}}
{{F|informaticasoftware libero|luglio 2009}}
{{Software
|Nome = ROOT
|Logo = Rootdrawing.gif
|DimensioneLogo = 70px
|Screenshot = 2D_ROI.jpg
|Didascalia = Grafico esemplificativo in ROOT, mostrante regioni di interesse in una distribuzione bidimensionale
|Sviluppatore = [[CERN]]
|UltimaVersione = 5.28
|DataUltimaVersione = 15 Dicembre 2010
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = multipiattaforma
|Linguaggio = c++
|Genere = analisi dati
|Licenza = [[GNU Lesser General Public License|LGPL]]
|SoftwareLibero = sì
|Lingua =
|SitoWeb = [http://root.cern.ch root.cern.ch]
}}
'''ROOT''' è un potente [[Software|Pacchettopacchetto Softwaresoftware]] [[Programmazione orientata agli oggetti|orientato ad oggetti]] di [[analisi dei dati]] sviluppato dal [[CERN]] per sostituire i precedenti pacchetti (tra i quali [[Physics Analysis Workstation|PAW - Workstation di analisi Fisica]] e [[CERNLIB]]). Il progetto fu avviato da René Brun nel 1994. ROOT è scritto in [[C++]], e rilasciatodistribuito sotto licenza [[GNU Lesser General Public License|LGPL]]. Fornisce un accesso indipendente dalla [[piattaforma (informatica)|piattaforma]] al sottosistema grafico del computer e al [[sistema operativo]], utilizzando dei [[Astrazione (informatica)|livelli di astrazione]]. Sono parte della piattaforma di astrazione l'[[GUI|interfaccia grafica]], le classi contenitore, la riflessione, l'[[interprete (informatica)|interprete]] a [[riga di comando]] [[CINT]] (sostituito da [https://root.cern.ch/drupal/content/cling Cling] nella versione 6)<ref>{{Cita web|autore = |url = https://root.cern.ch/root/html600/notes/release-notes.html|titolo = ROOT Version 6.00/00 Release Notes|accesso = |data = maggio 2014}}</ref>, nonché la [[persistenza (informatica)|persistenza]] e la [[serializzazione]] degli oggetti.
 
== Dettagli ==
Riga 30 ⟶ 27:
* supporto di [[quadrivettore|quadrivettori]], utilizzati nella fisica delle alte energie
* supporto di [[funzione (matematica)|funzioni matematiche]] standard,
* analisi dei dati [[statistica multivariata|multivariata]], per esempio usando [[rete neurale artificiale|reti neurali]],
* manipolazione di immagini, usata per esempio per analizzare figure astronomiche,
* accesso ai dati distribuiti (nel contesto di [[Grid]]),
Riga 36 ⟶ 33:
* ''[[persistenza (informatica)|persistenza]] e [[serializzazione]] degli oggetti'', i quali possono far fronte ai cambiamenti nelle definizioni delle classi dei dati persistenti,
* accesso ai [[database]],
* visualizzazione [[Computer grafica 3D|3D]],
* creazione di file in vari formati grafici, come [[PostScript]], [[JPEG]], [[Scalable Vector Graphics|SVG]],
* interfacciamento con i linguaggi Python e Ruby in entrambe le direzioni,
Riga 43 ⟶ 40:
Una caratteristica chiave di ROOT è il contenitore di dati chiamato ''tree'' ([[Albero (informatica)|albero]]), con le sue sottostrutture ''branches'' (rami) e ''leaves'' (foglie). Questa struttura può essere vista come una finestra scorrevole di accesso ai dati grezzi, come quando sono memorizzati in un [[file]]. Si può accedere ai dati nel successivo record nel file incrementando il valore dell'indice nell'albero. Questa tecnica evita problemi di allocazione della memoria concernenti la creazione di oggetti, e permette all'albero di comportarsi come un contenitore "''leggero''", mentre si maneggia il [[buffer]] in maniera [[trasparenza (informatica)|trasparente]].
 
ROOT pone l'attenzione sulle prestazioni a causa dell'ammontare di dati che gli [[esperimento|esperimenti]] delladel [[Large Hadron Collider]] raccoglieranno, il cui incremento stimato è di svariati [[petabyte]] all'anno. Ci si aspetta che i fisici analizzino i datodati proprio avvalendosi di ROOT, che per l'appunto è, al momento attuale, prevalentemente utilizzato nell'acquisizione ed analisi dei dati in applicazioni di Fisica ad alta energia - la maggior parte dei grafici e dei risultati ottenuti in questa disciplina sono stati ottenuti utilizzando ROOT.
 
== Critiche ==
Le maggiori critiche di ROOT sono la sua difficoltà di approccio per i neofiti e vari aspetti del suo design e dell'implementazione. Cause frequenti di frustrazione sono un eccessivo ''code bloat'' (quando il codice è eccessivamente lungo e risulta quindi lento e uno spreco di risorse), pesante uso di variabili globali,<ref>{{Cita web|url=http://insectnation.org/articles/problems-with-root.html|titolo=The problem with ROOT (a.k.a. The ROOT of all Evil)|cognome=Buckley|nome=Andy|accesso=3 maggio 2016|data=27 agosto 2007}}</ref> e una gerarchia di classi confusa. Talvolta questi problemi vengono discussi nella mailing list degli utenti di ROOT.<ref>{{Cita web|url=http://root.cern.ch/root/roottalk/roottalk06/0763.html|titolo=Re: Wikipedia criticism about root|accesso=3 maggio 2016}}</ref><ref>{{Cita web|url=http://root.cern.ch/root/roottalk/roottalk06/0782.html|titolo=RE: Re: Wikipedia criticism about root|accesso=3 maggio 2016}}</ref> Mentre gli scienziati insoddisfatti da ROOT sono in passato riusciti a ovviare ai suoi difetti,<ref>{{Cita web|url=http://zzz.physics.umn.edu/computing/contrib/root/localdoc#recommendations_to_root_users|titolo=What is ROOT?|data=1º giugno 2009|accesso=3 maggio 2016}}</ref> alcune delle carenze sono periodicamente trattate dal team di ROOT. Ad esempio, l'interprete CINT è stato sostituito da Cling,<ref>{{Cita web|url=http://root.cern.ch/root/htmldoc/notes/release-notes.html|titolo=ROOT Version 6.06 Release Notes|data=2 giugno 2015|accesso=3 maggio 2016}}</ref> e a ogni versione vengono risolti numerosi bug.
{{F|Informatica|aprile 2011|Nessuna fonte riportata}}
ROOT è stato criticato da molti per la sua struttura monolitica, la tendenza a reinventare tecnologie già esistenti, la troppa fiducia nell'interprete [[CINT]] e lo scarso uso della programmazione ad oggetti. Manca spesso la ''type safety'', e gli utenti sono costretti ad usare ''cast'' per ottenere oggetti del tipo giusto, con potenziali rischi di consistenza dei risultati.
 
Inoltre la documentazione è scarsa. Alcune classi di ROOT non si comportano sempre come ci si aspetta dalla documentazione.
 
Esiste un'alternativa all'ambiente di sviluppo ROOT, si chiama [[OpenScientist]]. Questo è un'integrazione di diversi strumenti open source gia` esistenti per svolgere compiti analoghi a quelli di ROOT.
Il punto di forza è proprio la caratteristica di sfruttare codice stabile, perché sviluppato da terze parti che si sono dedicate solamente a quel particolare aspetto.
 
== Applicazioni basate su ROOT ==
Molti ricercatori di [[fisica delladelle particelle]] hanno scritto del software basato su ROOT<ref>{{Cita web|url = https://root.cern.ch/drupal/content/example-applications|titolo = Example Applications}}</ref>, spesso non usando soluzioni generiche (come l'uso dei container di ROOT al posto di quelli della [[Standard Template Library]]).
 
* Alcuni degli esperimenti in corso che usano software basato su ROOT
Riga 61 ⟶ 52:
** [[Collider Detector at Fermilab|CDF]]
** [[Esperimento COMPASS|COMPASS]]
** [[DZeroEsperimento DØ|DØ]]
** [[H1 (rivelatore di particelle)|H1]]
** [[MINOS]]
** [[Phobos (esperimento)|PHOBOS]]
** {{cita web | 1 = http://www.star.bnl.gov | 2 = STAR | accesso = 21 febbraio 2020 | urlarchivio = https://web.archive.org/web/20081108051432/http://www.star.bnl.gov/ | urlmorto = sì }}
** [http://www.star.bnl.gov STAR]
* Esperimenti futuri di fisica delle particelle che stanno sviluppando software basato su ROOT
 
* Esperimenti futuri di fisica delle particelle che stanno sviluppando software basato su ROOT
** [[A Large Ion Collider Experiment|ALICE]]
** [[Esperimento ATLAS|ATLAS]]
Riga 73 ⟶ 63:
** [[LHCb]]
** [[PANDA]]
 
* Altri progetti di fisica che usano ROOT
** [[Gamma-ray Large Area Space Telescope|GLAST]]
** [[IceCube Neutrino Detector|ICECUBE]]
** [[MAGIC]]
 
== Note ==
<references />
 
== Voci correlate ==
* [[CERN]]
* [[Physics Analysis Workstation]]
* [[PAW]]
* [[MINUIT]]
* [[HBOOK]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{en}} [http://root.cern.ch/ Sito ufficiale]
* [{{cita web|http://wiki.ubuntu-it.org/Programmazione/RootCern |Come installare Root su Ubuntu]}}
* [https://web.archive.org/web/20080120131426/http://mirror.phy.bnl.gov/debian-root/ubuntu/ ROOT Repository] per [[Ubuntu]]
* [https://web.archive.org/web/20071228061011/http://mirror.phy.bnl.gov/debian-root/ ROOT Repository] per [[Debian]]
 
{{Portale|matematica|software libero}}
 
[[Categoria:Software per la gestione dei dati]]
{{Portale|informatica|matematica}}
[[Categoria:CERN]]