Technologia

Ten nowy język programowania prawdopodobnie zastąpi Pythona

  • 3 maja, 2023
  • 6 min read
Ten nowy język programowania prawdopodobnie zastąpi Pythona


firma zajmująca się infrastrukturą AI, Modułowa sztuczna inteligencjaniedawno odsłonięty Mojonowy język programowania, który łączy składnię Pythona z przenośnością i szybkością C, dzięki czemu idealnie nadaje się zarówno do badań, jak i produkcji.

Poza tym, w przemówieniu Product Launch 2023, Tim Davis i Chris Lattner, osoba stojąca za sławą LLVM i Swift, udostępniła również jeden z najszybszych, ujednoliconych silników wnioskowania o nazwie Platforma modułowa.

Twórcy Mojo twierdzą, że nie miał zamiaru tworzyć nowego języka programowania. „Kiedy jednak budowaliśmy naszą platformę z zamiarem ujednolicenia światowej infrastruktury ML/AI, zdaliśmy sobie sprawę, że programowanie w całym stosie było zbyt skomplikowane” — czytamy na blogu.

Oznacza to budowanie języka programowania z potężnym metaprogramowanie w czasie kompilacji, integracja adaptacyjnych technik kompilacji, buforowanie w trakcie kompilacjii inne rzeczy, które nie są obsługiwane przez istniejące języki. W tym kierunku zmierza Mojo. Zespół twierdzi, że jest 35000 razy szybszy niż Python.

Nowy język programowania, naprawdę?

Wygląda jak Juliaten, który był reklamowany jako zamiennik Pythona ze względu na swoją skalowalność i jeden z najbardziej popularnych języków programowania ostatnich kilku lat, konkurujący z Rustem, wreszcie ma kolejnego konkurenta.

Warto przeczytać!  Jak pobrać wersję beta systemu Android 14 na telefon Nothing Phone 1

Co więcej, zgodnie z dokumentacją Mojo, zamiast zaczynać od zera, język programowania będzie wykorzystywał cały ekosystem bibliotek Pythona, a jednocześnie jest budowany na zupełnie nowej bazie kodu. To, wraz z wysokimi możliwościami obliczeniowymi języków C i C++, umożliwi programistom AI Python poleganie na Mojo, zamiast polegać na C lub C++.

Według twórców, jedną z głównych motywacji stojących za zbudowaniem nowego języka programowania było to, że większość nowoczesnych systemów programowania opiera się na akceleratorach, takich jak GPU do operacji, i tylko „rezerwuje” na główne procesory do wspierania operacji, takich jak ładowanie danych, przed i po przetwarzanie i integracje z obcym systemem napisanym w innych językach. Firma chciała obsłużyć pełną gamę tego w jednym języku.

Co więcej, aby nie tworzyć i nie wprowadzać innowacji w zakresie nowej składni lub społeczności, firma zdecydowała się na Pythona i jego ekosystem. Naprawdę bardzo sprytne posunięcie!

Mojo również pozostanie otwarte źródło aż stanie się nadzbiorem Pythona 3.

Mnóstwo konkursów

Według ankiety Stack Overflow Developer Survey 2022, Rust jest najpopularniejszym językiem programowania, nieprzerwanie od siedmiu lat. Problem z Rustem polega na jego złożonej składni, co sprawia, że ​​jest to trudna stroma krzywa uczenia się. Ale nawet wtedy Rust jest używany przez Meta, Dropbox, a Google planuje również go wdrożyć.

W tej samej ankiecie Julia znalazła się w pierwszej piątce najbardziej lubianych języków, pokonując Pythona. Podobnie było rok wcześniej. Viral Shah, współtwórca Julii, w wywiadzie dla AIM sprzed dekady powiedział: „Chcieliśmy języka, który nie wymaga kompromisu między wydajnością a produktywnością, a zamiast tego zapewnia zarówno wysoką wydajność, jak i wysoką produktywność”.

Warto przeczytać!  Jak aktywować i używać pierścieni z emblematami w grze Fire Emblem Engage

Co ciekawe, Elon Musk niedawno napisał na Twitterze o tym, jak to zrobić AGI nie zostanie zbudowane na Pythonie, ale na Rust. To przychodzi po tym, jak powiedział, że jest fanem Rust w zeszłym roku. W tym wątku niektórzy użytkownicy odpowiedzieli, że są po stronie Chrisa Lattnera i mają nadzieję, że to Swift, jedna z wcześniejszych ofert Lattnera. Teraz Modular powiedział: „A co, jeśli to najlepszy ze wszystkich?”

Odpowiadając na wiele z tych pytań w HackerNews na temat porównania dokonywanych z Julią i Rustem, a także przyszłych planów konkurowania z Pythonem, Chris Lattner, jeden ze współtwórców, chwali Julię jako „wspaniały język i wspaniałą społeczność” nazywając siebie super fanem. Odnosząc się do różnic między Julią i Mojo, podkreśla, że ​​Mojo ma kilka postępów technicznych, jeśli chodzi o języki takie jak Swift, Rust, C++, a nawet Julia, ponieważ nauczył się od nich i nad nimi budował.

Dodaje ponadto, że zdecydowanie jest miejsce w krajobrazie AI/ML dla innego języka, który ułatwia wdrażanie i zmniejszanie modeli, a jednocześnie obsługuje pełny ekosystem Pythona. Powiedział dalej: „Julia jest znacznie bardziej dojrzała i zaawansowana pod wieloma względami”. Ciekawe, jak Lattner patrzy na problem i decyduje się stworzyć całkowicie nowy język programowania, jak zauważył użytkownik Twittera.

Warto przeczytać!  Neuralink Elona Muska twierdzi, że drugi implant urządzenia mózgowego „poszedł dobrze”

Chociaż programiści byli pokorni, jeśli chodzi o podejście do Pythona, społeczność HackerNews i Twittera porównuje go z Pythonem.

Zmieniacz gier?

Python, a nawet Julia, nie jest preferowanym językiem programowania, jeśli chodzi o programowanie systemów, ale głównie do budowania modeli AI. Chociaż pokonuje to ograniczenie dzięki powiązaniu niskiego poziomu z C i C++ do budowania bibliotek. Ale budowanie tych bibliotek hybrydowych jest skomplikowanym zadaniem, które wymaga również znajomości języków C i C++. W tym miejscu wkracza Mojo i przekształca go w jeden integrowalny i wstecznie kompatybilny język podobny do Pythona – „Pythonic-C”

Ale z drugiej strony, ilekroć pojawia się nowa technologia, pojawiają się sceptycy i przeciwnicy, którzy czasami również podnoszą interesujące kwestie. Podczas gdy niektórzy ludzie na forum Hacker News twierdzą, że może to być zamiennik Pythona, niektórzy nadal są sceptyczni co do poprawy wydajności, którą obiecują twórcy języka. Niektórzy nawet nie nazywają go „Pythony”, od którego twórcy języka starali się trzymać z daleka.

Inna osoba na forum nazywa Mojo ostatnim gwoździem do trumny dla „Julii w zastępstwie Pythona”. Być może Julia przegapiła swoją szansę na zastąpienie Pythona, a Mojo jest tutaj, aby wykonać tę pracę. Jednak arena języków programowania pozostaje nieprzewidywalna.

Co więcej, może to być kolejny moment Julii w świecie programowania ze składnią Pythona. W każdym razie OpenAI ma nieco podobną misję z Tritonem, ich własnym językiem programowania.




Źródło