Компания Google предоставила организации Rust Foundation целевой грант, размером 1 млн долларов, который позволит профинансировать работу по улучшению взаимодействия кода на языке Rust с кодовыми базами, написанными на языке C++. Грант рассматривается как инвестиция, которая в будущем позволит расширить применение Rust в различных компонентах платформы Android...Подробнее: https://www.opennet.me/opennews/art.shtml?num=60556
Ставки сделаны. И растофобы ничего с этим не поделают. Мани токс булшит вокс.
Ну удачи им. Особенно с переносимостью STL v2 на контрактах и ренджах
> Ну удачи им. Особенно с переносимостью STL v2 на контрактах и ренджахНу да, в Гугде же одни дурачки сидят, не о чем не догадываются.
Вас послушать, так везде сидят не дурачки.
дурачки не дурачки, а миллион запилили
Это для тебя мильен это много. На самом деле это копейки и это очень смешно.
> Это для тебя мильен это много. На самом деле это копейки и
> это очень смешно.для кого-то просто летная погода, а кому-то - сыру пол-кило! (а кому-то дали миллион)
Ну как-то за bindings из плюсовых либ в хрустоконтейнеры и обидно больше-то плотить?
Миллион долларов это пиар. Миллиард долларов - реальные инвестиции.
> Миллион долларов это пиар. Миллиард долларов - реальные инвестиции.За миллиард - спасибо, но можно сделать свой ЯП с шахматами и поэтессами. И майнтайнить его потом своей тимой до погасания солнца почти. Нафиг желающих с такими аппетитами.
> Ну удачи им. Особенно с переносимостью STL v2 на контрактах и ренджахВообще в Rust как раз первоначально все сделано на аналогах "контрактах и ренджах".
"trait" позволяет как раз проверить, что "generic" правильно написан,
без единового инстанцирования, что в C++ первоначально было проблемой и из-за чего появились контракты. А итераторы позволяют творить кучу разного в том числе и с "std::ops::Range".
Контракты и концепты появились не поэтому, а потому что это математические конструкты для манипуляциями с последовательностями, и вообще не завият от языка программирования.
Но контракты мы увидим не скоро.
https://github.com/cplusplus/papers/issues/1648
Корпорация зла которая известна тем что закрывает все что не приносит денег (или даже приносит их слишком мало). Так что вариантов два: либо хруст загнется, либо превратится в такое нечто что мы сто раз пожалеем что он не загнулся.
https://opennet.ru/55901-google
https://opennet.ru/55815-ostif
Угадайте, в какую сторону будет эта переносимость :)
Так и видно. Никак не "между", а всё только с C++ на rust (
Мб они затеяли Раст++
Когда-то ведь и сишка была просто сишкой и лишь потом из неё слепили жирнющие плюсЫ
А в другую сторону она и не нужна. Фарш как говорится, не провернуть назад, прихода Раст не остановишь.
Подскажите пожалуйста, а чем плох Rust? Я часто вижу на этом сайте в комментариях негатив по отношению к этому языку программирования. Если можно, то опишите простыми словами минусы языка.
А кто говорит, что раст плох? Это не раст плох, это растофанатики достали всех бегать по темам и везде размахивать своим энтузиазмом.
А кто такие растофантики?
Ты хотел сказать
"каждый раз когда в дыряшке или плюсах находится очередная глупейшая дырка типа 'запутался в двух строках', 'написал свой костылный split', 'вышел за пределы буфера', то набегают нехорошие люди и глумятся! а нам обидно!" ?Я уже молчу про аргументы от малохольных вида "UB это хорошо", "уязвимости это хорошо - так можно телефоны рутовать", "руст продвигает НСА/АНБ/ЦРУ щвободька в опасьности!!11" и прочие бредовые идеи
Ты опять всё неправильно понял.
Я хотел сказать, что кучка никчемных индивидов, которые сами ничего путного не написали, и толком не знают ни си, ни раста, находят утешение в публикации шаблонных комментариев к новостям об ошибках в чужих программах, при том, что сами неспособны не то что найти ошибку в чужом коде, но даже эксплуатировать найденную и задокументированную ошибку - для них непосильная задача, услышав же правдивую оценку в свой адрес, они прибегают с пылающей гузкой в очередной раз покричать про ошибки при работе с памятью в си.
Вполне возможно, что я как раз тот самый "никчёмный индивид", который платит тебе зарплату. И меня, если честно, откровенно бесят твои попытки оправдать брак в твоём коде, который существует только потому, что ты или ленив, или глуп, и не хочешь (не можешь) выбрать более качественный и более современный инструмент для своей работы. Почему бесят? Потому что, опять таки, за этот брак приходится платить мне из моего кармана.Разумеется текст выше не стоит трактовать так, как будто я и есть твой работодатель. Просто по-другому до некоторых не доходит.
Нет. Ты - точно не тот, кто платит мне зарплату.
Инопланетный синтаксис.Своя экосистема (библиотеки, коих мало).
Плохо совместим с библиотеками на других языках (сабж)
> Инопланетный синтаксис.А у C++ он с этой планеты?
Ну если у его папаши C с этой, то, значит, и у сынку C++ с этой.
> Плохо совместим с библиотеками на других языках (сабж)\Совместимость ненужна, цель мировой революции переписать всё на раст и выкинуть си-сипп на свалку истории. Надеюсь через пару-тройку лет разработку на си признают экстремизмом.
Вот. Если воспринимать такие слова, то за такое видимо и не любят.
А слово сарказм хетерам раста знакомо? Иначе я вообще не понимаю как они ходят в рунет, тут каждый первый комментарий или является сарказмом или содержит его.
Сарказм, это форма издевки. Людям не нравится когда над ними издеваются. Но это по секрету, никому не рассказывай.
> Сарказм, это форма издевки. Людям не нравится когда над ними издеваются. Но
> это по секрету, никому не рассказывай.А ты не оскорбляйся по пустякам.
И не думал, но те кого ты оскорбляешь таким образом не обязаны терпеть
> И не думал, но те кого ты оскорбляешь таким образом не обязаны
> терпетьА кого я тут оскорбил? И самое главное чем? Написал что коммент наверху это сарказм, который не стоит понимать буквально?
А когда это не сарказм, а чистейшая правда?
Ну, вроде "си программисты не умеют управлять памятью без ошибок" или "70% уязвимостей из-за ошибок управления памятью"?
Почему они начинают агриться на это тоже?
Не знаю, те кто на факты агрятся, наверное не полноценные личности. Ну а кому-то это не нравится эта шумиха в виде замены c++. Ведь почему это должен сделать раст? D тоже замена по моему мнению куда более лучшее, но он не имел никогда такого финансирования, потому как нет и небыло пиара, и когда появился небыло потребности в крупных компаниях замены плюсов. Мозила задала ее, и планировала на этом заработать, но не смогла. Другие компании позже это подхватили, ведь для них это инвестирование в будущую прибыль и она далеко не со стороны более безопасного софта.
> Совместимость ненужна, цель мировой революции переписать всё на раст и выкинуть си-сиппВсе писать с нуля - пупок развяжется. Если бы была совместимость, то можно было бы уже все использовать, а переписывать по мере необходимости и наличия ресурсов.
В первую очередь для практически любого средней сложности кода сразу все гарантии куда-то улетучиваются и нужно ОЧЕНЬ ВНИМАТЕЛЬНО вчитываться в каждую строчку документации каждого метода, где написано как делать можно, как нельзя, сделаешь так - гарантии пропадут, эдак - undefined behaviour.И чем это лучше гарантий С++, в целом, где также нужно вчитываться на cppreference?
Для "всё в памяти в heap" и "в основном в одном потоке" вполне неплохой язык. Именно поэтому его так полюбили JavaScript-ры, которые начали свои тулы на него переписывать ("недостаточно быстро").
Ну и я думаю в Rust разбирается буквально две калеки (по-настоящему).
Его ещё хаскелисты массово полюбили, поскольку он «лечит родовую травму» — позволяет в теории писать код без выделений памяти на каждый чих. Кмк, это несколько странно, но ладно.Меня раздражает у наших rustовцев вызов unwrap на каждый чих. Это не UB, но просто падение в случайном месте программы. Ну и бесконечные clone.
Витюшку не слушай, он у нас Zig-фанатик.
(Хотя в последнее время начал поглядывать в сторону Раста, как в том меме с пацаном и двумя девушками)
Он тебе расскажет и что безопасности нет, и про "классы" в раст... а потом выяснится что доку он нифига не читал.> Для "всё в памяти в heap" и "в основном в одном потоке" вполне неплохой язык.
И опять наш кексперт садится в лужу.
> Подскажите пожалуйста, а чем плох Rust? Я часто вижу на этом сайте в комментариях негатив по отношению к этому языку программирования. Если можно, то опишите простыми словами минусы языка.a) Он не плох, просто уже достаточно сложен. Ну и область, где он блещет по сравнению с с языками с сборкой мусора очень ограничена. И что характерно, в неё он влезает с танцами с бубнами.
б) Достали фанатики Rust, находящие фатальный недостаток буквально во всём. С другой стороны, нельзя не отметить, что есть множество консольных утилит, написанных на Rust, обладающих превосходнейшим интерфейсом.
С другой стороны, нельзя не отметить, что есть множество консольных утилит, написанных на Rust, обладающих превосходнейшим интерфейсом.А можно список тех которы прям с превосходнейшим?
Это совершенно непересекающиеся вещи: минусы и почему его ругают.Реальные минусы такие:
- во-первых его на самом деле нет — язык всё ещё глубоко в процессе разработки, реально жить (программировать) только с unstable веткой и многие вещи вроде placement new даже не придуманы как делать,
- во-вторых нет стабильного ABI, кроме сишного, а оборачивать всё в Си-совместимый интерфейс… я попробовал было и бросил, это нереально,
- в-третьих довольно крутая кривая изучения,
- в-четвёртых интероперабилити с другими языками могла бы быть и лучше,
- невменяемое количество отъедаемого места на диске при компиляции.
А ругают за:
- нечитаемый синтаксис (на самом деле это когнитивное искажение когда новое кажется плохим),
- unsafe (просто не понимают его роли и функций, додумывая отсебятину),
- большие экзешники (миф, надо просто уметь готовить),
- долгую компиляцию самого Rust (это по большей части из-за LLVM, да ещё и с чем сравнивать).
>нечитаемый синтаксис (на самом деле это когнитивное искажение когда новое кажется плохим)Синтаксис Rust, да и C++ придумали люди с "особенным складом ума". На протяжении хрен знает скольки лет мне приходится использовать эти языки и ежедневно проклинать авторов этого вырвиглазного синтаксиса.
Насчёт первого минуса - не согласен. Уже много лет пишу на Rust в прод, это и веб-сервисы, и консольные утилиты, и библиотеки, и wasm. Полёт нормальный, использую именно стабильный Rust. Да, есть много хотелок, которые пока не стабилизированы. Но и без них хорошо.
Не всё, что вылезает из дырки - фарш.
Отставить, рядовой Шутник. Это тоже назад не провернуть.
Многое что вылазит из дырок можно провернуть в фарш.
>прихода Раст не остановишь.Не думал, что всё настолько серьёзно, что уже приходы. Прекращайте его употреблять.
лучше уже Rust, чем Kotlin. Kotlin давай досвидос!
Чем лучше?
я конечно не эксперт, но раз Microsoft и Google переходят на Rust - значит лучше!
Производительностью, например.
Миллион долларов как-то мало для такой грандиозной задачи. Тут речь должна идти о том, чтобы написать нормальный Rust v2, а не вот это вот нагромождение, которое и с самим собой то местами не очень дружит.
Пять разработчиков и тимлид на 1 год. Этого достаточно, чтобы немало пользы нанести в такой узкой нише.
> Пять разработчиков и тимлид на 1 год. Этого достаточно, чтобы немало пользы нанести в такой узкой нише.Ставлю на одного тимлида на пять лет и бесплатный Open Source.
> На полученные средства организация Rust Foundation
> намерена нанять одного или
> нескольких разработчиковОга, разбежался. Пять разрабов и тимлида. Мб им ещё и компы нормальные, место в офисе и проживание за счёт конторы
Посадят прогать хомяка Ваську за доброе слово, «за помощь всему свободному мировому сообществу» ( и без прав на код )
Ну а деньги… что сэкономлено - то заработано
Да и гугол не парится - судя по сумме, просто пустили пустую шляпу по офису хохмы ради чтобы за них сделали то за что им ещё много лет будут платить
А вот если бы гугол миллиард выделил - тогда бы 8 разрабов наняли… или 6… ну 2 то уж точно, в итоге, а если ещё и ужаться - то и на тимлида хватит
Вы всегда можете проспонсировать те инициативы, которые считаете важными. Не обязательно деньгами, можно спонсировать идеями, документами, статьями, открытыми тикетами и комментариями в обсуждениях.Хотя бы и на опеннете, но не забывайте измерять "полезнный выхлоп" от затраченной энергии.
не мешай алфавиту отмывать бабло через гугл :)
Чего уже можно будет писать в плюсовом стиле на ржавом?
Очкопрограммеры не осилили как чего куда соотнести?
Ну у плюсов эээ проблемы с аби, у раста нет аби. Определённо, языки одного уровня ненужности, удачи им уничтожить и то и другое.
Не забывайте посещать кладбище и возлагать венки: https://killedbygoogle.com/
Зачем публика носится с Rust? Что в нём такого особенного, кроме синтаксиса, приносящего почти физическую боль?Просто спрашиваю – а то щас начнётся.
Нормальный у него синтаксис.
Раст запрещает программистам стрелять себе в ноги и головы, многим эти ограничение не нравятся.
> Раст запрещает программистам стрелять себе в ноги и головы, многим эти ограничение не нравятся.Как может НОРМАЛЬНОМУ ЧЕЛОВЕКУ вообще нравиться любые ограничения?! Наверное, поэтому в своё время многие не любили PHP, потому что он позволял кодить так, как тебе хочется, не используя фреймворки. Как по мне, чем больше гибкости и свободы, тем лучше. А потакание ограничениям, это уже какая-то психическая патология.
> Как по мне, чем больше гибкости и свободы, тем лучше. А потакание ограничениям, это уже какая-то психическая патология.Часто нужна свобода несинхронизированной/неатомарной записи в одну структуру из разных потоков, свобода использования аллокации после освобождения, или свобода разыменования нулевого указателя?
Если нет - то добро пожаловать в Rust, ограничения тут связаны в первую очередь с этим, от человека просто требуется писать код так, чтобы компилятор мог понять что подобные вещи не происходят.
А по выразительности и гибкости в Rust всё хорошо.
>чтобы компилятор мог понятьзачем? он же "умный", и лучше вас сгенерирует код.
>лучше вас сгенерирует кодМашинный – сгенерирует.
ну да, зачем ему еще подсказки как его генерировать?
> зачем? он же "умный", и лучше вас сгенерирует код.Код он генерирует быстрый, даже потенциально быстрее чем C/C++, потому что ожидает от него намного более строгих гарантий (Каждый указатель например по умолчанию работает как C restrict, и даже строже), однако чтобы ожидать от кода гарантий, он также на него накладывает ограничения (Например, опять же, несинхронизированное/неатомарное чтение и запись одновременно в одну структуру из разных погтоков)
Задача программиста писать программу так, чтобы за эти ограничения не выходить, в примере со структурой например использовать только атомарные чтения/записи, как-то синхронизировать доступ к структуре, чтобы компилятор понимал что тут нет несинхронизированного доступа (Иначе он откажется такой код компилировать), либо ещё что-то
нужна свобода постоянной утечки памяти, раст это позволяет и даже приветствует.
> нужна свобода постоянной утечки памяти, раст это позволяет и даже приветствует.Утечки памяти угрозы не представляют, и от них не защититься никак
Чем отличается утекшая аллокация от просто неиспользуемой, но не очищаемой?
Ремень безопасности как пример. Ну или хотя бы 105ст.УКРФ
>А потакание ограничениям, это уже какая-то психическая патология.банальная потребительская психология, на все готовое.
> А потакание ограничениямНет, это попытка взять кодеров "числом поболее, ценою подешевле".
Мне нравятся ограничения!
Ограничение скорости на дороге не дает какому-то м###ле размотаться от мою тачку на скорости 150км/ч, а на 50-60 в городе меня защитят подушки и ремень.
Кожух на болгарке не даст при прилететь диску мне в лицо (но очки все равно надену)
Шиток закрывающий патрон и ремни токарного помешают Вася намотаться на вал или откочерыщить пальцы шкивом и ремнем.
Ограничение на шум после 11 дает мне возможность спокойно выспаться.> Как по мне, чем больше гибкости и свободы, тем лучше.
именно и есть психическая патология
Плюс раст не ограничивает гибкость - пишешь unsafe и вперед.
Правда там каждый кусок объяснить придется, ну по крайней мере в нормальной команде с нормальным ревью.
одна лошадь в другую лошадь на какой бы она скорости не летела бы - не влетела бы :) да и не с застегнутым ремнем седла вы долго не проехались бы. Все это - природные естественные ограничения. Ваш двигатель внутреннго сгорания от природы придуман работать на полную мощь, а вы еще пытаетесь им управлять.пс: ну и придумают люди "вечный движитель", а как его остановить?
- задача куда посерьезней, чем его создать.
> потакание ограничениям, это уже какая-то психическая патология.Это исторические тенденции программирования.
Языки высокого уровня ограничили доступ к стеку. Стало нельзя, например, собирать строки неизвестного наперёд размера на стеке, складывая чары один за другим на стек.
Потом пришёл Дейкстра и запретил goto. Теперь ты можешь программу собирать только из структурных блоков, и так чтобы сделать jmp в середину цикла соседней функции -- это уже нельзя.
Потом началась эта фишка, что недокументированными фичами пользоваться нельзя. Типа ты знаешь, что функция возвращает -1 в случае неуспеха, но если в документации написано "значение меньше нуля", то ты должен игнорировать своё знание о -1, и исходить из того, что это будет любое значение меньше нуля.
...
> Как может НОРМАЛЬНОМУ ЧЕЛОВЕКУ вообще нравиться любые ограничения?!
Я не знаю, как там с "НОРМАЛЬНЫМ ЧЕЛОВЕКОМ" дела обстоят, но языки программирования создаются для _программистов_, а не для "НОРМАЛЬНЫХ ЧЕЛОВЕКОВ".
> Раст запрещает программистам стрелять себе в ноги и головы, многим эти ограничение не нравятсяNim тоже не позволяет. Но синтаксис у него – по Дарвину, интуитивно понятный и аккуратный.
Во-первых, и это самое главное: неадекватно агрессивное его продвижение из каждой дырки, навязчивая реклама везде. Обязательно и всегда там будет следующий маркетинговый булшит: безопасная работа с памятью, позволяет избежать ошибок.Во-вторых, полная неадекватность фанатиков раста. Вы не увидите обычного программиста, который просто пишет код на расте (возможно, потому, что они не спамят в интернете), пользователю раста обязательно нужно:
- что-нибудь переписать на раст
- везде-везде написать большими красными буквами, что это написано на раст: в README.md в гите, в интерфейсе, в мане, в рекламных проплаченных новостях
- доказывать всем, что раст - лучший язык, а плюсы скоро помрут
- в любой непонятной ситуации вспоминать об undefined behaviour в С/C++ так сильно, будто от этого зависит его жизнь, вне зависимости от того, видел ли он хоть раз в жизни проблемы из-за UB вне рекламных статейВ-третьих, отвратительный, вырвиглазный, негуманно жестокий синтаксис.
В-четвёртых, и это не совсем связано с программированием: это крайне редко используемый язык, на нём очень сложно найти работу несмотря на то, что он вот-вот уже завтра убьёт C++.
В-пятых, из-за статической линковки и архитектурной кривизны бинарники получаются неадекватных размеров (можно сравнить с тем же статически линкуемым nim или чем угодно другим).
В-шестых, отсутствие качественной поддержки в быстрых foss IDE: все IDE с поддержкой раста написаны на джаве или electron, половина из них - платная. Я говорю о нормальной эффективной работе в IDE, а не использовании её в качестве текстового редактора, запускалки сборки и отладчика
В-седьмых, концепция владения заставляет бороться с компилятором вместо того, чтобы решать задачи и, собственно, программировать
> Во-первыхЭто реклама его реальных свойств. Раст не позволяет так портить память как дыряшка
> Во-вторых
> undefined behaviour в С/C++А потом читаем новость про очередную си дыру, потому что не разобрались как без UB два числа вычесть
> вырвиглазный, негуманно жестокий синтаксис.
Бедные неосиляторы с закостеневшими мозгами, которые кроме дыряшки и перловки в жизни ничего не видели... и вряд ли уже что-то смогу выучить... Как же их жаль!
> это крайне редко используемый язык, на нём очень сложно найти работу
... в РФии. Но всем какбэ пофиг.
> архитектурной кривизны бинарники получаются неадекватных размеров
Опять неосиляторы не смогли в настройки компилятора. Даже на опеньке уже показывали насколько можно сделать маленьким хелловолд. А для больших программ разница вообще минимальна.
> отсутствие качественной поддержки в быстрых foss IDE
Это в каких интересно? Вимов-емаксов?)) Ну так это проблема foss IDE.
В очередной раз показывает какое они днище.> концепция владения заставляет бороться с компилятором вместо того, чтобы решать задачи и, собственно, программировать
Самое отбитое утверждение. Если тебе приходится бороться с компилятором - то ты написал овнокод в 99% случаев.
Понимаю, что дыряшечники привыкли, что вся безопасность кода держится на "мамой клянусь, там не будет null" погромиста, но вот всем остальным надоело разгребать тупые CVE в их вопрограммишах.
> ... в РФии. Но всем какбэ пофиг.Везде в мире, я в ЕС живу. Гугли репорты популярности языков и количество вакансий
Остальное комментировать не буду, ибо вбросы
> Остальное комментировать не буду, ибо вбросыКонечно не будешь, сказать-то нечего...
Хотя по хорошему вбросил именно ты, написав хейтерные пункты, которые тиражируются в каждой новости про раст.> Гугли репорты популярности языков и количество вакансий
Самый популярный JS. Так что давайте все переходить на него))
>С/C++Никогда так не пиши. Это разные языки.
Может, мне ещё джаву с джаваскриптом перестать путать?
Языки разные, да.
Плюсы конечно поцивилизованее, там есть и итераторы, и умные указатели...
А вот ошибки - практически одинаковые. Наверное указатели оказались умнее кодописателей)
> Зачем публика носится с Rust?Потому что ажиотаж (ныне модное слово - "хайп"). В наше время, в конце 80х, носились с Ada, и у меня до сих пор две толстенных книги (синяя и коричневая) в виде подставки под монитор используются. С Rust будет то же самое.
Читаю исследование Стоунбрейкера (автора Postgresql) про разные модели данных.Там всё тоже самое. Был хайп XML, потом был хайп JSON - иерархические древовидные модели данных, был Map-Reduce, был NoSQL..
В итоге всё сдохло и выродилось в SQL над реляционными базами данных.
Сейчас исследователи займутся безопасностью Раст серьезно, полетят CVE-шки как из рога изобилия. На этом хайп закончится. Такое недавно было с процессорами. Взялись за них и оказалось сплошное..., да такое что мама не горюй. Включая обходы всех аппаратных анклавов.
> полетят CVE-шки как из рога изобилияТак их с каждой неделей-месяцем в геометрической прогрессии больше и больше.
>В итоге всё сдохло и выродилось в SQL над реляционными базами данных.ты главное чувакам из редиса это расскажи, а то они досихпор не в курсе.
даже какимито подписками торгуют.
> СтоунбрейкераЭто тот самый, который решил "позаимствовать" идеи оракла?
И у него даже неплохо получилось, не без этого.
Но до популярности и надежности оригинала все рано дотянуть не смог.
>В итоге всё сдохло и выродилось в SQL над реляционными базами данных.у нас лет 10 не используют sql, даже если база реляционная ) а когда нереляционная - тем более.
а ты с какой планеты?
> Потому что ажиотаж
> С Rust будет то же самоеЛюбой искусственно подогреваемый ажиотаж рано или поздно лопается подобно мыльному пузырю - как только заканчиваются потоки бабла в раскрутку. Действительно хорошие вещи проходят проверку временем, эволюцией, этапами естественного отбора миллионами людей и миллиардами человеко-часов.
Ты забыл слово чистый Си.
А где ты видел чистый?
Даже ядро не может быть собрано с чистой стд, причлось лепить расширения ГНУ-СИ.
Более того, оно на древнем С11, а с копролитной версии переехали всего пару лет назад.
Не занимайся софистикой. Ты прекрасно понял о чём речь идёт. И не смей серить в адрес ГНУ, копилефта и Столлмана. Чистый Си - это прежде всего GCC со всеми ГНУ-тыми расширениями.
> Не занимайся софистикой. Ты прекрасно понял о чём речь идёт. И не смей серить в адрес ГНУ, копилефта и Столлмана. Чистый Си - это прежде всего GCC со всеми ГНУ-тыми расширениями.Хаха, чтобы мне какой-то дундук из инета мне рот закрывал))
Чиcтый си был задолго до гну-рака. Керниган и Ритчи из корпорации Bell Labs передают привет неучам, не знающим историю. Ядро UNIX'ов и BSD были написаны за десятки лет до линукса.
А гнутые расширения - просто уродливый костыль из-за недостатка выразительности.
Ну и огораживание ядра гнутыми, чтобы их ядро можно было компилить только гнутым компилятором.
Типичное EEE, кстати. Мелкомягкие для этого сделали аналогичные расширения для студии.А про Столмана даже говорить нет смысла... Что вообще можно сказать про краснопузого воришку емаксов?
Что он плохо пахнет? Так это уже давно не секрет!
Когда появился ДВС тоже был "хайп". Некоторые, наверное, и до сих пор в телегу лошадь запрягают, когда все остальные давно на автомобилях ездят.
> Что в нём такого особенного, кроме синтаксиса, приносящего почти физическую боль?Батянь, угомонись со своим повербейсиком уже.
Один язык с нестабильным ABI пытаются подружить с языком с другим нестабильным ABI. Ну удачи им. Проще в C++ завезти фишки Раста.
Кстати, это можно сделать с помощью магии макросов и систем сборки.
С++ просит много каких нововведений.
Но с другой стороны, стандарт языка не меняется до несовместимости с самим собой.
Скорее добавят фичи из Руст, когда нибудь, но точно не первыми.
Если это уже можно сделать, то почему это ещё не сделали?
Это уже давно сделан, просто не очень сильно разрекламировали и не делают это в обязаловку.
Недавно же было( в хроме запилили )
> Компания Google проанализировала эффективность использования
> в коде на языке С++ типа MiraclePtr (raw_ptr<T>)
> вместо обычных указателей для защиты от уязвимостей,
> вызванных обращением к уже освобождённым областям памяти
> внедрение MiraclePtr предоставило защиту от 57% уязвимостей
> класса use-after-free, благодаря переводу на
> использование MiraclePtr полей классов и параметров callback-вызовов
> Ценой применения MiraclePtr является повышение потребления памяти,
> для указателей требуется хранить дополнительные 4 байта со счётчиком ссылокНе совсем раст, но даже подобные незначительные допиливания уже дали +50% к защите )
> Не совсем раст, но даже подобные незначительные допиливания уже дали +50% к защите )Я написал ниже ссылку на отчет по этому улучшению (не ее сьел мат-бот (( )
В общем там не так все хорошо: уменьшили ошибки на 50%, но получили просадки в производительности и повышенное потребление памяти.
Учитывая принцип Парето, то для избавления остальных 50% ошибок, подозреваю придется увеличить потребление памяти не на 5-8% как для первой половины)
> в C++ завезти фишки РастаНапоминает завоз терминала Linux в Windows. Не нужно ни тому, ни другому.
Насколько этих денег хватит?
На два слёта и три парада.
И ещё 5 конфурренций.
Zig умеет в интероперабельность с С++ через (extern C) и умеет компилировать напрямую С++.Как минимум это классная билд система и пакетный менеджер от Zig.
Лол, через "extern C" у любого языка классная интероперабельность с C++.
И что?
> Как минимум это классная билд системаКак минимум я это делал еще в 1991 году, когда дружил алгоритмы на Фортране с интерфейсом на C.
Что, во прям любой код на C++ возьмёт и скомпилирует?
Ну, по идее, да. Конечно с учётом версии 0.11 языка.У них тупо встроенный компилятор llvm clang скорее всего.
А для чего это нужно? Один репозиторий, одна кодовая база (а не куча инструментов) и кросс-платформенность.
Для этого и делалось. Многие чистые С++ используют Zig как билд систему, которая из коробки скомпилирует под любую архитектуру.
Эдак можно чистый C++ и посредством g++ скомпилировать под кучу архитектур.
Нет. Zig могёт скомпилировать код на си, в редких/частых ситуациях даже лучше gcc или llvm. Поддержка с++ никого не интересует, ибо не зачем.
В zig ты делаешь use after free, так же легко, как в дыряшке
var helloZig = try allocator.dupe(u8, "zig is piece of crap");
allocator.free(helloZig);
std.debug.print("{s}\n", .{helloZig});
так что он вообще не нужен
В Си ты хотя бы знаешь что так делать плохо и чем грозит нарушение. В Zig это до сих пор не описано и непонятно будет ли описано когда-нибудь.
> В Си ты хотя бы знаешь что так делать плохо и чем
> грозит нарушение. В Zig это до сих пор не описано и
> непонятно будет ли описано когда-нибудь.в смысле? А где это определено, что должно быть конкретно во всяких "не определенных" ситуациях?
Не язык определяет, что будет если "взял и не вернул", или "дважды вернул", "использовал то, что вернул" и т.д. "не определенные ситуации" - их определяет система.
Лучше бы на поддержку Rust в CMake без использования cargo и его пакетов и с формированием .so/.o и хедеров денег дали.
А что вам мешает не использовать cargo, а использовать только rustc и все зависимости качать вручную?
Отсутствие его поддержки в CMake. Пакеты из crates - ффтопку, мне нужна своя экосистема пакетов на основе пакетных менеджеров, чья поддержка есть в CPack.
Лучше бы они на свой Carbon выделили. Там ожидается хорошая обратная совместимость с кодом на C++.
А Carbon Гуглу уже не нужен.
Можно закапывать.
> А Carbon Гуглу уже не нужен.
> Можно закапывать.А кто говорил, что он гугла? Там просто работяга из гугла его пилит.
А кто позволил рабу в рабочее время что-то там налево пилить?!Я позволил! А будет пилить плохо - окончит на кладбище. Вместе с прожектом.
> А кто позволил рабу в рабочее время что-то там налево пилить?!Кто сказал, что в рабочее?
> Я позволил! А будет пилить плохо - окончит на кладбище. Вместе с прожектом.
Может это будущий Сысоев.
плюсовцам от карбона не отвертеться, те кто поумнее везвращаются на си, попутно выдрав пару клоков из соседского зaда
> А кто говорил, что он гугла?Так неважно чей.
Гугл хочет что-то получше крестов, но чтобы с ними было совместимо. Это и есть карбон. Вроде как.
Или зачем вообще карбон нужен?
В двух словах - пиар "даешь внедреж". Мильон долляров для Гугла это примерно как мелочь в кармане на подаянию бомжам.
Не впечатляет.
Лучше бы компилятор нормальный сделали и менеджер пакетов. Нельзя же так зависеть от интернета, особенно при разработке системного софта.
Лучше бы ты был немного поумней и больше читал.
тогда бы ты знал что cargo может собирать без интернета.
Бедные растохейтеры...
Они так заняты собственно хейтом, что даже не могут заглянуть в доку карго и посмотреть как там можно добавлять зависимости...Давай я тебе помогу! У тебя следующие варианты:
- crates.io - требует инет и завязан на чью-то инфру
- развернуть свой registry
- ссылка git - тоже требует инет, но репа может быть своя
- указать путь к исходникам pathКак видишь, только один из 4х вариантов контролируется не тобой.
И у тебя всегда есть возможность собрать без инета.
doc.rust-lang.org/cargo/reference/specifying-dependencies.html
>[оверквотинг удален]
> Они так заняты собственно хейтом, что даже не могут заглянуть в доку
> карго и посмотреть как там можно добавлять зависимости...
> Давай я тебе помогу! У тебя следующие варианты:
> - crates.io - требует инет и завязан на чью-то инфру
> - развернуть свой registry
> - ссылка git - тоже требует инет, но репа может быть своя
> - указать путь к исходникам path
> Как видишь, только один из 4х вариантов контролируется не тобой.
> И у тебя всегда есть возможность собрать без инета.
> doc.rust-lang.org/cargo/reference/specifying-dependencies.htmlА теперь проект в студию, который так деалет.
> А теперь проект в студию, который так деалет.Какой проект? Который ссылается на мою приватную репу?))
Или на приватный registry?
Не кажется, что предоставить ссылки на них будет немного сложно и очень даже бесполезно?Возможность есть и кто нужно ею пользуются.
Если те, кто пишут нужный вам софт, возможностью не пользуются, то это или их, или ваши проблемы.
Пишите реквест на "добавление сборки без инета", пусть делают.
Или делайте сами.
читаю коменты и диву даюсь. разрабы раста и их спонсоры явно ж не дураки и все проблемы прекрасно знают. особенно первые. а вторым выгодно чтобы первые эти все проблемы решили. так что вангую за несколько лет язычек наверняка преобразится в лучшую сторону потому что это выгодно всем
Сильно оптимистичное предположение, иначе бы они не запилили такой корявый синтаксис в Rust.
>>основных мэйнтейтнеровкого???
Подскажите, кто разбирается. 1КК $ - это на сколько программистов и на какой срок хватит? :)
Хватит на одного программиста и премию всему руководящему составу
Ответ в самой новости, где они хотят нанять "одного или...".Т.е. на одного им точно хватит, а там как получится. Скорее всего не получится)
Крутые ребята зарабатывают 450 тыщ в год, соответственно два человеко-года.
450 зарабатывают не крутые ребята, а менеджеры, давшие флаг в руки крутым ребятам, а тем ребятам пофиг что нести
Лучше бы занялись улучшением своего браузера для Linux систем
Яндекс.Браузер для Linux не годится? :)
раньше годился, но последние пару месяцев нет. ушел с него на гугл хром. Яб стал совсем тормозной и неповорливый
Яндекс - это тот же хромиум.
согласен, ядро 1, а вот за счет обвесов работают очень даже по разному. я даже специально замерял скорость открытия сайтов и загрузки тяжеловесных видосов. гугл оказался в 1,5-2 раза шустрее.
Обвесы роли не играют в аппаратном ускорении или взаимодействии с Wayland/x11. Разработка Ozone практически стоит на месте.
У меня самым быстрым в тестах browserbench, basemark стал Vivaldi, а самым медленным Firefox.
как vivaldi обвешанный по самое нехочу тормозным Javascript в качестве интерфейса может быть быстрее остальных. если только открыть одну страницу, откроешь с десяток и он плетется в конце вися и падая.
> Яндекс.Браузер для Linux не годится? :)Этот вендорлок ненужен.
> Лучше бы занялись улучшением своего браузера для Linux системКому вообще нужен браузер на серваке?
А полтора васяна на десктопе никого не интересуют. Они еще и адблок включат.
ни 1 серваком единым линукс значится) но в целом вы правы
Учитывая, что Microsoft планирует сделать свою ОС как услугу, а не как продукт, то есть желание перейти на альтернативы.
как услугу это как? можно подробней? перепишут всё на раст, сделают из неё подобие хром ос но полностью за платную подписку? надеюсь до такой дикости не дойдёт)
> как услугу это как? можно подробней? перепишут всё на раст, сделают из
> неё подобие хром ос но полностью за платную подписку? надеюсь до
> такой дикости не дойдёт)Да, именно так. Редактор на веб технологиях у них уже есть.
Есть такая работа - совместимость улучшать.И от GIL избавляться.
Следует ли ожидать появления Rust++?
Вообще-то, такие шансы есть. Как раз этот бедолага, которого наймут улучшать неулучшаемое, через год работы вынесет экспертное решение: закопать и сделать с нуля. Как потом Rust Foundation будет осваивать гранты, кроме как сделав новую версию, назвав её сначала Rust--. И это будет продолжаться бесконечно, появится Rust++, Rust2, RustX и т.д.
> Вообще-то, такие шансы есть. Как раз этот бедолага, которого наймут улучшать неулучшаемое, через год работы вынесет экспертное решение: закопать и сделать с нуля. Как потом Rust Foundation будет осваивать гранты, кроме как сделав новую версию, назвав её сначала Rust--. И это будет продолжаться бесконечно, появится Rust++, Rust2, RustX и т.д.Спасибо за проверяемое предсказание. Через год-два проверим, если будем живы.
Зачем?
Они просто сделают Rust 2025 Edition, в котором будут ломающие изменения и этого будет достаточно.
В этом и прелесть - компилятор будет один и тот же, но каждая и версий будет работать правильно.
Следует ожидать, что корпы наиграются в новую игрушку и выбросят на помойку, как тысячу раз прежде.
Нет. Потому что уже раз в 3 года выходит новая редакция языка, в которой выпускаются несовместимые изменения. При этом компилятор умеет собиать код всех выпущенных редакций.
В то время когда Microsoft и Google переходят на Rust и тратят на это миллиарды долларов... Луддиты всё равно против!
Ага, особенно Micro$oft для нас должен быть авторитетом.
Ну не Столлманы же всякие.
Приврал в 1000 раз, а так всё Ок
гугл никогда не отличался адекватностью инвестиций и чуечкой
Для гугла мильён долларов - это как раз отличная ивестиция. Этого как раз достаточно, чтобы внутренняя колонна поняла, что раст им не светит и отстала.
Вот кто-кто но одна из пяти IT-гигантов США (Это больше, чем ВВП 16 стран G20) не может ошибаться!
Рано или поздно, придётся всем хейтерам безопасного языка его выучить.
Одни люди деньги зарабатывают, а другие судят людей по себе и рассказывают в комментариях про свои не реализуемые фантазии!
То-то они такие богатые, а ты - бедный. Да, бывают и неудачные проекты. Но это не правило, а исключение из правил. Иначе они давно бы уже разорились.
Инвестор в треде!
Да, иначе вложился бы в Rust ещё в 2015-ом.
Вы можете ненавидеть раст, но когда на собеседовании вас про него спросят - вы будите просто мило улыбаться!
даже блондинка отличит ухмылку от милой улыбки
Никогда не понимал одного, создателям раста буквы строго по талонам выдают, fn?
Есть проблема с нативным языком. Например, вот заставят тебя пИсать на 1С... фу какая гадость... Поэтому, каждый школяр придумывает свой слэнг. А если вместо слова задействовать закорючку или иероглиф, то ваще будешь круче всех.Почти анекдот, почти в тему:
Подходит тимлид к джуну, пишущему ООП-код.
- Почему, переменная обозначающая скорость, у вас называется b1?
- Ну как же, вот a, b и a1 уже задействованы, поэтому выходит, что скорость будет b1.
Есть такая поговорка: "Краткость - сестра таланта". Создатели Rust её, похоже, знают.
И поэтому придумали на каждый чих по специальному обозначению?
Это единственное, что вам не нравится?Вообще в Rust 39 ключевых слов
as, async, await, break, const, continue, crate, dyn, else, enum, extern, false, fn, for, if, impl, in, let, loop, match, mod, move, mut, pub, ref, return, Self, self, static, struct, super, trait, true, type, union, unsafe, use, where, while
Из них только 10 являются сокращениями:async, const, dyn, enum, fn, impl, mod, mut, pub, ref
Из них по крайней мере половина являются общепринятыми в программировании сокращениями, остаются толькоdyn, fn, impl, mod, pub
Весь сыр-бор из-за этих пяти слов? Вам хочется, чтобы программист писал "function" и "implementation" ломая клавиатуру? А читающий код лицезрел длиннющие служебные слова в строчке с сигнатурой функции, вместо её имени, а также имён и типов параметров?
А сколько миллиардов Google выделил Mozilla, уму непостижимо, каким бы мог быть чудесным Firefox, но зарплаты топ-менеджеров и левацко-террористические фонды конечно же важнее, чем какой-то побочный браузер.
Завидовать нехорошо (и всё равно бы ты Firefox не улучшил).
И ни один не написал что конечная цель перенести код с С++ на rust с целью увеличения производительности и безопасности. Понятно что должен быть софт который имеет множество файлов сгруппированных каким-либо образом (библиотеки, может логически как-то в модули, может сервисы) и его переносить возможно по частям. Для этого эта возможность должна существовать. Где-то возможно нужно перенести только узкие места, опять таки все упирается в совместимость. Пока совместимость действительно не очень.
А ещё вспомним что у Google есть технология grpc.
Наверное, потому, что это не конечная цель? Да и вообще не цель? Вот и не пишут. А с какой целью ты распространяешь дезинформацию?
С чего бы это дезинформация? Это только у глупых людей все просто так выглядит. Зависть что у кого-то денег много нехорошее чувство. Много ли конечных целей в итоге улучшения переносимости? На основе своего опыта, я знаю о чем пишу! Да, я умею делать логические выводы. Своё мнение я нормально написал для понимания. Перечитал и не считаю нужным что-либо добавлять. А у вас есть аргументы подвергать мои слова сомнению? Если нет — со своим срачем идите лесом.
Так с того, что берёшь и лжёшь напропалую, ничуть не стесняясь. Особенно, про производительность. Это ли не дезинформация? Где ты там увидел зависть твоим большим деньгам тоже не ясно. А что до заявленных целей, так совершенствование инструментов взаимодействие как раз намекает на то, что замещать никто и ничего не собирается.
> Back in 2021, we announced that Google was joining the Rust Foundation. At the time, Rust was already in wide use across Android and other Google products. Our announcement emphasized our commitment to improving the security reviews of Rust code and its interoperability with C++ code. Rust is one of the strongest tools we have to address memory safety security issues. Since that announcement, industry leaders and government agencies have echoed our sentiment.
> We are delighted to announce that Google has provided a grant of $1 million to the Rust Foundation to support efforts that will improve the ability of Rust code to interoperate with existing legacy C++ codebases. We’re also furthering our existing commitment to the open-source Rust community by aggregating and publishing audits for Rust crates that we use in open-source Google projects. These contributions, along with our previous interoperability contributions, have us excited about the future of Rust.Там ссылка, сразу на первый источник. Переведи и расширь глаза от удивления. У меня с пониманием слов все в порядке.
>interoperability with C++
>to support efforts that will improve the ability of Rust code to interoperateНу, всё правильно, это необходимо, потому что у обоих языков нет аби, в связи с чем, они весьма дороги и нежелательны в целом. А где ты видишь противоречия, точно всё в порядке?
И вообще внимательно читай первый абзац статьи. Специально для тебя дорогой копирую предложение:> Грант рассматривается как инвестиция, которая в будущем позволит расширить применение Rust в различных компонентах платформы Android.
Гугл свой ведроид с жабы на раст переписывать не собирается, или хотя бы добавить альтернативным языком разработки?
1.Андроид на Джаве написан или, всё-таки, на Си и Си++?
2.Ты за новостями следишь? Давно уже есть код в Андроиде на Rust
Как понять вообще термин "переносимость" в данном контексте?
Добавление в раст функционала, который есть в плюсах но нет в расте?
Или изменение синтаксиса раста, чтобы он был понятнее?
Иои что под этим имеется ввиду?
Они же конкретизировали: улучшение интеропа. Ну чтобы из раста можно было вызывать плюсовый код, к примеру.
А вот теперь логичный вопрос: "Вы вообще с американцами, на крупные компании работали?"
А что не понятно в синтаксисе Rust'а?
А что вы ждете? Будет там три-четыре менеджера, полтора программиста, и один тестер на один год, пусть на полтора, ужав пояс. И что?
надо только подождать. затяните пояса
Спойлер: ничего не изменится.
>профинансировать работу по улучшению взаимодействия кода на языке Rust с кодовыми базами, написанными на языке C++То есть открыто признали, что взаимодействие кода на Rust с C++ мягко говоря не очень.