ON
← Nazaj na pregled
Mojo 1: Izgleda kot Python, ampak je bolj miren
Germany🏛️ Politikapred 7 dnevi

Mojo 1: Izgleda kot Python, ampak je bolj miren

Modular, podjetje pod nadzorom podjetja Qualcomm, je objavil stabilno različico 1.0 programskega jezika Mojo. Mojo je podoben Pythonu, vendar je postal lažji in enotnejši. Jezik zdaj uporablja semantično različico in je združil tipove Pointer in UnsafePointer v en sam tip. Najpomembnejša sprememba zadeva definicijo funkcij: ključna beseda 'fn' je bila odstranjena in nadomestila z 'def', s čimer so bila uvedena strožja pravila za funkcije. Poleg tega je bila uvedena nova lambda sintaksa, ki je podobna Pythonu, vendar predstavlja dodatne sintaksne zahteve.

0 svojega programskega jezika Mojo. Jezik, ki je po videzu podoben Pythonu, vključuje funkcije, navdihnjene z Rustom, zaradi česar je bolj učinkovit in enoten. Posodobitev vključuje izboljšave, kot je enotna deklaracija spremenljivk z uporabo `var`, racionalizirane zapiranja in združevanje prej ločenih vrst `Pointer` in `UnsafePointer` v eno vrsto z izrecnimi varnostnimi označevalci prek predpona `unsafe_`.

Prvič so deli Mojojevih vmesnikov izrecno označeni kot stabilni. Ena od najpomembnejših sprememb vključuje definicije funkcij. Pred tem je Mojo uporabljal ∀def` za funkcije, podobne Python-u, in ∀fn` za strožje preverjene funkcije. Z različico 1, Modular je odstranil ∀fn` in ga zamenjal z ∀def`. Ta sprememba uvaja strožja pravila za ∀def`, ki zahtevajo izrecno obdelavo izjem prek ∀raises`, če se izjeme zavržejo. Kompilator zdaj obravnava ∀def` kot predmet teh strožjih pravil, kar pomeni, da bi koda, napisana z ∀fn`, lahko spodletela novim standardom, če se ne prilagodi.

Uvedena je bila tudi nova lambda sintaksa, ki je opisana kot yPython-style, vendar zahteva oklepaje in tipne opombe. Namesto Python`s `lambda x: x 2`, Mojo uporablja `lambda (x: Int) -> Int: x 2`. Kompilator je tudi pridobil izboljšane zmogljivosti za odkrivanje napak. Lahko prepoznava neveljavne sklicevanja, zlasti v scenarijih, kjer bi upravljanje pomnilnika lahko privedlo do padcev ali varnostnih ranljivosti. Na primer, če se seznam poveča izven dodeljenega prostora in sklicevanje kaže na staro lokacijo, Mojo to označi med sestavljanjem in ne med izvajanjem.

Primer programa to ponazarja in prikazuje, kako se sklicevanje na element seznama po dodajanju novih podatkov neveljavi, kar vodi do jasnega sporočila o napaki. Modular je namenjen reševanju problema dveh jezikov, ki je pogost v razvoju AI, kjer Python prevladuje zaradi svoje enostavnosti uporabe, vendar nima zmogljivosti, pogosto se zanaša na C, C ++ ali CUDA knjižnice za izračun. Mojo ponuja statično tipkanje, model lastništva brez zbiranja odpadkov in neposredno upravljanje strojne opreme, ki ga kljub svoji znani sintaksi postavi bližje C ++ in Rust kot Python. Modular uporablja Mojo kot temelj za MAX in njegove storitve v oblaku.

Modular je bil ustanovljen januarja 2022 s strani Chrisa Lattnerja, prvotnega razvijalca LLVM in Swift, in Tima Davisa, odgovornega za TensorFlow, XLA in TPU pri Googlu. Modular je bil zgrajen na njihovem delu na MLIR, ki zdaj tvori osnovo za Mojo.

Pojdite k primarnim virom (6)

Uradni viri, na katerih temelji poročanje. Preberite jih neposredno in se izognite uokvirjanju.

1 poročil

heise online logoheise onlineNeodvisenSredinaDejstva 85Objektivnost 90pred 7 dnevi
Mojo 1: Izgleda kot Python, ampak je bolj miren

Modular, podjetje pod nadzorom podjetja Qualcomm, je objavil stabilno različico 1.0 programskega jezika Mojo. Mojo je podoben Pythonu, vendar je postal lažji in enotnejši. Jezik zdaj uporablja semantično različico in je združil tipove Pointer in UnsafePointer v en sam tip. Najpomembnejša sprememba zadeva definicijo funkcij: ključna beseda 'fn' je bila odstranjena in nadomestila z 'def', s čimer so bila uvedena strožja pravila za funkcije. Poleg tega je bila uvedena nova lambda sintaksa, ki je podobna Pythonu, vendar predstavlja dodatne sintaksne zahteve.

Ocena pristranskosti (Sredina): Der Artikel beschreibt technische Entwicklungen und Änderungen in einer Programmersprache, ohne politische Positionen oder Meinungsäußerungen zu vertreten. Gre za objektivno poročanje o posodobitvah programske opreme in tehničnih izboljšavah.

Zakaj dejstva (85): The article accurately reports on the release of Mojo 1.0, mentioning the unification of variable declarations, closures, and pointer types, aligning with the primary source document. It also correctly notes the removal of 'fn' in favor of 'def', which matches details in the source. However, it omit

Zakaj objektivnost (90): The article maintains a neutral tone overall, presenting facts about the language changes without overt bias. It uses technical terms appropriately and avoids emotional language. The mention of 'slimmer and more uniform' could be seen as slightly evaluative, but it remains mostly objective.

Kako je poročala vsaka stran

Isti dogodek, razvrščen po političnem nagibu medijev, ki so o njem poročali.

Kako je poročala vsaka stran

Podprite neodvisne novice z zavedanjem pristranskosti in odklenite družbeni utrip, glasovanje skupnosti in vse druge funkcije za podpornike.

Postani podpornik

Poročanje po svetu

Isti dogodek, kot so ga poročali v drugih državah.

Poročanje po svetu

Podprite neodvisne novice z zavedanjem pristranskosti in odklenite družbeni utrip, glasovanje skupnosti in vse druge funkcije za podpornike.

Postani podpornik

Preverjanje trditev

Ključne dejanske trditve in koliko virov jih potrjuje oz. zavrača.

Preverjanje trditev

Podprite neodvisne novice z zavedanjem pristranskosti in odklenite družbeni utrip, glasovanje skupnosti in vse druge funkcije za podpornike.

Postani podpornik

Ohranimo novice poštene.

ObjectiveNews financirajo bralci in je brez oglasov – pristranskost vam pokažemo, ne skrijemo. Podprite neodvisno novinarstvo za 4 €/mesec.

Postani podpornik

Povezane zgodbe