Apa sampeyan pengin nggawe aplikasi sing luwih cepet lan luwih efisien nanging nemokake manawa basa pemrograman standar ora bisa nyukupi kabutuhan sampeyan?
Iki nalika Basa Mojo dimainake.
Mojo minangka basa pamrograman anyar sing dikembangake dening Modular, perusahaan sing duwe spesialisasi ing infrastruktur AI.
Iki dirancang khusus kanggo nggawe pangembang nggawe aplikasi sing luwih cepet lan luwih kuat kanggo sawetara kasus panggunaan, kalebu pangembangan AI. Ing kirim iki, kita bakal ndeleng apa Mojo punika, cara kerjane, lan apa sampeyan kudu nggunakake ing project sabanjuré.
Asal-Usul Mojo
Pencipta Mojo ngerteni kabutuhan basa pamrograman sing nggabungake kegunaan Python kanthi kacepetan lan efisiensi C.
Lan, dheweke nggawe basa sing ngidini pangembang nggawe aplikasi kanthi kinerja dhuwur tanpa kudu sinau basa deskripsi hardware standar.
Akibaté, padha digawe Mojo, kang temenan bakal kebak kompatibel karo ekosistem Python nalika nyediakake kacepetan C-tingkat.
Modular: Organisasi Konco Basa Mojo
Dadi, sapa sing nggawe basa futuristik iki?
Modular minangka pambuka infrastruktur AI sing unggul ing donya sing digawe dening Chris Lattner lan Tim Davis, sing ketemu ing Google lan nyadari yen infrastruktur sing rumit lan pecah-pecah mbatesi pengaruh global AI.
Tujuan lan tujuan Modular yaiku mikir maneh infrastruktur AI kanggo ningkatake manungsa. Budaya lan prinsip kasebut menehi premi kanggo klien, piranti lunak produksi berkualitas tinggi, lan menehi asil sing migunani
Tujuan saka Mojo
Mojo dirancang kanggo nyedhiyakake model pemrograman unik kanggo akselerator pembelajaran mesin.
Modular nemtokake manawa Mojo kudu ngidini pemrograman umum amarga CPU saiki duwe tensor lan akselerator AI liyane. Salajengipun, amarga Python wis akeh digunakake ing machine learning lan lapangan liyane, Modular milih kanggo nggabungake ekosistem Python.
Panganggone Python luwih nggampangake desain basa kasebut. Amarga mayoritas sintaks wis ditemtokake, perusahaan bisa fokus kanggo mbangun mekanisme kompilasi lan nyedhiyakake kemampuan pemrograman khusus.
Fitur Penting kanggo Ditimbang
Programmability
Jinis Progresif
Fitur jinis progresif saka Mojo Language ngidini pangembang nggunakake anotasi jinis ningkatake efisiensi lan mriksa kesalahan.
Pangembang bisa ngrancang kode sing luwih efektif sing ndeteksi kesalahan ing wektu kompilasi, ngilangi bug lan ningkatake efisiensi, kanthi nyedhiyakake informasi jinis sing luwih lengkap.
Abstraksi Biaya Nol
Pangembang bisa ngontrol panyimpenan kanthi data inline-allocating menyang struktur amarga abstraksi tanpa biaya sing diwenehake dening Mojo Language.
Kanthi ngilangi syarat kanggo alokasi memori ekstra, fitur iki nambah efisiensi kode lan nyuda jumlah kode boilerplate.
Auto-Tuning Basa Integrasi
Fungsi tuning otomatis sing digabungake karo basa ing Mojo Language ngidini pangembang kanthi otomatis nemtokake nilai paramèter sing cocog kanggo entuk manfaat saka hardware target.
Kanthi fungsi iki, luwih gampang kanggo ngoptimalake kode tanpa kudu nyetel kanthi manual kanggo saben kombinasi hardware.
Basa Mojo minangka alat sing fleksibel lan efektif kanggo pangembangan AI amarga uga nyedhiyakake kabeh kekuwatan MLIR (Multi-Level Intermediate Representation), runtime heterogen paralel, lan wektu mbangun cepet.
Paralelisasi
Mojo nggunakake MLIR, sing ngidini programer nggunakake vektor, utas, lan unit hardware kanggo AI kanggo paralelisasi. Mojo ndhukung Processing podo liwat sawetara intine minangka gantos kanggo eksekusi single-threaded Python.
Kanthi nyepetake 35,000x liwat Python, Mojo ngalahake basa liyane babagan kacepetan.
Interoperability
Interoperabilitas karo kabeh ekosistem Python minangka salah sawijining kaluwihan unik Mojo. Iki tegese sampeyan bisa nggabungake Mojo karo perpustakaan sembarang, kayata Numpy lan Matplotlib, uga kode bespoke sampeyan.
Contone, sampeyan bisa nggambarake data ing kode Mojo nggunakake perpustakaan Python Matplotlib.
Extensibility
Mojo uga cukup fleksibel, ngidini pangguna mung nambah langkah-langkah pra- lan pasca-proses menyang model utawa ngganti langkah-langkah sing wis ana kanggo sing anyar.
Kanggo nambah model lan tumpukan Modular, pangembang bisa nggunakake fusi kernel, nulis ulang grafik, fungsi wangun, lan teknik liyane.
Napa Sampeyan Pilih Luwih Python?
Python minangka basa pangembangan AI sing populer amarga perpustakaan kompilasi keluwesan lan kinerja dhuwur. Nanging, iku luwih alon tinimbang basa kayata C++.
Mula, programer sinau nggunakake bungkus Python ing babagan basa sing luwih cepet supaya ora nggunakake Python kanggo wilayah sing kritis kinerja.
Iki nyebabake masalah rong basa, ing ngendi model kudu diowahi saka Python dadi implementasine luwih cepet, kayata ONNX utawa skrip obor, sing ora ndhukung kabeh kemampuan Python. Python uga masalah kinerja lan lack of Processing podo apik.
Malah programer sing berpengalaman angel sinau, debug, lan ngatasi masalah kinerja amarga dilema rong basa.
Ana uga watesan dhasar kanggo apa sing bisa ditindakake Python amarga cara basa kasebut disusun. Nalika implementasine algoritma ing donya nyata sing nggunakake komponen dhasar katon gampang, nanging luwih angel lan mbutuhake basa sing luwih cepet.
Kepiye Cara Miwiti?
Sampeyan bisa miwiti nggunakake Basa Mojo saiki ing Playground kanggo miwiti. Playground adhedhasar JupyterHub menehi pelajaran lan kesempatan kanggo nggawe kode Mojo sampeyan dhewe, sanajan Mojo isih ditindakake.
Sampeyan bisa ndhaptar akses ing situs web kanggo ngakses Playground.
Kanggo nggayuh tujuan kinerja, Mojo nggunakake teknologi kompiler generasi sabanjure kanthi teknologi caching, multithreading, lan distribusi awan sing terintegrasi.
Iku nambah primitif tambahan kanggo program sistem lan aspires kanggo dadi superset Python liwat wektu. Kanggo miwiti coding karo Mojo, gunakake kompiler Mojo kanggo mbukak program Mojo saka terminal kanthi cara sing padha karo Python.
Basa iki lagi dikembangake lan ditujokake kanggo pangembang sing duwe pengalaman ing pemrograman sistem.
Bungkus
Mojo dianggep minangka superset Python. Na, iku wis potensial kanggo revolutionize program dening nggabungke gamblang Python karo kinerja C ++ lan Rust.
Bisa njupuk kauntungan saka lengkap Pustaka Python ekosistem, ngidini pangembang nggawe perpustakaan kinerja dhuwur tanpa perlu C, C++, Rust, utawa CUDA.
Iku mbisakake produksi kode portabel thanks kanggo autotuning lan fitur meta-programming wektu kompilasi.
Sanajan isih ana kerjane, bisa dadi alat pemrograman sing nggegirisi lan ngowahi industri pemrograman. Dadi, kita kudu ngetutake perkembangan ing mangsa ngarep saka Modular!
Chris Santos
Apa sampeyan mikir yen wong sing duwe kawruh dhasar nganti menengah bisa miwiti sinau ing basa anyar iki? Utawa sampeyan menehi saran supaya sinau basa sing luwih dhasar, kayata Javascript utawa Python?
İlke Candan Bengi
Hello Chris, nuwun kanggo respon pungkasan! Aku yakin duwe pangerten / pengalaman dhasar Python sadurunge bisa mbiyantu sadurunge miwiti karo Mojo.