Siz tezroq va samaraliroq ilovalar yaratishni orzu qilganmisiz, hali standart dasturlash tillari sizning talablaringizga javob bera olmasligini aniqladingizmi?
Bu Mojo tili o'yinga kiradi.
Mojo tomonidan ishlab chiqilgan yangi dasturlash tili Holati, AI infratuzilmasiga ixtisoslashgan kompaniya.
Bu, ayniqsa, ishlab chiquvchilarga bir nechta foydalanish holatlari, jumladan, AIni rivojlantirish uchun tezroq va mustahkamroq ilovalar yaratish imkonini berish uchun mo'ljallangan. Ushbu postda biz nimani ko'rib chiqamiz Mojo Bu qanday ishlaydi va nima uchun uni keyingi loyihangizda ishlatishingiz kerak.
Mojoning kelib chiqishi
Mojo yaratuvchilari Python-dan foydalanish qulayligini C tilining tezligi va samaradorligini birlashtirgan dasturlash tiliga ehtiyoj borligini tan oldilar.
Va ular ishlab chiquvchilarga standart apparat tavsif tillarini o'rganmasdan turib, yuqori unumdor ilovalarni yaratishga imkon beradigan tilni yaratdilar.
Natijada, ular C darajasidagi tezlikni ta'minlagan holda Python ekotizimiga to'liq mos keladigan Mojo'ni yaratdilar.
Modulli: Mojo tili orqasidagi tashkilot
Xo'sh, bu futuristik tilning yaratuvchilari kimlar?
Modular – bu Google’da uchrashgan va o‘ta murakkab va tarqoq infratuzilma sun’iy intellektning global ta’sirini cheklayotganini anglab yetgan Kris Lattner va Tim Devis tomonidan yaratilgan dunyodagi yetakchi AI infratuzilmasi startapidir.
Modulning maqsadi va maqsadi insoniyatni yaxshilash uchun AI infratuzilmasini qayta ko'rib chiqishdir. Ularning madaniyati va tamoyillari mijozlarga, yuqori sifatli ishlab chiqarish dasturiy ta'minotiga va mazmunli natijalarga erishishga ustunlik beradi.
Mojoning maqsadlari
Mojo mashinani o'rganish tezlatgichlari uchun noyob dasturlash modelini taqdim etish uchun mo'ljallangan.
Modul Mojo umumiy maqsadli dasturlashga ruxsat berishi kerakligini aniqladi, chunki bugungi protsessorlarda tensorlar va boshqa sun'iy intellekt tezlatgichlari mavjud. Bundan tashqari, Python mashinani o'rganishda va boshqa sohalarda keng qo'llanilganligi sababli, Modular Python ekotizimiga qo'shilishni tanladi.
Python-dan foydalanish til dizaynini yanada osonlashtirdi. Sintaksisning ko'p qismi allaqachon aniqlanganligi sababli, korporatsiya o'rniga kompilyatsiya mexanizmini yaratish va maxsus dasturlash imkoniyatlarini ta'minlashga e'tibor qaratishi mumkin edi.
Ko'rib chiqilishi kerak bo'lgan muhim xususiyatlar
Dasturlash imkoniyati
Progressiv turlar
Mojo tilining progressiv turlari xususiyati ishlab chiquvchilarga turdagi izohlardan foydalanish imkonini beradi samaradorlikni oshirish va xatolarni tekshirish.
Ishlab chiquvchilar kompilyatsiya vaqtida xatolarni aniqlaydigan, xatolarni yo'q qiladigan va samaradorlikni oshiradigan, batafsilroq turdagi ma'lumotlarni taqdim etadigan samaraliroq kodni ishlab chiqishlari mumkin.
Nol xarajat abstraktsiyalari
Mojo Language tomonidan taqdim etilgan nol xarajatli abstraktsiyalar tufayli ishlab chiquvchilar ma'lumotlarni tuzilmalarga inline taqsimlash orqali saqlashni nazorat qilishlari mumkin.
Qo'shimcha xotira ajratish talabini yo'qotib, bu xususiyat kod samaradorligini oshiradi va qozon kodining miqdorini kamaytiradi.
Integratsiyalashgan tilni avtomatik sozlash
Mojo Language tili bilan integratsiyalangan avtomatik sozlash funksiyasi ishlab chiquvchilarga maqsadli uskunadan foydalanish uchun parametrlarning ideal qiymatlarini avtomatik ravishda aniqlash imkonini beradi.
Ushbu funksionallik yordamida kodni har bir apparat birikmasi uchun qo‘lda moslashtirmasdan optimallashtirish osonroq.
Mojo Language sun'iy intellektni rivojlantirish uchun moslashuvchan va samarali vositadir, chunki u MLIR (Ko'p darajali oraliq vakillik), parallel heterojen ish vaqti va tez qurish vaqtini ham ta'minlaydi.
Parallelizatsiya
Mojo MLIR-dan foydalanadi, bu dasturchilarga parallellashtirish uchun AI uchun vektorlar, iplar va apparat birliklaridan foydalanishga imkon beradi. Mojo, Python-ning bir torli bajarilishidan farqli o'laroq, bir nechta yadrolarda parallel ishlov berishni qo'llab-quvvatlaydi.
Python orqali 35,000 XNUMXx tezlashishi bilan Mojo tezlik bo'yicha boshqa tillarni ortda qoldiradi.
Birgalikda ishlash
Butun Python ekotizimlari bilan oʻzaro ishlash Mojoning oʻziga xos afzalliklaridan biridir. Bu siz Mojo-ni Numpy va Matplotlib kabi har qanday ixtiyoriy kutubxonalar, shuningdek, buyurtma kodingiz bilan birlashtirishingiz mumkinligini anglatadi.
Masalan, Matplotlib Python kutubxonasidan foydalanib, Mojo kodingizdagi ma'lumotlarni ko'rishingiz mumkin.
Kengayish
Mojo ham juda moslashuvchan bo'lib, foydalanuvchilarga modellarga oldindan va keyingi ishlov berish bosqichlarini qo'shish yoki mavjud qadamlarni yangilariga almashtirish imkonini beradi.
O'zlarining modellari va modulli stekni yaxshilash uchun ishlab chiquvchilar yadro sintezi, grafiklarni qayta yozish, shakl funktsiyalari va boshqa usullardan foydalanishlari mumkin.
Nega Python o'rniga uni tanlaysiz?
Python o'zining moslashuvchanligi va yuqori samarali kompilyatsiya qilingan kutubxonalari tufayli mashhur sun'iy intellektni rivojlantirish tilidir. Biroq, u C++ kabi tillarga qaraganda ancha sekinroq.
Shu sababli, dasturchilar Python-ni ishlash uchun muhim sohalarda ishlatmaslik uchun tezroq tillar atrofida Python o'ramlaridan foydalanishni o'rganadilar.
Bu ikki til muammosiga olib keladi, bunda modellarni Python-dan ONNX yoki mash'al skripti kabi tezroq amalga oshirishga aylantirish kerak, bu esa Python-ning barcha imkoniyatlarini qo'llab-quvvatlamaydi. Python ham ishlash muammolariga va yaxshi parallel ishlov berishning etishmasligiga ega.
Hatto tajribali dasturchilar ham ikki tildagi dilemma tufayli ishlash muammolarini o'rganish, disk raskadrovka qilish va hal qilishda qiynaladi.
Tilning tuzilishi tufayli Python nima qilishi mumkinligi uchun asosiy cheklovlar ham mavjud. Garchi asosiy komponentlardan foydalanadigan algoritmlarni real hayotda amalga oshirish oson ko'rinishi mumkin bo'lsa-da, bu sezilarli darajada qiyinroq va tezroq tildan foydalanishni talab qiladi.
Qanday boshlash kerak?
Boshlash uchun Mojo tilidan hoziroq ularning Playground-da foydalanishni boshlashingiz mumkin. JupyterHub-ga asoslangan o'yin maydonchasi darslar va o'z Mojo kodingizni yaratish imkoniyatini beradi, garchi Mojo hali ham davom etayotgan ish bo'lsa ham.
O'yin maydonchasiga kirish uchun ularning veb-saytiga kirish uchun ro'yxatdan o'tishingiz mumkin.
O'zining ishlash maqsadlariga erishish uchun Mojo integratsiyalashgan keshlash, multithreading va bulutli tarqatish texnologiyalari bilan yangi avlod kompilyator texnologiyalaridan foydalanadi.
U tizim dasturlashiga qo'shimcha primitivlarni qo'shadi va vaqt o'tishi bilan Python supersetiga aylanishga intiladi. Mojo bilan kodlashni boshlash uchun Mojo kompilyatoridan Mojo dasturini terminaldan Python bilan bir xil ishga tushirish uchun foydalaning.
Til hozirda ishlab chiqilmoqda va tizim dasturlash tajribasiga ega dasturchilarga moʻljallangan.
Aylantirmoq
Mojo Python super to'plami hisoblanadi. Bundan tashqari, u Python-ning soddaligini C++ va Rust-ning ishlashi bilan birlashtirib, dasturlashni inqilob qilish imkoniyatiga ega.
U to'liq imkoniyatlardan foydalanishi mumkin Python kutubxonasi ekotizim, ishlab chiquvchilarga C, C++, Rust yoki CUDA talab qilmasdan yuqori unumdor kutubxonalar yaratish imkonini beradi.
U avtomatik sozlash va kompilyatsiya vaqtida meta-dasturlash xususiyatlari tufayli portativ kod ishlab chiqarish imkonini beradi.
Bu hali ham davom etayotgan ish bo'lsa-da, u ajoyib dasturlash vositasiga aylanish va dasturlash sanoatini o'zgartirish imkoniyatiga ega. Shunday qilib, biz Modular-dan kelajakdagi o'zgarishlarni kuzatishimiz kerak!
Kris Santos
Sizningcha, boshlang'ichdan o'rtagacha ma'lumotga ega bo'lgan odam ushbu yangi tilda o'qishni boshlashi mumkinmi? Yoki avval Javascript yoki Python kabi oddiyroq tilni o'rganishni maslahat berasizmi?
İlke Candan Bengi
Salom Kris, kech javob uchun uzr! Mojo bilan boshlashdan oldin Python haqida asosiy tushuncha/tajribaga ega bo'lish foydali bo'lishi mumkinligiga ishonaman.