Una novità rivoluzionaria nel campo della programmazione per l’intelligenza artificiale: Mojo. Questo linguaggio vanta una velocità straordinaria, fino a 35.000 volte superiore a quella di Python.
Abbiamo scoperto un linguaggio di programmazione fresco di sviluppo, pensato appositamente per chi opera nel settore dell’intelligenza artificiale, il suo nome è Mojo.
Immaginiamo la vostra preoccupazione: ancora un linguaggio di programmazione da imparare da capo. Ma attendete, c’è una buona notizia: Mojo è costruito come una estensione di Python, quindi, se abbiamo già familiarità con Python, non avremo difficoltà ad addentrarci in Mojo.
Ma c’è dell’altro. Mojo fonde la facilità d’uso di Python con l’efficienza di C, raggiungendo una velocità superiore a Python di ben 35000 volte.
Se ci appassiona l’intelligenza artificiale e abbiamo già esperienza con Python, Mojo è sicuramente una nuova avventura da esplorare. Ecco tutto quello che dovremmo sapere su Mojo.
Qual è il motivo di avere Mojo se abbiamo già Python? Python ha dimostrato la sua efficienza e versatilità, diventando il linguaggio di riferimento in ambiti come data science, machine learning e intelligenza artificiale. Offre un’ampia gamma di pacchetti estremamente utili per chi lavora con i dati. Tuttavia, quando si tratta di librerie che richiedono elevate prestazioni, Python agisce solo come un collante, legando associazioni di basso livello a C, C++ e altri linguaggi con performance superiori.
Questo ha reso possibile lo sviluppo di librerie come numpy e TensorFlow. Ma ciò comporta una sfida: la costruzione di queste librerie è un processo complesso, che richiede una profonda comprensione del funzionamento interno di CPython e una conoscenza di C/C++.
Secondo il documento ufficiale di Mojo, i problemi presentati da Python sono ancor più radicati e influenzano in modo significativo il campo dell’intelligenza artificiale. Python da solo non può risolvere tutte le questioni critiche necessarie per i sistemi di intelligenza artificiale applicata. Ed è qui che entra in gioco Mojo, un linguaggio di programmazione che unisce la praticità di Python con la potenza di C.
Un connubio perfetto tra due mondi!
Tuttavia, Mojo non è nato per caso. Si tratta del frutto di un progetto della società Modular, co-fondata da Chris Lattner, il creatore del linguaggio di programmazione Swift e LLVM.
Ecco perché pensiamo che Mojo sia un progetto degno di attenzione. Ora, diamo uno sguardo ad alcune delle sue migliori caratteristiche.
Mojo offre una serie di funzionalità interessanti. Ecco un breve elenco:
Mojo è progettato come un’estensione di Python Mojo punta ad essere pienamente compatibile con l’ecosistema Python. Questo implica che se siamo già programmatori Python, non avremo difficoltà a lavorare con Mojo, dal momento che condividono molte funzioni, caratteristiche e librerie.
Librerie come numpy, panda e matplotlib sono disponibili anche in Mojo. Ecco come creeresti una trama con matplotlib usando Mojo.
Tuttavia, Mojo è ancora in una fase embrionale, pertanto mancano alcune delle funzionalità di Python (ad esempio, non supporta ancora le classi). Speriamo che nei futuri aggiornamenti Mojo raggiunga piena compatibilità con Python.
Controllo forte dei tipi Mojo sfrutta i tipi per migliorare le prestazioni e il controllo degli errori. Anche se è possibile utilizzare tipi flessibili come in Python, Mojo permette un controllo rigoroso dei tipi. Ciò rende il codice più prevedibile, gestibile e sicuro.
Gestione della proprietà della memoria e del prestito Mojo supporta una convenzione per le funzioni che vogliono assumere la proprietà esclusiva su un valore. Questo permette di sfruttare la sicurezza della memoria senza intoppi.
Auto-tuning Mojo include l’autotuning, una funzione che trova automaticamente i valori migliori per i parametri per sfruttare al meglio l’hardware di destinazione.
Mojo utilizza MLIR Grazie all’impiego della rappresentazione intermedia multi-livello (MLIR), gli sviluppatori Mojo possono sfruttare vettori, thread e unità hardware AI. Questo permette a Mojo di raggiungere prestazioni eccezionali, perché, a differenza di Python che lavora con l’esecuzione a thread singolo, Mojo può lavorare con l’elaborazione parallela su più core. Questo è uno dei motivi per cui Mojo è 35.000 volte più veloce di Python.
Come cominciare con Mojo Mojo è ancora un lavoro in corso, ma possiamo provarlo oggi sul playground basato su JupyterHub. Per testare Mojo, possiamo visitare il sito e registrarsi, ricordandoci di selezionare la casella Mojo nella sezione “Interesse prodotto modulare”.