On Sat, 4 Nov 2000, CodeNinja wrote:
> Volevo sapere quali linguaggi sono maggiormente adatti/piu' usati dai fisici
> per lo sviluppo di software (simulazione, super-calcolo, ecc.)
>
> Io sapevo che il FORTRAN andava alla grande...ho dato un'occhiatina a questo
> linguaggio, e devo dire che non mi piace per niente...sembra mal
> strutturato, ecc. :(
> Si usa davvero tanto il FORTRAN?? E se si', perche'???
L'uso del FORTRAN e' ancora parecchio diffuso per due motivi
principali.
Il primo e', diciamo, storico dovuto all'abitudine ad usarlo in passato
con la conseguenza che esiste una grande quantita' di ottimo software
scritto in Fortran che puo' essere riutilizzato. Alcune delle migliori
librerie commerciali di calcolo numerico sono scritte in Fortran, per
esempio.
Il secondo e' dovuto al fatto che il Fortran e' ottimizzato per le
applicazioni di calcolo numerico. Ad esempio consente di effettuare
operazioni sia in singola che in doppia precisione e quindi di scegliere
fra risultati meno precisi ma esecuzione piu' veloce o viceversa, include
le primitive su numeri complessi, ed inoltre proprio per la sua sintassi
"semplice" (o bruttina che dir si voglia) si presta bene
all'ottimizzazione del codice su macchine vettoriali e parallele.
> Invece, per quanto riguarda il C, il C++ e Java, che si dice? Non sono
> adatti? Per quale motivo? O vanno invece benone e stanno prendendo piede,
> attualmente?
Il C e' abbondantemente usato anche per applicazioni di calcolo, ma con
le limitazioni rispetto al Fortran che ho citato sopra.
Il C++ e' noto per avere una lunga "curva di apprendimento". E' un
linguaggio adatto maggiormente per lo sviluppo di progetti complessi in
cui sia necessaria la cooperazione di un gruppo di programmatori, mentre
lo sviluppo di software ad uso scientifico e' spesso il lavoro di un
singolo o di pochi.
Java e' appena un bambino e forse crescera', ma non presenta alcun
vantaggio per le applicazioni di calcolo numerico, anzi presenta numerosi
svantaggi: prima di tutto e' interpretato (almeno parzialmente), quindi
poco efficiente; poi non ha niente di particolarmente adatto allo sviluppo
di software "numerico".
Semmai ci sono altri linguaggi (o meglio "ambienti di programmazione") che
stanno avendo successo: IDL, Mathematica, Matlab (ed i loro "cloni" non
commerciali) anche questi sono interpretati, ma offrono una gran quantita'
di funzioni complesse gia' implementate.
--------------------------------------------------------------------------
-- ) Luca Fini Tel: +39 055 2752 307
___ |\ Osservatorio Astrofisico di Arcetri Fax: +39 055 2752 292
/ | | |-_ L.go E.Fermi, 5 +-----------------------------------------
(___|___//___) 50125 Firenze / WWW:
http://www.arcetri.astro.it/~lfini
(_) (_) Italia / e-mail: lfini_at_arcetri.astro.it
-----------------------------+--------------------------------------------
In a world without fences - who needs GATES?
Received on Tue Nov 07 2000 - 00:00:00 CET