3min Devops

Programmeertaal Mojo bereikt versie 1.0

Programmeertaal Mojo bereikt versie 1.0

Modular heeft versie 1.0 van programmeertaal Mojo uitgebracht. Daarmee wil het bedrijf een stabiele basis bieden voor ontwikkelaars die de taal voor langere tijd willen gebruiken. De release komt op een interessant moment: Modular is inmiddels onderdeel van Qualcomm, terwijl Mojo juist is bedoeld als een relatief hardware-onafhankelijke programmeertaal voor AI-systemen.

Mojo werd in 2023 geïntroduceerd. De taal is ontwikkeld voor algemene softwareontwikkeling, maar richt zich nadrukkelijk op toepassingen waarbij prestaties en verschillende soorten hardware een rol spelen. In combinatie met het MAX-framework moet Mojo software kunnen ondersteunen op uiteenlopende CPU’s, GPU’s en andere accelerators.

Dat raakt aan een belangrijk probleem in de AI-industrie. Veel software is sterk gekoppeld aan specifieke hardwareplatforms. Nvidia heeft met CUDA een groot ecosysteem rond zijn GPU’s opgebouwd, terwijl AMD met ROCm een alternatief biedt. Modular wil met Mojo een programmeerlaag bieden die minder afhankelijk is van één leverancier.

Van snelle ontwikkeling naar stabiliteit

De stap naar 1.0 draait vooral om stabiliteit. Tijdens de ontwikkeling veranderden onderdelen van Mojo regelmatig. Voor een jonge taal is dat niet ongebruikelijk, maar het maakt het lastiger om projecten voor de lange termijn te onderhouden. Modular zegt daarom dat veranderingen binnen de 1.x-reeks voornamelijk uitbreidingen zullen zijn. Ingrijpende wijzigingen blijven mogelijk, maar moeten voortaan zorgvuldiger worden doorgevoerd.

De 1.0-release bevat daarnaast verschillende vereenvoudigingen en verbeteringen. De taal is op onderdelen consistenter gemaakt, de ondersteuning voor ontwikkelomgevingen is verbeterd en Mojo kan meer problemen rond geheugenveiligheid signaleren. Ook zijn enkele nieuwe mogelijkheden toegevoegd, waaronder ondersteuning voor Python-achtige lambda-functies.

Qualcomm verandert de context

De stabiliteitsbelofte krijgt extra betekenis door de overname van Modular door Qualcomm. Qualcomm kondigde de overname in juni aan en rondde die op 29 juli af. Volgens Qualcomm blijven Mojo, MAX en Modular Cloud bestaan en blijft Modular zich richten op een open ecosysteem.

Tegelijkertijd is Qualcomm zelf een chipfabrikant. Dat roept vragen op over de onafhankelijkheid van Mojo, schrijft The Register. Als de taal een rol moet spelen tussen verschillende hardwareleveranciers, zullen ontwikkelaars en bedrijven erop moeten kunnen vertrouwen dat Qualcomm de ontwikkeling niet in een bepaalde richting stuurt. Modular stelt dat de overname daar geen verandering in brengt. De komende open-source stappen zullen belangrijk zijn om die belofte in de praktijk te beoordelen.

Compiler moet open source worden

De standaardbibliotheek van Mojo is al open source. De compiler en toolchain zijn dat nog niet. Modular heeft beloofd die onderdelen in 2026 vrij te geven en bevestigt dat opnieuw bij de 1.0-release.

Dat maakt de geplande release relevanter dan een gewone volgende stap in de ontwikkeling. The Register wees er bij de aankondiging van Mojo 1.0 eveneens op dat ontwikkelaars juist door de Qualcomm-overname vragen hebben over de toekomstige onafhankelijkheid van het project.

Modular organiseert op 18 augustus ModCon in San Francisco. Daar wil het bedrijf meer vertellen over de toekomst van Mojo, MAX en open source. Of de compiler daar daadwerkelijk wordt vrijgegeven, is nog niet bevestigd.

Mojo 1.0 betekent daarmee vooral dat Modular de taal als stabiele basis beschouwt. De ontwikkeling stopt niet. Op de roadmap staan onder meer verbeteringen voor asynchrone programmering, pattern matching en unions.

De grotere vraag is of Mojo buiten Modular en Qualcomm een voldoende groot ecosysteem kan opbouwen. Daarvoor zijn naast een stabiele taal ook libraries, tooling en vertrouwen vanuit ontwikkelaars en andere hardwareleveranciers nodig. De 1.0-release is daarmee minder een eindpunt dan een nieuwe fase. Juist de komende periode moet duidelijk maken of Mojo kan uitgroeien tot een breed gebruikte programmeerlaag voor AI-hardware.