A+ (linguaggio)
# A+ (linguaggio)

A+ è un linguaggio di programmazione vettoriale, discendente dal linguaggio di programmazione A, creato per sostituire APL nel 1988. Arthur Whitney ha sviluppato la porzione "A" di A+, mentre altri sviluppatori della Morgan Stanley lo hanno esteso, aggiungendo un'interfaccia grafica utente e funzionalità in altre lingue. A+ è stato progettato per applicazioni numeriche intensive, in particolare quelle che si trovano in ambito finanziario. A+ gira su molte varianti di Unix, compreso Linux. A+ è un linguaggio di programmazione ad alto livello, interattivo ed interpretato.

A+ fornisce un insieme esteso di funzioni ed operatori, un'interfaccia grafica utente con sincronizzazione automatica di widget e variabili, l'esecuzione asincrona delle funzioni associate con variabili ed eventi, il caricamento dinamico di subroutine compilate dall'utente e altre caratteristiche.

Il linguaggio A+ implementa le seguenti modifiche al linguaggio APL:

* una funzione di A+ può avere fino a nove parametri formali;
* in A+ le dichiarazioni sono separate da punto e virgola, in modo che una singola istruzione possa essere suddivisa in due o più linee fisiche;
* il risultato esplicito di una funzione od operatore è il risultato dell'ultima istruzione eseguita;
* A+ implementa un oggetto chiamato dipendenza, che è una variabile globale (variabile dipendente) e una definizione associata che è come una funzione ma senza argomenti. I valori possono essere impostati in modo esplicito e referenziati esattamente nelle stesse modalità di una variabile globale, ma possono anche essere impostati attraverso la definizione associata.

Lo sviluppo interattivo di A+ è principalmente fatto nell'editor XEmacs, attraverso estensioni per quest'ultimo. Poiché il codice di A+ utilizza i simboli originali di APL, visualizzare un codice in A+ richiede un font con caratteri speciali, chiamato "kalp" che è disponibile sul sito web del linguaggio per tale scopo.

Arthur Whitney ha successivamente creato K, un linguaggio di programmazione vettoriale proprietario. Come J, K omette il set di caratteri APL. Non ha alcune delle complessità presenti in A+, come ad esempio l'esistenza di dichiarazioni e di due modi differenti di sintassi.

