Perché sempre nuovi linguaggi di programmazione?

Esistono tantissimi linguaggi di programmazione. In questo blog ne ho presentati una decina, per limitarmi a quelli alla portata di un dilettante principiante.
La maggior parte dei linguaggi esistenti proviene dallo scorso secolo ma almeno una quarantina – e non sono pochi – sono stati creati nei primi vent’anni di questo secolo: i più noti e utilizzati sono C# del 2000, Scala del 2003, Go del 2009, Kotlin del 2011, Julia e Rust del 2012, Crystal del 2014 e Raku del 2015.
I primi due sono praticamente riscritture di Java: C# ad opera della Microsoft nell’ambito del progetto .NET e Scala nel mondo del software libero.
Di Go, come semplificazione del linguaggio C, di Kotlin, come semplificazione del linguaggio Java, e di Julia, come rivale del linguaggio Python, ho parlato in questo blog, dedicando a ciascuno di essi un manualetto di apprendimento.
Si tratta sempre di linguaggi ampiamente debitori, nella concezione, a linguaggi preesistenti e creati con obiettivi di semplificazione, di miglioramento della velocità di compilazione o di esecuzione oppure di miglioramento della sicurezza.
Soprattutto il miglioramento della sicurezza rispetto a C e C++ è stato l’obiettivo dei creatori di Rust, di cui non ho mai parlato in quanto non è adatto all’apprendimento e non lo considero alla portata dei dilettanti cui è dedicato questo mio blog.
Lo stesso dicasi di Crystal, un linguaggio basato sul linguaggio Ruby, che migliora enormemente la sicurezza del fin troppo libero Ruby con il pregio di essere un linguaggio compilato. Il miglioramento della sicurezza ha comportato tuttavia l’introduzione di complicazioni, specie nella tipizzazione, che lo rendono ostico e praticamente inutilizzabile per fare della matematica come si deve e senza impazzire. Peraltro le funzionalità di Crystal sono soprattutto pensate nell’ambito del software di sistema: cose non da dilettanti.
Per noi dilettanti ritengo invece interessante Raku, la riedizione del vecchio Perl, arrivato alla versione 5, e che, con la versione 6, denominata Raku, diventa ancor più facile di quanto già non fosse, si arricchisce di un nuovo compilatore di bytecode e diventa interattivo, a tutto vantaggio di chi voglia imparare a programmare.
Alla divulgazione delle caratteristiche e delle basi di questa riedizione del linguaggio Perl dedico l’allegato manualetto.
Come sempre il documento è liberamente scaricabile, stampabile e distribuibile.

raku