Skip to main content

Chris Lattnerin Mojo-ohjelmointikieli saavuttaa 1.0-betan. Python-syntaksi, Rust-muistinhallinta ja natiivinopeus GPU-tuella tekevät siitä kiinnostavan vaihtoehdon.

Chris Lattnerin ja Modular-tiimin kehittämä Mojo-ohjelmointikieli on saavuttanut ensimmäisen 1.0-betaversion kolmen vuoden kehitystyön jälkeen. Alkuperäinen visio vuodelta 2023 on selkiytynyt: Mojo ei ole suora Python-korvike, vaan järjestelmätason kieli joka yhdistää Python-maisen syntaksin Rust-tyyppisen muistinhallinnan kanssa. Kieli tarjoaa tarkan muistinhallinnan, vahvan tyypityksen ja koneläheistä suorituskykyä säilyttäen samalla korkeamman tason kielien käyttömukavuutta.

Mojon perusfilosofia eroaa merkittävästi Pythonista muuttujien käsittelyssä. Kaikilla muuttujilla on vahvat tyypit joko annotaatioiden tai automaattisen päättelyn kautta, eikä muuttujan tyyppiä voi vaihtaa ajon aikana. Kieli ottaa käyttöön Rust-maisen omistajuuskonseptin (ownership) roskienkeruun sijaan, mikä mahdollistaa muistin hallinnan käännösaikana. Transfer sigil -syntaksi (^-merkki) siirtää arvon omistajuuden muuttujalta toiselle, kun taas ref-avainsana mahdollistaa viittausten käytön kopioinnin sijaan.

Kielen tyyppijärjestelmä on suunniteltu suorituskyvyn optimointiin. Mojo tarjoaa koneläheisiä tyyppejä kuten eri levyisiä etumerkillisiä ja etumerkittömiä kokonaislukuja sekä liukulukuja SIMD-vektorikiihdytyksen tuella. Pythonin luokkien sijaan Mojo käyttää struct-rakenteita, joihin voidaan lisätä ominaisuuksia traits-mekanismilla. Layout-paketti tarjoaa tensor-tyypit lineaarialgebran ja moniulotteisten taulukoiden käsittelyyn, erottaen datan tallennuksen ja käsittelyn toisistaan.

Mojo säilyttää Python-yhteensopivuuden CPython-ajoympäristön kautta, mutta paras suorituskyky saavutetaan kun suurin osa työstä tehdään Mojo-puolella. Kieli tarjoaa suoraan GPU-tuen standardikirjastossa DevicePassable-trait-ominaisuuden kautta, compile-time metaohjelmointia ja reflection-ominaisuuksia. Vaikka automaattista migraatiopolkua Pythonista tai Rustista ei ole, Mojon syntaksin selkeys, natiivinopeus ja tulevaisuuteen suuntautuvat ominaisuudet tekevät siitä kiinnostavan vaihtoehdon erityisesti koneoppimisen ja laskennallisen matematiikan kehittäjille.

Tärkeimmät pointit

  • Mojo 1.0 beta julkaistu toukokuussa 2026, Chris Lattnerin ja Modular-tiimin kehittämä
  • Python-syntaksi vahvalla tyypityksellä ja Rust-tyylisellä ownership-muistinhallinnalla
  • Struct-rakenteet traits-ominaisuuksilla Pythonin luokkien sijaan
  • Koneläheisiä tyyppejä SIMD-vektorikiihdytyksellä, layout-paketti tensor-tyypeille
  • Transfer sigil (^) omistajuuden siirtoon, ref-avainsana viittauksille
  • Compile-time metaohjelmointi comptime-avainsanalla ja parametrit hakasulkeissa
  • Suora GPU-tuki DevicePassable-traitilla standardikirjastossa
  • Python-yhteensopivuus CPython-ajoympäristön kautta molempiin suuntiin
  • Neljä pointer-tyyppiä: Pointer, OwnedPointer, ArcPointer, UnsafePointer

Lähde: infoworld — alkuperäinen artikkeli julkaistu 20.5.2026