Het jy al ooit begeer om vinniger en doeltreffender toepassings te bou, maar het jy ontdek dat standaardprogrammeertale nie in staat is om aan jou vereistes te voldoen nie?
Dit is wanneer Mojo Language ter sprake kom.
Mojo is 'n nuwe programmeertaal wat ontwikkel is deur Modulêre, 'n maatskappy wat spesialiseer in KI-infrastruktuur.
Dit is veral ontwerp om ontwikkelaars in staat te stel om vinniger en meer robuuste toepassings vir verskeie gebruiksgevalle te bou, insluitend KI-ontwikkeling. In hierdie pos sal ons kyk wat Mojo is, hoe dit werk en hoekom jy dit op jou volgende projek moet gebruik.
Die oorsprong van Mojo
Die skeppers van Mojo het 'n behoefte aan 'n programmeertaal erken wat die bruikbaarheid van Python kombineer met die spoed en doeltreffendheid van C.
En hulle het 'n taal gevestig wat ontwikkelaars in staat sal stel om hoëprestasie-toepassings te bou sonder om standaard hardeware-beskrywingstale te leer.
As gevolg hiervan het hulle Mojo geskep, wat bedoel is om ten volle versoenbaar te wees met die Python-ekosisteem terwyl dit C-vlakspoed bied.
Modulêr: Die organisasie agter Mojo-taal
So, wie is die skeppers van hierdie futuristiese taal?
Modular is 'n wêreldleidende KI-infrastruktuur-opstart wat geskep is deur Chris Lattner en Tim Davis, wat by Google ontmoet en besef het dat te ingewikkelde en gefragmenteerde infrastruktuur KI se globale invloed beperk.
Die doel en doel van Modular is om KI-infrastruktuur te heroorweeg om die mensdom te verbeter. Hul kultuur en beginsels plaas 'n premie op kliënte, hoë kwaliteit produksie sagteware, en die lewering van betekenisvolle uitkomste
Die doelwitte van Mojo
Mojo is ontwerp om 'n unieke programmeringsmodel vir masjienleerversnellers te verskaf.
Modular het vasgestel dat Mojo algemene-doelprogrammering moet toelaat omdat vandag se SVE's tensors en ander KI-versnellers het. Verder, omdat Python wyd gebruik word in masjienleer en ander velde, het Modular gekies om by die Python-ekosisteem aan te sluit.
Die gebruik van Python het die ontwerp van die taal verder vergemaklik. Omdat die meerderheid van die sintaksis reeds bepaal is, kon die korporasie eerder konsentreer op die bou van die samestellingsmeganisme en die verskaffing van gespesialiseerde programmeringsvermoëns.
Belangrike kenmerke om te oorweeg
Programmeerbaar
Progressiewe tipes
Die progressiewe tipe kenmerk van Mojo Language stel ontwikkelaars in staat om tipe aantekeninge te gebruik doeltreffendheid te verbeter en foutkontroles.
Ontwikkelaars kan meer effektiewe kode ontwerp wat foute tydens samestelling opspoor, foute uitskakel en doeltreffendheid verbeter deur meer deeglike tipe inligting te verskaf.
Geen koste-abstraksies
Ontwikkelaars kan beheer oor berging neem deur data in strukture toe te wys danksy die nulkoste-abstraksies wat deur die Mojo-taal verskaf word.
Deur weg te doen met die vereiste vir ekstra geheue-toekennings, verbeter hierdie kenmerk kodedoeltreffendheid en verlaag die hoeveelheid boilerplate-kode.
Geïntegreerde taal-outo-instelling
Die taal-geïntegreerde outo-tuning-funksie in Mojo Language stel ontwikkelaars in staat om outomaties die parameters se ideale waardes te bepaal om voordeel te trek uit die teikenhardeware.
Met hierdie funksionaliteit is dit makliker om kode te optimaliseer sonder om dit handmatig vir elke hardewarekombinasie aan te pas.
Mojo Language is 'n buigsame en effektiewe hulpmiddel vir KI-ontwikkeling, aangesien dit ook die volle krag van MLIR (Multi-Level Intermediate Representation), 'n parallelle heterogene looptyd en vinnige boutye bied.
Parallelisering
Mojo maak gebruik van MLIR, wat programmeerders in staat stel om vektore, drade en hardeware-eenhede vir AI vir parallelisering te gebruik. Mojo ondersteun parallelle verwerking oor verskeie kerns in teenstelling met Python se enkeldraaduitvoering.
Met 'n spoed van 35,000 XNUMXx oor Python, klop Mojo ander tale in terme van spoed.
Interoperabiliteit
Interoperabiliteit met die hele Python-ekosisteem is een van Mojo se unieke voordele. Dit impliseer dat jy Mojo kan kombineer met enige arbitrêre biblioteke, soos Numpy en Matplotlib, sowel as jou pasgemaakte kode.
Byvoorbeeld, jy kan data in jou Mojo-kode visualiseer deur die Python-biblioteek Matplotlib te gebruik.
rekbaarheid
Mojo is ook redelik buigsaam, wat gebruikers in staat stel om eenvoudig voor- en naverwerkingstappe by modelle by te voeg of bestaande stappe vir nuwes uit te ruil.
Om hul modelle en die Modulêre stapel te verbeter, kan ontwikkelaars kernfusie, grafiekherskrywings, vormfunksies en ander tegnieke gebruik.
Waarom sou u dit bo Python kies?
Python is 'n gewilde KI-ontwikkelingstaal vanweë sy buigsaamheid en hoëprestasie saamgestelde biblioteke. Dit is egter aansienlik stadiger as tale soos C++.
Daarom leer programmeerders om Python-omhulsels rondom vinniger tale te gebruik om Python te vermy vir prestasiekritieke areas.
Dit lei tot die tweetalige kwessie, waarin modelle van Python omskep moet word in 'n vinniger implementering, soos ONNX of fakkelskrif, wat nie al Python se vermoëns ondersteun nie. Python het ook prestasieprobleme en 'n gebrek aan goeie parallelle verwerking.
Selfs ervare programmeerders vind dit moeilik om te bestudeer, te ontfout en prestasiekwessies aan te spreek weens die tweetalige dilemma.
Daar is ook basiese beperkings op wat Python kan doen as gevolg van die manier waarop die taal gestruktureer is. Alhoewel die werklike implementering van algoritmes wat basiese komponente gebruik maklik kan voorkom, is dit aansienlik moeiliker en noodsaak die gebruik van 'n vinniger taal.
Hoe om te begin?
Jy kan Mojo Language op die oomblik in hul speelgrond begin gebruik om te begin. Die JupyterHub-gebaseerde speelgrond gee lesse en die geleentheid om jou eie Mojo-kode te skep, al is Mojo nog 'n werk aan die gang.
Jy kan vir toegang op hul webwerf registreer om toegang tot die Speelgrond te kry.
Om sy prestasiedoelwitte te bereik, gebruik Mojo volgende generasie samestellertegnologieë met geïntegreerde kas-, multithreading- en wolkverspreidingstegnologieë.
Dit voeg bykomende primitiewe by stelselprogrammering en streef daarna om mettertyd 'n Python-superset te word. Om met Mojo te begin kodering, gebruik die Mojo-samesteller om 'n Mojo-program vanaf die terminale te laat loop op dieselfde manier as wat Python doen.
Die taal is tans in ontwikkeling en is gemik op ontwikkelaars met ervaring in stelselprogrammering.
Afsluit
Mojo word as 'n Python-superset beskou. En dit het die potensiaal om programmering te revolusioneer deur die eenvoud van Python te kombineer met die werkverrigting van C++ en Rust.
Dit kan voordeel trek uit die volle Python-biblioteek ekosisteem, wat ontwikkelaars in staat stel om hoëprestasie-biblioteke te skep sonder die behoefte aan C, C++, Rust of CUDA.
Dit maak die vervaardiging van draagbare kode moontlik danksy sy outo-instelling en samestelling-tyd meta-programmering kenmerke.
Alhoewel dit steeds 'n werk aan die gang is, het dit die potensiaal om 'n formidabele programmeringsinstrument te word en die programmeringsbedryf te transformeer. Dus, ons moet op hoogte bly vir toekomstige ontwikkelings van Modular!
Chris Santos
Dink jy dat 'n persoon met basiese tot intermediêre kennis hul studies in hierdie nuwe taal sal kan begin? Of raai jy aan om eers 'n meer basiese taal te bestudeer, soos Javascript of Python?
İlke Candan Bengi
Hallo Chris, jammer vir die laat reaksie! Ek glo dat dit nuttig kan wees om vooraf 'n basiese begrip/ervaring van Python te hê voordat jy met Mojo begin.