The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Разработчики Chrome экспериментируют с языком программирования Rust

20.08.2020 22:33

Разработчики Chrome экспериментируют с использованием языка Rust. Работа ведётся в рамках инициативы по предотвращению появления ошибок работы с памятью в кодовой базе Chrome. В настоящее время работа ограничивается созданием прототипов средств для использования Rust. Первой задачей, которую необходимо решить до того, как начать полноценно использовать Rust в кодовой базе Chrome, называется обеспечение переносимости между кодом на C++ и Rust.

В обозримом будущем язык C++ останется первичным в Chrome, поэтому основное внимание в проводимых экспериментах уделяется возможностям по вызову существующих C++ функций из кода на Rust и безопасному способу передачи типов между Rust и C++. В качестве основного решения для организации обмена данными между Rust и C++ рассматривается библиотека cxx, которая автоматически создаёт безопасные привязки между функциями C++ и Rust. Вручную подобные привязки создавать слишком трудоёмко так как API Chrome насчитывает более 1700 вызовов и велика вероятность допустить ошибку.

  1. Главная ссылка к новости (https://www.theregister.com/20...)
  2. OpenNews: Анонсировано создание независимой от Mozilla организации Rust Foundation
  3. OpenNews: Представлен браузерный движок Kosmonaut, написанный на языке Rust
  4. OpenNews: Выпуск языка программирования Rust 1.45
  5. OpenNews: 70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью
  6. OpenNews: Предложение по обсуждению вопроса добавления в ядро Linux средств для разработки на языке Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/53575-chrome
Ключевые слова: chrome, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (132) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.47, Аноним (47), 01:00, 21/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Rust обеспечивает безопасность от double-free и use-after-free, а то что "библиотека cxx автоматически создает безопасные биндинги" - это про отсутствие помарки unsafe, что не делает код безбажным и не превращает С++, над которым вы делаете обертку, в гарантированно безопасный даже от тех двух багов, которые Rust заявляет что помогает избежать.

    Кстати, это и в репозитории генератора оберток cxx написано - мол, наши прекрасные обертки великолепны и безопасны, но ваш код на С++ никто не проверяет. То есть баги как были так и остаются, меняется только то, что Rust-разработчики хрома с гордым лицом переложат ответственность за любые баги на С++-разработчиков, а сами продолжат писать код на "safe rust".

     
     
  • 2.71, Dzen Python (ok), 09:16, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Иногда кажется, кто открылась новая айтишная тоталитарная секта: Швидетели Безопасного Руста.
    И у них есть точно такие же брошюрки: "бизапасная память" и "указатели - посланцы сатаны". Объяснить, чем именно достигается этот результат (отказом от ручной работы с указателями) может почти каждый из этой секты; рассказать о возникаемых проблемах этой архитектуры может уже далеко не рядовой аколит, а только реально посвященный; показать, как именно правильно работать с unsafe-кодом для преодоления естественных проблемы, вроде проблемы 10к/10М - могут единицы; рассказать, зачем затравили того автора веб-либы из карго не может никто.

    Ну, короче, ждём от технарей Брина эпохального "64Гб RAM должно хватить всем для трёх вкладок".

     
     
  • 3.77, Webmonkey (?), 09:32, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Секта свидетелей незаменимого Си вот точно оформилась.
     
     
  • 4.83, Аноним (83), 10:26, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Понимаешь, братец мой вебмакак... А ведь все те высокоуровневые языки, на которых мы пишем - сами написаны на незаменимом С.
     
     
  • 5.103, Аноним (103), 11:40, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это не так. Rust изначально на OCaml был написан, затем стал компилировать сам себя.
     
     
  • 6.108, Аноним (108), 12:15, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А зачем он вообще был написан? Пользовались бы OCaml, ну или Ada для супернадёжности.
     
     
  • 7.109, Аноним (103), 12:16, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Значит, чем-то не устроили. Мне тоже интересно чем.
     
     
  • 8.159, freecoder_xx (?), 20:38, 04/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ООП и сборщиком мусора ... текст свёрнут, показать
     
  • 6.119, Аноним (119), 17:01, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Фронтенд для LLVM ты хотел сказать?
     
  • 5.122, Webmonkey (?), 19:02, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я пишу на Си. 20 лет назад деды ассемблерщики точно так же выступали, и синтаксис у си был слишком сложный, и абстракций слишком много, и ассемблер был незаменим, и в ногу себе нельзя было с вертухи пальнуть. Где они теперь?
     
     
  • 6.128, Аноним (128), 23:38, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вроде живы
    https://github.com/videolan/dav1d
    https://github.com/xiph/rav1e
     
     
  • 7.134, Аноним (103), 10:47, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Rav1e на треть написан на rust, кстати.
     
  • 7.142, Webmonkey (?), 17:19, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там на ассемблере только векторные ядра фильтров и т.п. На С это пишется интринсиками, а вообще я считаю что тормоза из комитета должны были добавить векторы в язык, много раз уже писал.

    Это как раз аргумент в пользу того, что Си как системный язык не развивается.

     
  • 6.130, Аноним (130), 08:02, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Давай посчитаем 20 лет назад это 2000 год. В то время деды ассемлерщики не могли топить за ассемблер. Потому-что дедов ассемлерщиков тогда уже не было, они уже тогда "умерли от старости". Тогдашние "деды" это высокоуровневые Фортранщики, Паскальщики и Сишники начинавшие в конце 1970-1980 гг. А "Си плюс-плюсники" тогда писали на "Си с классами" и вполне были ещё модны и молодёжны.

    Да, деды ассемблерщики на самом деле были, но они жили в конце 1960 - нач. 1970-х. Деды ассемблерщики - это ровесники Никлауса Вирта. И то что ты говоришь скорее могло быть не в Совке а в Штатах.

    Вывод: "Ты как тролль вбросил неверную информацию".

     
     
  • 7.133, Ordu (ok), 10:46, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Давай посчитаем 20 лет назад это 2000 год. В то время деды ассемлерщики не могли топить за ассемблер.

    wasm.ru ведь примерно тогда процветал. fasm это тоже примерно тогда. Может топившие за асм тогда не были дедами, но то что они топили за асм -- это совершенно точно.

     
     
  • 8.137, Аноним (137), 12:07, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага МАЛЕНЬКАЯ КУЧКА Тогда как и сейчас интерес к ассемблеру в основном был незд... текст свёрнут, показать
     
     
  • 9.139, Ordu (ok), 14:50, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ыы Ой, давай теперь поспорим о демаркации здорового и нездорового интересов В ... большой текст свёрнут, показать
     
  • 7.141, Webmonkey (?), 17:14, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не в теме просто. Для микроконтроллеров ассемблер был очень популярен.
     
     
  • 8.156, Аноним (156), 08:12, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    От безысходности он был очень популярен Как научились компиляторы Си нормально ... текст свёрнут, показать
     
  • 3.84, Аноним (84), 10:27, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пациент выше где-то в районе третьей стадии модели Кюблер-Росс 1 Отрицание 2 Зл... большой текст свёрнут, показать
     
     
  • 4.129, Sw00p aka Jerom (?), 01:17, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >что все это нормальные реакции человека на трагические новости.

    Не на новости, а на утрату (людскую). И да это нормально.

    пс: Фильм как раз вышел новый "Час истины".

     
  • 3.92, Owlet (?), 10:48, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > открылась новая айтишная тоталитарная секта

    Стоит погуглить значения слова "секта" и словосочетания "тоталитарная секта" прежде, чем публично позориться. Ну и что-нибудь о расте узнать.

     
     
  • 4.124, Аноним (124), 20:37, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    О том что rust не безопасный недоязык с ужасным синтаксисом и сектой фанбоев можно узнать читая комментарии на opennet. Нет нужды узнавать что-то ещё ведь и так все понятно
     
  • 4.125, microsoft (?), 20:38, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем кунаться в каки?
     
     
  • 5.157, Аноним (156), 08:14, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что они "безопасные"™.
     
  • 2.97, Ordu (ok), 10:56, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да Это же основная фишка разделения safe unsafe в расте Если ты выставил наруж... большой текст свёрнут, показать
     
  • 2.110, TormoZilla (?), 12:24, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Руки прочь от Rust!
    Идите в Darts!!
     
  • 2.154, СССР (?), 02:40, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    зачем весь этот зоопарк? неужели так сложно быть внимательным при написании кода? походу да , для современных покемоно-программистов быть внимательнм весьма сложно.
     
     
  • 3.160, freecoder_xx (?), 20:47, 04/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем быть, если можно не быть и освободить ресурс внимания для других задач?
     

     ....большая нить свёрнута, показать (28)

  • 1.1, Аноним (1), 22:40, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +34 +/
    Ждём комментариев про хромокапец от товарищей, которые утверждали, что раст убил лису.
     
     
  • 2.3, Аноним (3), 22:52, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Так оно и есть, мозиле раст не помог, и хромому не поможет. Ждём сообщений "гугл уволил 250 разработчиков".
     
     
  • 3.27, имя_ (?), 23:42, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что такое "250 разработчиков" для гугла и лисы? Несравнимые размеры.
     
     
  • 4.29, Аноним (3), 23:50, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +14 +/
    а, ну да, у гугла будет "уволили 250 тыс разработчиков"
     
  • 3.63, Я (??), 07:22, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    раст не принёс мозиле денег, это досадно, но никто в общем то и не ждал от него этого.. к сожалению другая активность тоже не принесла мозиле денег.. гугл же способен оплатить и за раст и за мозилу, такчто ему от раста только польза.
     
  • 2.4, Suverenman (ok), 22:52, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    "В обозримом будущем язык C++ останется первичным в Chrome". Да и толку слушать фанатиков, сегодня они говорят: "Rust убил лису", а завтра: "Rust помог Chrome увеличить производительность/безопасность/удобство на 146%".
     
     
  • 3.12, Аноним (12), 23:13, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Безопасность Раста должна была ускорять разработку из-за того что не нужно проверять все пограничные условия в с/с++, но в итоге получилось что разработка на Расте в 10 раз дольше чем на с/с++ итог всю команду Раста выгнали на мороз.
     
     
  • 4.57, Аноним (57), 03:11, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Команду экспериментального браузера Servo на расте ликвидировали, потому что этот эксперимент больше не нужен. Куски серво на расте уже успешно вошли в лису: stylo еще в 2018 и webrender. Теперь планируется разрабатывать модули на расте сразу в рамках разработки лисы, а не отдельным проектом экспериментального браузера (у которого проблемы с совместимостью с вебом).
     
     
  • 5.95, Ordu (ok), 10:51, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тс-с-с. Не говори им. Очень забавно наблюдать как opennet пошёл в отрыв от реальности, и верит в сказки им же и придуманные. "Выгнали всю команду раста на мороз" -- совершенно ведь не то, что произошло, но опеннет верит. Не мешай им, интересно посмотреть как эта линия фантазирования будет развиваться дальше.
     
  • 4.96, proninyaroslav (ok), 10:54, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Безопасность Раста должна была ускорять разработку

    С каких пор безопасность языка обязана ускорять разработку продукта)? Безопасность может только гарантировать тебе не встретится с определённым классом багов в твоём продукте, а они куда больнее и затратнее по времени, чем скорость разработки самого продукта.

     
     
  • 5.100, Аноним (100), 11:20, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С тех пор как программистам стали платить деньги. Безопасность которая замедляет разработку есть и в С++.
     
     
  • 6.102, proninyaroslav (ok), 11:24, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Безопасность которая замедляет разработку есть и в С++.

    Тем кому это мешает, давно сбежали писать на электроне. Так что C++/раст для них давно не проблема.

     

  • 1.2, Аноним (2), 22:41, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Думаю для форка название Bright Sun подойдёт...
     
     
  • 2.73, Dzen Python (ok), 09:18, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скорее "Rusty buggy".
    А что? Багги - быстрая машинка, да и постапок среди народа популярен.
     

  • 1.5, Аноним (5), 22:55, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +24 +/
    Хромирование же против ржавчины делается
     
     
  • 2.11, Аноним (11), 23:11, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Уже 10 минут изучаю как лучше всего окислить хром. Я думаю, у такого Мидаса, как Гугл, всё получится. Ведь всё, чего он касается, деградирует и умирает.
     
     
  • 3.28, имя_ (?), 23:43, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >Ведь всё, чего он касается, деградирует и умирает

    ах, эти фантазии...

     
     
  • 4.69, лютый жабби__ (?), 08:42, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >ах, эти фантазии...

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

     
     
  • 5.70, Ненавижу SJW (?), 09:15, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    богомерзким для кого?
     
  • 4.75, Dzen Python (ok), 09:20, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://killedbygoogle.com/
    Ну-ну, такой себе список на 150+ фантазий.
    <spoiler>И ведь 2/3 вполне могли себе выстрелить, при грамотной стратегии</spoiler>
     
     
  • 5.80, жека воробьев (?), 09:48, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну у вас видимо, что не проект - то успех
     
  • 5.88, имя_ (?), 10:35, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    сколько сотен проектов гугл купил и сколько убили? Несравнимые значения. К тому же иногда проекты покупают именно чтобы устранить конкурента, а не интегрировать какую-нибудь фичу в свой продукт.
     
  • 5.121, Ты идиот (?), 17:21, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Твой список ≠ "Ведь всё" из вброса выше 🤣
     

  • 1.6, Аноним (-), 22:56, 20/08/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –10 +/
     

     ....ответы скрыты (2)

  • 1.7, yet another anonymous (?), 23:01, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Добавление wrapper'а четвертого порядка благодатно скажется на кодовой базе.
     
  • 1.8, Аноним (8), 23:03, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    А почему Rust? Почему именно этот язык выбрали?
     
     
  • 2.15, Аноним (15), 23:18, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Погуглите про особенности языка программирования Rust, и тогда всё встанет на свои места, всё сразу станет ясно, почему именно этот язык выбрали.
     
  • 2.16, Аноним (103), 23:19, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, почему? Есть же Ада и реализация – Gnat.
     
  • 2.25, Рева RarogCmex Денис (?), 23:37, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что Хаскель слишком ленив.
     
     
  • 3.34, user (??), 00:22, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для таких случаев есть Ocaml.
     
  • 3.65, inferrna (ok), 07:47, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Страница не грузится, а сразу объявляется загруженной."
     
     
  • 4.116, Kusb (?), 14:34, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А программа не пишется до её использования?
     
  • 2.26, пох. (?), 23:37, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > А почему Rust? Почему именно этот язык выбрали?

    "Ф хозяйстфе приккотится..."

    (через год, выбрасывая дохлую ворону и 250 снова-ненужных мазильных разработчиков: "Не приккотилось!")

     
  • 2.40, Аноним (40), 00:45, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Знаешь какие-нибудь годные альтернативы Расту?
     
     
  • 3.45, Аноним (45), 00:54, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Lisp
     
     
  • 4.60, Аноним (60), 05:00, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Smalltalk
     
  • 4.61, Аноним (61), 05:25, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Lisp

    Неадекват.

     
  • 3.46, Аноним (3), 00:56, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Думаешь, если раст не годен, то его альтернативы могут где-то сгодиться?
     
  • 3.53, Аноним (103), 01:22, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ада.
     
  • 2.51, Аноним (51), 01:20, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Решили попробовать. Гугл, в отличие от Мозиллы, может позволить себе провести эксперимент и не резвалиться в процессе.
     

  • 1.9, Васёк (?), 23:05, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Ага, один разработчик поэксперементировал и забил, а состряпали целую новость
     
  • 1.13, Аноним (13), 23:15, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    можно будет qt использовать из rust
    возможно...
     
     
  • 2.21, Аноним (3), 23:25, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    кутэ/раст/системда и вяленый обязательно, вот тогда точно всё получится. А то гугл как-то не спортивно использует upstart.
     

  • 1.14, Вася (??), 23:17, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    У гугла же есть Go.
     
     
  • 2.72, Ненавижу SJW (?), 09:17, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кстати да. Но он же вроде скорее как замена C++, так?
     
     
  • 3.85, m.makhno (ok), 10:28, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +11 +/
    нет, golang со своими исполняемыми файлами сам по себе
     
  • 2.98, proninyaroslav (ok), 10:59, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Исходя из опыта разработчиков Фуксии, go показал себя не очень хорошо в составе кода ОС https://fuchsia.dev/fuchsia-src/contribute/governance/policy/programming_langu
     

  • 1.17, Аноним (13), 23:19, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Какой кашмар. Даже гугол поддался на пиар этого недоязыка. Все кто разбирается понимает что Си безопастнее rust ведь в нем нет unsafe блоков.
    Все понимают что на этом языке ничего сложнее hello world ненапишешь и убогий фаерфокс, серво и прочие поделки тому доказательство.
    Хром надо на Си переписать.
     
     
  • 2.22, Аноним (3), 23:29, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Хром надо на Си переписать.

    Было бы прикольно, глядишь, объём в разы сократился бы. А то уже не знаешь, кто вперёд скачается: 100 ГБ флайт симулятора или исходники хромого.

     
  • 2.42, Аноним (40), 00:47, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошая пародия на глупых растохейтерков, браво :)
     
  • 2.52, Аноним (51), 01:22, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Fracta1L, тут тебя зовут!
     
  • 2.101, Аноним (100), 11:24, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Просто хайпует на расте. Использовать он раст конечно же не будет. Все большие компании что пытались внедрить раст от него отказались, тот же дропбокс.
     

  • 1.23, Аноним (23), 23:29, 20/08/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +3 +/
     

     ....ответы скрыты (5)

  • 1.30, Кайф (?), 23:55, 20/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Че сраться то, rust это хипсторская подделка, в отличии от промышленного C++ который как бы в ближайшем будущем никуда не денется, если сам конечно не мутирует в раст хаскель ерланг и же с ними, а то могет судя по движу в новых стандартах
     
     
  • 2.33, Аноним (32), 00:07, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Не может. Деградировать не выйдет, компиляторов много, обратную совместимость они сохраняют, никто не заставит переходить на новый стандарт если он тебе не понравиться.

    Такое можно сотворить с хипстоподелками, типа go, rust, python. Вот эти любят всё испортить, наломать совместимость и выкинуть без поддержки.

     
     
  • 3.36, Аноним (35), 00:39, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Такое можно сотворить с хипстоподелками, типа go, rust, python. Вот эти любят всё испортить, наломать совместимость и выкинуть без поддержки.

    да у нас тут крупнейший исксперт опеннетов, все по машинам

     
     
  • 4.38, Кайф (?), 00:43, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ЧСХ он прав, так как обратной совместимости в этих ЯП нет от слова совсем
     
     
  • 5.82, Брат Анон (?), 10:13, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Особенно в Go. Прям такая несовместимость, что даже синтаксис за 10 лет вообще не поменялся. Ой, кошмар.
     
     
  • 6.87, хамство (?), 10:32, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Именно поэтому в каждой го-программе пишут минимальную версию компилятора.
     
     
  • 7.107, НяшМяш (ok), 12:04, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если я захочу использовать плюхи С++20, то мне тоже придётся указывать минимальную версию компилятора.
     
  • 7.150, Брат Анон (?), 08:53, 24/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Именно поэтому в каждой го-программе пишут минимальную версию компилятора.

    Шта?!11.... Тебя головой по асфальту протащили?))

     
  • 7.151, Брат Анон (?), 08:55, 24/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Именно поэтому в каждой го-программе пишут минимальную версию компилятора.

    Не в каждой, не надо трындеть. Версии в программе на go пишутся только тогда, когда есть привязка к внешней версии какой-либо библиотеки (или нужны контейнеры). К синтаксису go -- это никакого отношения не имеет.

     
  • 3.37, Кайф (?), 00:42, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты говоришь про обратную совместимость, а я про новые фичи и сам страуструп утверждает после C++17 что дальнейшее усложнение крестов неизбежно, впрочем как и других ЯП
     
  • 3.41, Кайф (?), 00:45, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    C++ полностью деградировать не может так как миллиарды строк легаси и никогда переписывать не будет, а вот мутировать так это запросто достаточо вспомнить шаблоны
     
  • 2.44, Аноним (40), 00:50, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –8 +/
    C++ до Раста уже сейчас слишком далеко, и с каждым годом эта пропасть лишь растет. Объективно, в Расте есть несколько фатальных недостатков, которые мешают сказать, что он безоговорочно лучше, но лет через 5-10 C++ станет уделом консерваторов и легасименов, скриньте
     
     
  • 3.49, Кайф (?), 01:06, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Слышали уже 20 лет назад
     
  • 3.76, Dzen Python (ok), 09:27, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ...когда он дорастет до уровня оригинального саутруповского С++, такого же, но другого?
     
  • 3.79, Аноним (79), 09:39, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >но лет через 5-10 C++ станет уделом консерваторов и легасименов, скриньте

    Уже лет 15-20 хоронят сишку и никак не похоронят. ИЧСХ все эти годы названия претендентов на роль убийцы меняются чуть ли не по несколько раз в год. Только вот по итогу сишка никуда не делась, а этих претендентов уже через год помнят от силы 2.5 наркомана насилующие полуразложившийся труп очередного гламурного франкенштейна.

     
  • 3.155, СССР (?), 02:45, 25/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    лет через 5-10 появятся программисты еще тупее чем сейчас, и вы уже с высоты своего опыта будете смотреть на молодёжь и понимать, что миром правят сми, реклама и пиар, а люди по своей природе стадо баранов.
     

  • 1.31, Аноним (32), 00:00, 21/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну по тому как работает хром видно, что у разработчиков не только с памятью проблема. В принципе там с головой проблема. И Rust это не исправит.
     
  • 1.50, Аноним (50), 01:19, 21/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > CXX — safe FFI between Rust and C++

    Никакого уважения у этих растоманов. CXX уже давным давно использующееся название переменной окружения для компилятора C++.

     
  • 1.55, Аноним (55), 01:45, 21/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Готовятся к покупке лисы небось
     
     
  • 2.56, Аноним (3), 01:56, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > лисы

    панды. firefox - это панда, а не лиса.

     
     
  • 3.74, Ненавижу SJW (?), 09:19, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    deepl говорит, что fox - это лиса
     
     
  • 4.78, Аноним (78), 09:36, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +9 +/
    А pineapple — это сосна или яблоко?
     
     
  • 5.111, Аноним (108), 12:26, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хвойное яблоко :)
     

  • 1.59, Аноним (59), 03:58, 21/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Правильно.
    Пора постепенно отказываться от UB-based языков (да, сишечка, я смотрю на тебя!) и переходить на memory-safe или даже вообще managed.
     
     
  • 2.64, Аноним (64), 07:27, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Шагайте в ваш дотнет, а мы как-нибудь так проживём.
     
  • 2.112, Аноним (108), 12:29, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >или даже вообще managed

    Обезьяны и прочие электронщики ликуют.

     
  • 2.113, Аноним (113), 12:31, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Компиляторы и библиотеки сами генерят UB.
    Например UB компиляторов: нельзя сдвигать на число большее разрядности сдвигаемого. Казалось бы просто при компиляции явно указываешь процессор. Процессор поддерживает такой сдвиг. А компилятор для этого процессора генерит UB.
    Rust конечно спасает от всего: на краю обрыва ставят табличку unsafe, вместо того чтобы сделать ограждение, но ограждение это дорого, а табличка бесплатно и безопасно.
     
     
  • 3.118, Ordu (ok), 16:17, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Казалось бы просто при компиляции явно указываешь процессор.

    Не, это лишь "казалось бы". Если хочется кардинально решать ситуацию, надо компилятору давать конфиг, указывая там какие именно flavor'ы операций тебе нужны. Скажем, чтобы сдвиг слишком далеко заполнял бы всё нулями. А чтобы операция + на целых выполнялась бы с насыщением. То есть конфиг, который позволяет все UB превратить в DB (в Defined Behaviour).

    Но я тебе скажу, почему разработчики не спешат так делать: это способ вместо одного C++ получить много разных несовместимых друг с другом. Сорцы, которые нельзя смешивать, хотя у них и один синтаксис.

    Твой способ -- это прибивание сорца гвоздями к архитектуре, но ты можешь это сделать посредством inline ассемблера, для этого не нужны дополнительные специальные инструменты.

    > Rust конечно спасает от всего: на краю обрыва ставят табличку unsafe

    Разве? Можно хоть один пример? Все эти неопределённости с арифметическими операциями в rust'е снимаются жёстким определением какого-то определённого поведения, а если тебе нужны альтернативы, то вместо + ты можешь использовать saturating_add, или что-нибудь в этом стиле. Никакой unsafe не нужен. Впрочем, я с удовольствием полюбуюсь на пример, где UB решается unsafe'ом.

     
     
  • 4.132, Me (??), 09:50, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Сейчас кросскомпиляторное и кроспроцессорное поведение разруливается через портянки условной компиляции и ассеблерные ставки. Если этого не делать, то в одном из компиляторов или в том же самом компиляторе с другими процессорами словим UB. +3 процента производительности после оптимизации и вероятность 90% словить UB на новой архитектуре.
     
     
  • 5.135, Ordu (ok), 10:54, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Сейчас кросскомпиляторное и кроспроцессорное поведение разруливается через портянки условной компиляции и ассеблерные ставки.

    Можно какой-нибудь современный пример? Я знаю, что оно так разруливалось в 80-х, в 90-х. Но как-то в современном коде я не замечал подобного. Ассемблерные вставки используются не для обхода UB, а для производительности (чтобы сделать лучше компилятора) или для доступа к каким-нибудь возможностям процессора, к которым компилятор не даёт доступа (в ядре такое бывает регулярно).

    Есть очень простой способ избежать UB: не писать код с UB. C/C++ это, в общем, позволяют, там самое сложное не пропустить UB в код нечаянно. Но как только ты увидел код с UB в тексте программы, нет никаких проблем переписать этот код на C так, чтобы UB не было бы.

    > вероятность 90% словить UB на новой архитектуре.

    Ты точно не путаешь UB и баги компилятора? Код без UB на любой архитектуре без UB.

     
  • 2.114, Аноним (114), 13:08, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скатертью дорога!
    https://img.championat.com/news/big/i/b/perluidzhi-kollina_1392297354138101563
     

  • 1.66, Аноним (66), 08:01, 21/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    еще каких-то +128 ядер в мобилки и 1TB RAM и можно спокойно переходить на руби - безопасней уже некуда
     
  • 1.115, Иваня (?), 14:10, 21/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чтож, пора мне всё-же изучить Rust, а ведь не хотел :(
     
     
  • 2.117, Аноним (-), 15:35, 21/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем ? Маркетинг задавил ? Всеравно эти говноподелия никто не читает и не использует, все привыкли к сям. Да и не написали ничего незаменимого еще, работы над переписыванием под ся нормальных вещей с говноязыков всегдя велись и ведуться, лучше и полезнее так чем стать очередной макакой неуспевающей за "новыми фишками" языка. Это все хайп, как спинер, как каронавирусы и прочая лабуда.
     

  • 1.123, Gogi (??), 20:03, 21/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    К сожалению, как мартышку ни учи, "проблема с памятью" будет с ней всегда. Как и остальные ошибки. ЭТО НОРМАЛЬНО - быть ламером и делать ошибки. Язык до определённой степени может помогать, но он не отменяет жёсткое, рациональное инженерное мышление - только с ним можно писать надёжное ПО. Плюс профессиональный опыт, конечно.

    Раст тут довольно странная "помощь", ибо это вообще другой язык, перегруженный прыжками вокруг ссылок. И тот баран, который вывалил на программиста всю эту чехарду, проблемы не решил - он просто разложил кучу ограничений, с которыми писать программу - всё равно, что бегать в лыжах через болото. Так что Мазилы могут смело сворачивать своё УГ - будущего у него не было даже при рождении.

     
     
  • 2.131, Аноним (130), 08:06, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Раст стал популярен как ответ на проблемы Си плюс-плюс. Посмотрим что из него выйдет.
     
  • 2.136, Ordu (ok), 11:06, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так что Мазилы могут смело сворачивать своё УГ - будущего у него не было даже при рождении.

    Вот что меня вгоняет в задумчивость, это то как комментаторы опеннета, наблюдая одно за другим свидетельства тому, что rust -- это серьёзно и надолго, -- продолжают утверждать про отсутствие будущего у rust'а.

    Я понять не могу, что вами движет. Желание потроллить? Или может вы ведёте информационную войну, то есть надеетесь на то, что если миллион раз сказать ложь, то она станет истиной?

    > И тот баран, который вывалил на программиста всю эту чехарду, проблемы не решил - он просто разложил кучу ограничений, с которыми писать программу - всё равно, что бегать в лыжах через болото.

    Хыхы. Ты говоришь выше про "жёсткое рациональное инженерное мышление", которое позволяет писать надёжное ПО. Так вот именно к такому "бегу в лыжах через болото" и приводит "жёсткое рациональное инженерное мышление" программистов, которые набрали достаточно "профессионального опыта". Открой сорцы ядра linux, и посмотри: они по большей части в общем и целом следуют идеям лайфтаймов и ownership. Я не говорю, что они _везде_ им следуют, потому что скорее всего это не так: там где человек проверяет следование правилам, человек обязательно что-нибудь пропустит. Раст меняет ситуацию только в том смысле, что эти идеи кодируются в программу и жёстко проверяются, вместо того, чтобы оставлять проверку их людям.

     
     
  • 3.138, Аноним (137), 12:11, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только один вопрос. Растаманы глазами проверяют весь код, или они полностью доверяют своему безопасному компилятору?
     
     
  • 4.140, Ordu (ok), 14:57, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Только один вопрос. Растаманы глазами проверяют весь код, или они полностью доверяют
    > своему безопасному компилятору?

    Ты имеешь в виду проверку на следование правилам владения объектами и лайфтаймам? Эти правила, применительно к конкретным объектам, кодируются в системе типов. Проверку этих правил выполняет компилятор, проверять его, значит впустую тратить время. Насколько же нужно проверять правила -- это уже зависит от того, каким образом они прописаны. Если под ними лежит unsafe, то да, надо проверять глазами, используя unsafe и raw-указатели легко можно нарушить базовые инварианты языка. То есть, даже дело не в том, что можно нарушить: unsafe сделан для того, чтобы нарушать эти инварианты, дело в том, что эти нарушения должны оставаться на уровне модуля и не выползать наружу.

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

     
  • 2.143, Webmonkey (?), 17:32, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >рациональное инженерное мышление - только с ним можно писать надёжное ПО

    Рационально использовать надежный инструмент (Rust) вместо дырявого.

     
     
  • 3.145, анонимуслинус (?), 23:59, 22/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    и тебя никогда не посещало просветление в том, что с/с++ сделаны такими для профессионалов, а не тяп ляп и в продакшен. эти языки изначально требуют от их пользователя глубоких знаний не только самого языка, но и структуры самого компьютера и его работы. а раст делали для"домохозяек" с ограниченными возможностями применения. и в системщину его изначально не пускали, но потом замахнулись и на неё и впихнули unsafe. но все современные языки хотят сделать так, чтобы программист не знал ничего кроме быстрого написания кода и знать как код потом работает с памятью им нефиг. так проще создать группу дешевых дятлов, которых проще нанять за копейки.
     

  • 1.144, Венцеслав из Дом два (?), 18:39, 22/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В винде, при установке некоторые программы сами доустанавливают  пакеты C++ 2008, 2015 редистрибутейбл. А если проги будут писаться на раст, какие “ редистрибутейбл ” будут ставиться тогда?
     
     
  • 2.147, Аноним (147), 10:03, 23/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А если Интернета нет, то прога не установится. Качать неоткуда, или придётся все террабайтные зависимости за диске тащить?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру