Sbatti le palpebre e potresti perderti l’invenzione di un altro linguaggio di programmazione. La vecchia battuta dice che i programmatori trascorrono il 20% del loro tempo a programmare e l’80% del loro tempo a decidere quale linguaggio usare. In effetti, ci sono così tanti linguaggi di programmazione là fuori che non siamo sicuri di quanti ne abbiamo effettivamente. Probabilmente è corretto affermare che esistono almeno 700 linguaggi di programmazione che persistono in vari stati di utilizzo e abuso. C’è sempre spazio per ulteriori miglioramenti, a quanto pare.
Mentre l’intelligenza artificiale continua a spingersi oltre, sta anche spingendo i limiti dei nostri linguaggi di programmazione più popolari, come Java, C e Python. E, come ogni altra cosa, l’intelligenza artificiale è un altro problema che richiede solo un nuovo linguaggio di programmazione per risolverlo. Questa volta, tuttavia, la storia suggerisce che potrebbe non essere una cattiva idea.
Negli anni ’70 e ’80, l’intelligenza artificiale guidava un’ondata di nuovi linguaggi di programmazione, come LISP e Prolog, che hanno introdotto concetti rivoluzionari come l’elaborazione simbolica e la programmazione logica. Allora come oggi, l’intelligenza artificiale era l’argomento caldo.
Particolarmente significativo è stato il linguaggio LISP, che ha influenzato profondamente il futuro del software introducendo il paradigma di programmazione funzionale. Questo ha avuto un impatto duraturo sui linguaggi moderni come Python, Haskell e Scala. Senza LISP, probabilmente non saremmo dove siamo oggi.
Ora, la storia si ripete e l’intelligenza artificiale sta guidando di nuovo l’invenzione di nuovi linguaggi di programmazione. Gli intensi calcoli numerici e l’elaborazione parallela richiesti dagli algoritmi di intelligenza artificiale evidenziano la necessità di linguaggi in grado di colmare efficacemente il divario tra l’astrazione e l’utilizzo efficace dell’hardware sottostante.
Probabilmente, la tendenza è iniziata con API e framework come Tensor Computation Syntax di TensorFlow, Julia, insieme al rinnovato interesse per i linguaggi orientati agli array come APL e J, che offrono costrutti specifici del dominio allineati con le basi matematiche dell’apprendimento automatico e delle reti neurali.
Più recentemente, linguaggi AI-first come Bend, Mojo e Swift per TensorFlow sono emersi per rispondere alle esigenze specifiche dello sviluppo dell’IA. Questi linguaggi sono progettati da zero per soddisfare le esigenze dell’intelligenza artificiale, offrendo prestazioni ottimizzate e facilità d’uso.
Mojo è uno di questi linguaggi, sviluppato da Modular AI. È progettato per offrire prestazioni elevate, scalabilità e facilità d’uso per lo sviluppo e la distribuzione di applicazioni AI. Incorpora funzionalità innovative come la digitazione statica, il controllo della memoria avanzato e il supporto per l’hardware AI specializzato. Con il recente passaggio alla licenza Apache 2, Mojo sta guadagnando popolarità come alternativa potente e open source per lo sviluppo dell’intelligenza artificiale.