Mojo è finalmente arrivato. Dopo più di 120.000 iscrizioni di sviluppatori a Mojo Playground e intensi dibattiti sulle funzionalità del linguaggio, la società dietro a Mojo, Modular, ha reso il linguaggio disponibile per il download locale. Al momento è accessibile solo su piattaforme Linux, ma il supporto per Microsoft e Mac è in arrivo.
Ciò che rende interessante questo sviluppo è che gli sviluppatori hanno già iniziato a sperimentare Mojo, ottenendo risultati impressionanti. Aydyn Tairov, noto come “Mojician” nella comunità Mojo, è riuscito a implementare “llama2.py” all’interno di Mojo con una velocità del 20% superiore rispetto a “llama2.c” (Baby Llama) di Andrej Karpathy, scritto in linguaggio C. Ciò dimostra che le affermazioni di Modular sulla superiorità di Mojo rispetto a Python sono fondate.
Durante il lancio iniziale di Mojo a maggio, Modular aveva dichiarato che il linguaggio era 35.000 volte più veloce di Python. In un recente post, hanno rivelato che il numero effettivo era in realtà 68.000 volte più veloce. Ma come è possibile?
Gli sviluppatori spiegano che una delle motivazioni principali alla base della creazione di Mojo è stata la necessità di supportare tutte le operazioni, compreso l’uso delle GPU, in un unico linguaggio di programmazione. Mentre molte piattaforme si affidano alle GPU solo per determinate operazioni, Mojo cerca di unificare tutto sotto un’unica lingua.
Ora, grazie all’integrazione con il codice Python e un modello di programmazione scalabile per le GPU, Mojo semplifica la transizione linguistica. Con alcune modifiche al codice Python esistente, gli sviluppatori possono ottenere un aumento della velocità di calcolo di oltre 68.000 volte.
La versione iniziale dell’SDK Mojo include un set completo di strumenti per agevolare lo sviluppo dei programmi Mojo. Questi strumenti comprendono il “Driver Mojo” per esecuzione dei comandi REPL, la “Visual Studio Code Extension” per migliorare la produttività e il “Kernel Jupyter” per supportare la creazione di notebook Mojo, compresi frammenti di codice Python.
Curiosamente, nonostante tutti questi progressi, Modular ha deciso di non rendere open source Mojo. Il linguaggio è stato progettato pensando all’intelligenza artificiale, combinando la sintassi di Python con la portabilità e la velocità di C. Gli sviluppatori Tim Davis e Chris Lattner hanno inizialmente dichiarato di non aver pianificato la creazione di un nuovo linguaggio di programmazione, ma durante lo sviluppo della loro Modular Platform, si sono resi conto della complessità della programmazione su tutto lo stack.
Nonostante ciò, la decisione di Modular di mantenere Mojo closed source ha sollevato alcune critiche nella comunità degli sviluppatori. Molti sperano che in futuro il linguaggio possa diventare open source, ma al momento sembra che la società stia adottando un approccio graduale.
In conclusione, Mojo è una promettente aggiunta al panorama dei linguaggi di programmazione orientati all’intelligenza artificiale. Tuttavia, la sua futura adozione potrebbe dipendere dalla decisione di Modular di renderlo open source e dalla risoluzione dei problemi di licenza. Resta da vedere come questo influenzerà il suo utilizzo su larga scala nell’ecosistema dell’IA.