Calcolo scientifico
Da sempre i calcolatori elettronici hanno avuto un ruolo importante nella ricerca scientifica, e la loro crescente potenza permette sempre nuove applicazioni.La mera potenza di calcolo non è però ovviamente l'unico requisito richiesto. Non va infatti sottovalutata l'importanza di avere a disposizione strumenti semplici e di immediato utilizzo che consentono di provare immediatamente un'idea per verificarne subito la bontà.
Storicamente si è passati quindi da linguaggi efficienti ma ostici come l'assembly a linguaggi di programmazione via via più evoluti, di pari passo con gli altri campi applicativi (C, C++, Java) o più specializzati (Fortran).
Per ciascuno di questi linguaggi grande importanza rivestono le diverse librerie di funzioni e routine dedicate a campi più o meno "verticali" che consentono di non doversi reinventare ogni volta gli algoritmi più semplici e/o ricorrenti come il prodotto di matrici o un processo di integrazione numerica.
Da alcuni anni i ricercatori hanno infine a disposizione un discreto numero di ambienti integrati ed interattivi per lo sviluppo di applicazioni di calcolo scientifico.
Questi consentono davvero di raggiungere l'obiettivo citato inizialmente, ovvero la rapida implementazione e verifica di idee che con linguaggi tradizionali richiederebbero lunghe sessioni di programmazione e relativo debugging.
Alcuni di questi ambienti sono bbastanza "general purpose" mentre altri si sono andati specializzando nella soluzione di problemi di specifici campi scientifici o nell'elaborazione di specifiche classi di dati quali le serie temporali, le matrici o le immagini.
Non è semplice dividere gli strumenti di cui vogliamo parlare in categorie ben definite, essendo per esempio un software nato per il calcolo matematico utilizzabile in altri campi scientifici, teorici o applicativi. Abbiamo scelto quindi di mantenere delle sotto-sezioni abbastanza "spaziose" e vi consigliamo comunque di dare un'occhiata anche a quelle che vi paiono anche solo vagamente correlate al vostro problema.
Una delle caratteristiche della ricerca scientifica è proprio quelle di mutuare continuamente le idee da altri campi anche apparentemente lontani, e ciò si applica in maniera ancora più evidente al software scientifico.