Rilascio del linguaggio di programmazione Mojo 1.0

È stato rilasciato il rilascio stabile del linguaggio di programmazione Mojo 1.0, che segna la stabilizzazione del linguaggio e l'implementazione di tutte le funzionalità di base. Il rilascio è considerato pronto per l'uso universale e consente di iniziare a sviluppare grandi progetti senza timore di modifiche al linguaggio che possano compromettere la compatibilità.

La piattaforma include componenti necessari per lo sviluppo di applicazioni nel linguaggio Mojo, tra cui un compilatore, runtime, un'interfaccia REPL interattiva per costruire e eseguire programmi, un debugger, un'estensione per l'editor di codice Visual Studio Code (VS Code) con supporto per il completamento automatico, il formattazione del codice e l'evidenziazione della sintassi, e un modulo per l'integrazione con Jupyter per costruire ed eseguire notebook Mojo. Il codice sorgente della libreria standard di Mojo è aperto sotto la licenza Apache 2.0 con eccezioni dal progetto LLVM, che consentono il mixing con codice sotto licenza GPLv2. Si prevede di aprire il codice sorgente del compilatore dopo il completamento della stabilizzazione dell'architettura interna.

Il linguaggio Mojo è sviluppato sotto la guida di Chris Lattner, fondatore e architetto principale del progetto LLVM e creatore del linguaggio di programmazione Swift. La sintassi di Mojo si basa sul linguaggio Python e il sistema di tipi è simile a C/C++. Il progetto si presenta come un linguaggio di programmazione generale che espande le capacità di Python con strumenti di programmazione di sistema, adatto a una vasta gamma di compiti e combinando la semplicità d'uso per progetti di ricerca e rapida prototipazione con l'idoneità per la creazione di prodotti finali ad alte prestazioni.

La semplicità è raggiunta grazie all'uso della sintassi familiare del linguaggio Python, mentre lo sviluppo di prodotti finali è facilitato dalla possibilità di compilazione in codice macchina, dai meccanismi di gestione sicura della memoria e dall'utilizzo di risorse per l'accelerazione hardware delle computazioni. Per garantire alte prestazioni, si supporta il parallelismo delle computazioni, sfruttando tutte le risorse hardware disponibili nei sistemi eterogenei, come le GPU, gli acceleratori specializzati per il machine learning e le istruzioni per processori vettoriali (SIMD). Nelle computazioni intensive, il parallelismo e l'uso di tutte le risorse computazionali consentono di raggiungere prestazioni superiori rispetto alle applicazioni in C/C++.

Il linguaggio supporta la tipizzazione statica e strumenti per una gestione sicura a basso livello della memoria, simili alle funzionalità del linguaggio Rust, come il tracciamento del ciclo di vita dei riferimenti e la verifica del prestito delle variabili (borrow checker). Inoltre, il linguaggio offre possibilità per operazioni a basso livello, come l'accesso diretto alla memoria in modalità unsafe con l'uso del tipo Pointer, l'invocazione di singole istruzioni SIMD o l'accesso a estensioni hardware come TensorCores e AMX.

Mojo può essere utilizzato sia in modalità interpretativa con JIT che per la compilazione in file eseguibili (AOT, ahead-of-time). Il compilatore include tecnologie moderne per l'ottimizzazione automatica, la cache e la compilazione distribuita. Il codice sorgente nel linguaggio Mojo viene convertito in un codice intermedio a basso livello MLIR (Multi-Level Intermediate Representation), sviluppato dal progetto LLVM. Il compilatore consente di utilizzare diversi backend che supportano MLIR per la generazione di codice macchina.

Contemporaneamente è stato formato il rilascio del motore MAX Framework 26.5, che offre una piattaforma per sviluppi nell'ambito dell'apprendimento automatico. MAX Framework integra nello strumento di Mojo le risorse per sviluppare e debuggare applicazioni che utilizzano modelli di machine learning in vari formati (TensorFlow, PyTorch, ONNX, ecc.). Nella versione 26.5 è stata aggiunta la possibilità di installare solo le dipendenze necessarie, utilizzando la sintassi max["nome"], e sono stati aggiunti il supporto per due nuove famiglie di modelli AI: GLM-5.2 e Nemotron-H.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster