Как стать автором
Обновить

Комментарии 19

Опять из Остина Пауэрса всё моджо выкачали?

Не пойму как так одни клепают языки за неделю и уверяют что он на равне с rust и ему подобными по производительности, другие типа гугл , свой карбон пилят не допилят никак. Где логика

Я думаю, что логика в том, что Google не обязательно ехать на хайпе, а Mojo надо - особенно если он никому нафиг не упал в настоящий момент и по коммерческой модели, видимо, не продается.

Плюс сама идея сделать более быстрый Python, забив на совместимость с миллионом пакетов, вроде как не сильно сложна. В Python3 "войны" вокруг GIL уже не один год идут, а все потому что дофига всего написали. Да и разработчики 100% знают какие части работают быстро, а какие могут быть оптимизированы. Все движется медленно, чтобы ничего не поломать.

Уже победили же GIL вроде? По крайней мере для желающих, разве нет?

Нет.

В процессе

Я думаю у них у всех бекенд llvm, поэтому производительность одинаковая, если уж совсем не городить в языке чудачества. Так что можно самому любой язык написать сейчас.

Пока выпустили только stdlib. Без компилятора/интерпретатора этого явно недостаточно, чтобы считать язык открытым.

Какие задачи этот язык решает, которые не решают другие языки?

из новинок (последних 25 лет) только разве что Go выдал что-то новое (взял на борт мультитред/EV), а остальные - просто всё то же самое, ничего нового.

В категоричности утверждений не так-то просто достигнуть предела, как я вижу...

Как на счёт erlang, rust, R, Kotlin?

Хотя, тут без описания вашего критерия новизны сложно что-то сказать.

что дает rust чего нет в С++?

на порядок более сложную модель работы с памятью (сложную для использования, а не в работе)

и всё?

зачем программистам С++ потребовалось бы переходить на раст, если б не мода?

erlang сильно отличается от go: в нем отсутствует в традиционном понимании понятие "переменная"

go исправляет как раз этот недостаток, так что с новизной go всё в порядке

На Rust тяжело переходить. Особенно, как ни странно, именно с ЯП с нативным управлением памятью.

Но Rust даёт высокую надёжность при практической такой же производительности!

Я не говорю - что Rust - идеальный ЯП - он просто первый в своём роде - со статическим управлением памятью! Он просто брутальный революционер, обративший на себя взгляды большой части IT-аудитории!

А вот C++ просто ужасный ЯП - учить его для повседневного применения врагу не пожелаешь! Да - у него есть своя и позитивная репутация - и она даёт хлеб тем, кто на нём программирует, и для ряда задач у него, по сути, нет альтернатив (связываться с Rust пока боятся чуть ли не так же как с С++, да и с компиляторами там всё не густо для различных платформ).
И альтернатив тут почти нет

На Rust тяжело переходить. Особенно, как ни странно, именно с ЯП с нативным управлением памятью.

На Rust управлять памятью гораздо тяжелее (нагрузка на программиста куда выше), чем на С++, впрочем сперва эти паттерны Rust появились на С++, а потом были вынесены в один язык.

Это очень спорно. Скорее всего вся сложность - именно в ломке сознания и уже освоенных паттернов!

В ANSI С++ 98 работать с памятью очень просто - там основныхоператоров раз два и обчёлся! А вот эффективно и надёжно работать с памятью даже в ANSI С++ 98 очень непросто! И если бред на Rust либо не скомпилируется либо просто сразу не заработает как надо. То бред на C++ может проявить себя спустя годы успешной работы! Не говоря уже о мелки недочётах. И выливающихся в гигантские отложенные затраты!
Впрочем, и без бреда, чтобы код на С++ скомпилировался - это тоже надо будет очень постараться, даже после незначительных изменений!

А уж последние стандарты C++ столько в него внесли - что чтобы это всё эффективно и надёжно применяться нужно очень сильно мозг напрягать!

И в C++ очень много пережитков прошлого и очень много разных библиотек и паттернов - всё это тоже не добавляет простоты кодирования и отладки!

А уж какую головную боль там обеспечивают шаблоны - что применяются налево и направо!

Но итог тут такой:

Профессионал C++ не будет иметь больших сложностей в кодировании - он 1001 собаку уже съел и знает большую часть тонкостей и нюансов!

Аналогично про Rust профессионала - только тонкостей и тут на порядок меньше, если не на два порядка!

А вот переходить между этими ЯП будет очень больно - это так же больно как переходить, скажем между чисто функциональным и чисто императивным ЯП, и даже убери тут слово "чисто" - по сути ничего не изменится!

Пишите на ассемблере, он решает все те же проблемы что и другие языки

Тут скорее другие задачи. Вот есть ЯП Python - он сейчас очень популярен и имеет кучу библиотек, вот только местами тормознут... и тормознут там - где как раз очень максимальная производительность - не критично, но "время-деньги". Да - безусловно - кто-то сразу решает такие задачи на других ЯП, но есть уже не мало тех, кто терпит и остаётся верен Python - с его плюшками! Вот ради них и затеяли сугубо локальную Mojo-революцию! Просто она пока не увенчалась даже призрачной победой, пока только планы строят по захвату мостов и телеграфов! Ну а как удастся - вот тогда и с других ЯП начнут переманивать...

А глобальные революции - оставьте другим, экспериментальным ЯП, как Rust

из новинок (последних 25 лет)

F#, например, даёт возможность использовать алгебраические типы данных и классы в одной программе. Также, появились языки с более продвинутой системой типов (например, agda).

Mojo — сокращение от Mojolicious и Mojolicious::Lite — перловых веб-фреймворков, появившихся лет 15 назад. На CPAN есть модули с этими словами в своих названиях. Плюс есть какой-то яваскриптовый вариант одного из этих фреймворков под названием mojo.js
Зачем так надо было называть ещё и отдельный язык — непонятно. Видимо, авторы поленились загуглить желаемое название.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории