Вот всем мозилла хороша, но их политические подвыверты прямо раздражают. Последний раз так злился, когда они казахстанский сертификат забанили. Сидит какой-то прыщавый недоросль и решает, что он лучше знает, что нужно казахам. Небось и не слышал до того про них и потом забыл через неделю. То же небось и с неграми. Пройдёт вся эта шумиха и ничего не изменится.
Да ладно, расслабься, это я так спросил. Просто под async можно многое понимать, а поддержка многопоточности, многопроцессности и/или асинхронности сейчас почти везде есть
В тексте анонса нового выпуска разработчики Rust ввязались в политику и демонстративно отказались публиковать полноценный обзор изменений в Rust 1.44 в знак солидарности с протестующими против полицейского насилия, указав, что этот вопрос важнее обмена техническими знаниями.
ппц. Сразу нах идет такой язык с такими дЭбилами в «консерватории». Завтра они будут жалеть очередных «угнетаемых» и выпилят половину фич «в знак солидарности». А учитывая, что в наличии только 1 компилятор и, фактически, нет стандарта, то только конченый идиот будет его использовать дальше локалхоста или очередного опенсорс калькулятора.
А ну он просто поехавший, если после предыдущих факапав продолжил. Либо решил угодить хомячью. В любом из вариантов ожидать какой-то адекватной реакции не стоит. И смотреть там нечего.
У каждого своё представление как его готовить. Поэтому разобравшись как с его помощюь собрать X, далеко не обязательно гарантирует тебе возможность разобраться как собрать Y. Сравни как к проекту добавляются nlohmann-json, glm, hdf5, catch2 и tbb. А если вдруг захотел boost добавить к сборке - будешь страдать, потому что туда CMake пока не завезли. В то время как Cargo требует по несколько строчек на зависимость, сам их резолвит и собирает. И его безальтернативность - это плюс, избавляет от фрагментации и пердолинга. Нам же задачу решать надо, а не со сборкой сношаться, верно?
Ну потоков многое не требует(были б доступны соответствующие интерфейсы планировщика ОС или ВМ), а без кучи кажется не получится. Где оно контекст операции будет хранить? Поток управления сразу после запуска убегает и данные на стэке вместе с ним
Универсальный аргумент, на самом деле. К расту, кстати, тоже применим
Не является декларативным
Ояебу. Приведи определение декларативности, которое ты используешь
У каждого своё представление как его готовить
Принято, есть такое
Сравни как к проекту добавляются … tbb
Сравнил. Там голый make без, блджад, install-а. Очень просто добавляется
А если вдруг захотел boost добавить к сборке - будешь страдать, потому что туда CMake пока не завезли
Тоже общая проблема. Если разные СС надо в одном build tree - то боль с трансляцией параметров начинается вне зависимости от наличия cmake. Cargo здесь спасает только
его безальтернативность
которая действительно плюс. Причём единственный, как видишь
и во всяком интерпрайзе, где сидят юристы и проверяют лицензии всех входящих в проекты библиотек, бесполезная чуть более, чем совсем.
Да ладно? Немалая (хотел сказать большая, но лень проверять) часть библиотек публикуется под мит/апач лицензиями, против которых энтерпрайз ничего не имеет.
И что? Как правило нормальные проекты на cmake, если написаны хорошо, добавляются к своему проекту через find…/target_link и все. Кстати catch2 вообще хедеронли, его нефиг делать добавлять. Про boost херню несешь. Неважно, что он собирается не через cmake, главное, что cmake умеет его подключать к свом проектам.
Зато в cmake практически свой скриптовый язык, на нем можно делать всякие сложные вещи.
Проблема. Вместо того что бы сказать системе что мне нужно, приходится каждый раз объяснять ей как этого добиться.
Через find добавляется только то, что установлено. Локальные зависимости в сабмодулях гита так не добавляются. Это делается через add_subdirectory или externalproject_add. Т.е. через жопу. Кстати, там целых 3 header-only библиотеки, делу это особо не помогает. Вообще-то, важно. Когда пишешь хеллоуворлды на локалхосте, то действительно пофиг чем там буст собирается - у тебя рут права и ты можешь просто установить бинарный пакет. Но когда собирать и запускать нужно на кластере, то такой роскоши тебе уже никто не даст.
Не почти. Там и есть скриптовый язык. Вот только мне нужно решать конкретную задачу, а не пердолиться с поехавшей системой сборки.
Кстати, запихнуть крэйты в сабмодули - задача тривиальная.
The Rust Core Library is the dependency-free foundation of The Rust Standard Library. It is the portable glue between the language and its libraries, defining the intrinsic and primitive building blocks of all Rust code. It links to no upstream libraries, no system libraries, and no libc.
The core library is minimal: it isn’t even aware of heap allocation, nor does it provide concurrency or I/O. These things require platform integration, and this library is platform-agnostic.
Меня мало волнуют сектантские завывания. Никакие говнолиб там быть не должно, никакие либ быть не должно, ничего из этого мусора ненужно.
Меня не перестаёт удивлять бездарность этого недоязычка. Это же бездарное говно ничего не умеет, оно никак не типизировано, оно нихрена не безопасно - это дырявый мусор. Как можно ничего не имея - рождать столько бездарного мусора, в котором ни один адепт этой скриптухи разобраться не может. И которая в принципе нормально работать не может, никакого даже близко зерокоста в ней нет.
Коротины в крестах - это 10 строчек обёрток, это полноценные корутины реализованные специально на уровне llvm для крестов. Всё это прозрачно, всё это идеально.
Всё это умеет в типизацию, всё это досконально конфигурируется. Без всякого ансейф-дерьма.
Я понятия не имею, че там в rust-е. Но очевидно, что тот пример без рантайма, по крайней мере в понимании крестов. Аргументы уровня ТАМ ЕСТЬ ЮЗЕ ЧТО-ТО ТАМ очень интересны.