Nim language



Introduzione          

Nim è, senza giri di parole, uno dei linguaggi più interessanti in assoluto, non solo tra gli "ultimi arrivi". Linguaggio moderno, espressivo, ricco di caratteristiche che ne fanno uno strumento che davvero è difficile ignorare. Si tratta di un linguaggio general purpose ma con una forte impronta verso la programmazione di sistema, tanto che è spesso messo a confronto con il C/C++, il D, Rust e Go. I confronti si sprecano sul Web. Il punto debole, lo diciamo subito a scanso di equivoci, sta nel fatto che dietro di esso non c'è una grossa realtà che ne spinga e ne sostenga lo sviluppo e la diffusione. Il "padre" di questo linguaggio è il tedesco Andreas Rumpf che ha raccolto intorno al linguaggio una piccola ma produttiva comunità. Va peraltro detto che. nonostante manchi il "pezzo da 90" a sostegno, Nim si è già fatto conoscere e la sua notorietà sembra essere maggiore di quanto ci si potrebbe aspettare. Non è difficile trovare sul Web articoli che ne parlino in modo spesso entusiastico è sufficiente una breve ricerca in questo senso. Di qui un certo ottimismo per le sue prospettive trattandosi comunque di uno strumento davvero dotato di molte funzionalità moderne e di una sintassi, a mio avviso, gradevole.

Solitamente a questo punto presento le caratteristiche più salienti del linguaggio ma l'autore si è premunito proponendo lui stesso una pagina che, succintamente ma in maniera molto puntuale, presenta il suo prodotto. La trovate qui e vi consiglio di leggerla perchè è realmente ricco di spunti e fornisce un buon approccio al linguaggio.

L'introduzione a questo punto, ovvero dopo la lettura della pagina su indicata sarebbe già bella e terminata. Del principale punto debole abbiamo già detto, le critiche, come potrete constatare, sono abbstanza circoscritte. Aggiungo che, sempre sul sito di riferimento, potrete trovare moltissima documentazione praticamente su ogni aspetto del linguaggio, forse ancora un po' da sistemare per quanto riguarda la facilità di fruizione dei contenuti e consiglio di visitare anche la relativa sezione di RosettaCode già molto ricca di esempi.

Non ci resta che iniziare.