|
Iniziamo il percorso con un lingaggio di programmazione interessante che, forse, riuscirà ad avere un suo spazio nell'ambito della programmazione general purpose e di sistema in particolare (ma anche Web e giochi) Si tratta di un linguaggio compilato (quindi non ci sono macchine virtuali di mezzo) a tipizzazione statica che trae ispirazione in particolare dal linguaggio Go di Google, con cui condivide alcuni aspetti sintattici ma anche, come indicato nel sito ufficiale, da Oberon, Rust, Swift, Kotlin e Python. Tra le sue caratteristiche dovrebbe essere una curva di apprendimento molto dolce, favorita da una sintassi semplice ed elegante e una qualità dei compilati molto elevata in termini di efficienza ed occupazione di memoria con pieno supporto ad aspetti moderni della programmazione, come la gestione della concorrenza. Anche i tempi di compilazione dovrebbero piazzarsi ai primissimi posti. Non starò a dilungarmi molto sulle caratteristiche del linguaggio, che spero di poter illustrare man mano che procederemo nello studio, il progetto tra l'altro è ancora in fase decisamente di sviluppo quindi tutt'altro che definitivo. Nato nel 2019, creato da Alexander Medvednikov, a tutt'oggi, scrivo queste righe a gennaio 2025, è ancora alla versione 0.4.9 per cui, pur sembrandomi molto interessante nelle sue linee guida, ho qualche dubbio sul fatto che arriverà alla luce in tempo per crearsi uno spazio tutto suo abbastanza ampio. Lo sviluppo lento ed una adozione piuttosto pigra, con una comunità ridotta a supporto, sembra, ad ora, il problema più grande di questo strumento che però, lo ribadisco, sembra molto interessante. Da una rapida panoramica che ho dato, sembra impostato in maniera innovativa e quindi merita senza dubbio una chance, tra l'altro ritengo che studiare un linguaggio sia sempre una esperienza di più utile anche per altri ambiti a titolo di esperienza. Una nota di merito in più la riconosco per la semplicità di installazione e aggiornamento delle varie release, tutte procedure semplici che trovate sul sito ufficiale, con i linguaggi in via di sviluppo è una cosa non sempre scontata, anzi, spesso si incontrano procedure complesse che finiscono per scoraggiare gli esperimenti. Da un punto di vista tecnico, V ha CLang, Gcc e MSVC come backend, potendo quindi generare codice C leggibile e potendo quindi facilmente interagire con il C stesso. Inoltre è possibile compilare verso Javascript e WASM, ovvero WebAssembly. Ad ogni modo elenchiamo alcune caratteristiche fondamentali:
Non amo appesantire troppo questi elenchi in quanto, in genere, non interessano gran che e ad ogni modo sono sempre abbastanza incompleti (almeno quelli che faccio io). Tanto vale iniziare subito. |