The OpenNET Project / Index page

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

70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью

24.05.2020 13:12

Разработчики проекта Chromium проанализировали 912 опасных и критических уязвимостей, выявленных в стабильных выпусках Chrome с 2015 года, и пришли к выводу, что 70% из них были вызваны небезопасной работой с памятью (ошибками при работе с указателями в коде на C/C++). Половина из данных проблем (36.1%) вызвана обращениями к буферу после освобождения связанной с ним памяти (use-after-free).

При проектировании Chromium было изначально заложено, что в коде не исключено появление ошибок, поэтому большая ставка делалась на применение sandbox-изоляции для ограничения последствий проявления уязвимостей. В настоящее время возможности применения данной технологии достигли предела своих возможностей и дальнейшее дробление на процессы нецелесообразно с точки зрения потребления ресурсов.

Для поддержания безопасности кодовой базы Google также применяет "правило двух", в соответствии с которым любой добавляемый код должен подпадать не больше, чем под два условия из трёх: работа с непроверенными входными данными, использование небезопасного языка программирования (C/C++) и выполнение с повышенными привилегиями. Из этого правила следует, что код для обработки внешних данных должен либо быть урезан до минимальных привилегий (изолирован), либо быть написан на безопасном языке программирования.

Для дальнейшего усиления защищённости кодовой базы запущен проект по предотвращению появления ошибок работы с памятью в кодовой базе. Выделяется три основных подхода: создание библиотек С++ с функциями для безопасной работы с памятью и расширение области применения сборщика мусора, применение аппаратных механизмов защиты MTE (Memory Tagging Extension) и написание компонентов на языках, обеспечивающих безопасную работу с памятью (Java, Kotlin, JavaScript, Rust, Swift).

Ожидается, что работа будет сосредоточена в двух направлениях:

  • Значительное изменение процесса разработки на С++, не исключающее негативного влияния на производительность (дополнительные проверки границ и сборка мусора). Вместо raw-указателей предлагается использовать в коде тип MiraclePtr, позволяющий свести эксплуатируемые ошибки класса use-after-free к не представляющим угрозу безопасности крахам, без ощутимого негативного влияния на производительность, потребление памяти и стабильность.
  • Применение языков, рассчитанных на выполнение проверок безопасной работы с памятью во время компиляции (позволит исключить негативное влияние на производительность, свойственное подобным проверкам во время выполнения кода, но приведёт к дополнительным расходам на организацию взаимодействия кода на новом языке с кодом на С++).

Использование библиотек для безопасной работы с памятью является наиболее простым, но и менее эффективным способом. Переписывание же кода на Rust оценивается как наиболее эффективный, но и очень дорогой путь.



  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Выпуск модуля LKRG 0.7 для защиты от эксплуатации уязвимостей в ядре Linux
  3. OpenNews: Разработчики из Google предложили разработать свою libc для LLVM
  4. OpenNews: Google открыл систему для создания sandbox-окружений для библиотек C/C++
  5. OpenNews: ОС Fuchsia переходит на стадию тестирования на сотрудниках Google
  6. OpenNews: Mozilla начинает внедрение технологии изоляции библиотек RLBox
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/53019-chromium
Ключевые слова: chromium, memory, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (430) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, JL2001 (ok), 14:02, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +29 +/
    chromium на rust перепишут или выкинут в пользу движка firefox ?
     
     
  • 2.2, Аноним (2), 14:04, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Второе
     
     
  • 3.469, Аноним (469), 08:04, 27/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее JS везде понапихают, его там и так уже есть.
     
  • 2.4, zurapa (ok), 14:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Лучше движок Presto.
     
     
  • 3.158, YetAnotherOnanym (ok), 19:37, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Трайдент лучче!
     
     
  • 4.222, Аноним (222), 21:19, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    зачотная ракета
     
  • 3.301, Аноним (301), 23:51, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хороший движок, но вроде параллелится так себе, да и не хотят законно открывать. Разработка нелегальными энтуазистами идёт плохо.
     
  • 2.5, Аноним (5), 14:12, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ни то ни другое.
     
  • 2.18, арсений (?), 14:39, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +27 +/
    одна вкладка -3GB оперативы
    отличные нынче программисты
     
     
  • 3.108, Gemorroj (ok), 17:02, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    вы что-то имеете против аджалйла и девопс?
    до свидания, собеседование закончено, мы вам перезвоним.
     
  • 3.138, Fracta1L (ok), 18:07, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У меня в FF вкладки редко за 300 Мб выбираются, лол
     
     
  • 4.209, Оно им (?), 20:58, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо грядки у всех разные. У меня и на Хроме всё путём. Меньше, чем в фф.
     
     
  • 5.273, Аноним (273), 22:59, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На компе с 4гиг оперативы вкладка почему-то жрет на 15% больше чем на компе с 16гиг. Показания одного проц.манагера (Process Hacker) на двух системах - 1: Win7x64, 2: Win10x64
     
     
  • 6.313, Anonymou (?), 00:45, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ставьте 16гб на 10ку тоже
     
  • 3.355, лютый жабби__ (?), 09:53, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >одна вкладка -3GB оперативы

    Бред ) у меня РАМы 4ГБ, я бы заметил.

    Таб Опеннет ест мегабайт 150.

     
     
  • 4.359, Аноним (359), 10:11, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я и 10 видел. Открываешь какой-нибудь 9гаг или реддит  с тумблером, вот и нет твоих 4гб. А это только 1 таб.
     
  • 3.361, Аноним (361), 10:16, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Типичный профан. Причем тут программисты? Ты видел нонешниее количество свойств для одного узла DOM? А дизайнеров видел современных генерящих какое-то бесконечное количество классов? Вот к ним и отправляй зуд. Программисты самое плохое что сделали, так это пул памяти и то это не точно.
     
  • 2.25, Аноним (25), 14:56, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Скорее каждую вкладку в doker завернут
     
     
  • 3.68, Аноним (222), 16:08, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И в Xen-е поднимут
     
  • 2.85, Аноним (-), 16:23, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    на жаваскрипте. И круг замкнется
     
     
  • 3.489, заминированный тапок (ok), 13:11, 29/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    круг по интересам
     
  • 2.253, Аноним (253), 22:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > chromium на rust перепишут или выкинут в пользу движка firefox ?

    Ну что только не сделают, чтобы не нанимать на хорошую зарплату грамотных программистов, а нанимать макакокодеров криворучек, и по результатом которых потом грешить на Си и плакаться, что на xRust долго и дорого переписывать!
    Но они таки что-нибудь придумают в эту сторону, раз появляются такие статьи - "это ЖЖЖ неспроста!"

     
     
  • 3.275, JL2001 (ok), 23:01, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >> chromium на rust перепишут или выкинут в пользу движка firefox ?
    > Ну что только не сделают, чтобы не нанимать на хорошую зарплату грамотных
    > программистов, а нанимать макакокодеров криворучек, и по результатом которых потом грешить
    > на Си и плакаться, что на xRust долго и дорого переписывать!
    > Но они таки что-нибудь придумают в эту сторону, раз появляются такие статьи
    > - "это ЖЖЖ неспроста!"

    на C/C++ писать грамотно нельзя, запрещено законами физики: или C/C++, или грамотно
    https://www.opennet.dev/openforum/vsluhforumID3/120718.html#24

     
  • 3.307, виндотролль (ok), 00:07, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > на хорошую зарплату грамотных программистов
    > на Си
    > макакокодеров криворучек

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

     
     
  • 4.350, Lex (??), 08:55, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Самое забавное, что т.н «грамотному сишнику» для его «грамотности в Сях» нередко требуется меньший поток  знаний, чем т.к макакакодеру... да и знания у первых устаревают гораздо медленней( да и получают действительно годные сишники, а не симакаки, ооочень неплохо )

    Выучил, что такое указатель - оно и через 20 лет указателем и будет.

    Выучил, что такое контекст выполнения и bind  - и через несколько лет за их упоминания уже с собеседования сс.ными тряпками гонят, т.к с приходом подобиях классов и стрелочных функций bind-оцирк практически полностью потерял актуальность, а то и стал плохой практикой.

     
     
  • 5.364, Аноним (364), 10:46, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    bind еще не потерял актуальность, потому что кое-что из ф-ций браузера через function и реализацию "псевдо классов через function" сделано. И чтобы поведение этого поменять для нестандартных случаев надо знать что такое bind. Еще много проектов с кодом 3 летней давности с bind и никто не будт переписывать тысячи строк кода в проекте который приносит деньги, по крайней мере не на проекте в проде и всегда нужны будут люди которые фиксят баги и делают мелкие доработки пока параллельно пишется прототип на новых технологиях.
     
  • 5.410, виндотролль (ok), 19:01, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Выучил, что такое указатель - оно и через 20 лет указателем и
    > будет.
    > Выучил, что такое контекст выполнения и bind  - и через несколько
    > лет за их упоминания уже с собеседования сс.ными тряпками гонят, т.к
    > с приходом подобиях классов и стрелочных функций bind-оцирк практически полностью потерял
    > актуальность, а то и стал плохой практикой.

    Хорошая точка зрения, справедливая.

    Пожалуй, правильно будет сказать, что всякие простые закономерности (X получает больше Y) возможны только при фиксированном значении других парамтеров, типа, количество лет опыта.

     
  • 4.363, Аноним (364), 10:42, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если сишник получает меньше, то он плохой сишник. Потому что хорошие сишники пишут движки браузеров, ядро Linux/Windows и прочее. Ты знаком с такими хорошими сишниками?
     
     
  • 5.409, виндотролль (ok), 18:52, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > пишут движки браузеров, ядро Linux/Windows и прочее.

    Движки браузеров и ядра плохо продаются. И как хорошо ты их ни пиши, деньги идут от продажи продуктов, которые делаются людьми с более высокоуровневыми скиллами.

    Продали продукт → нарезали бюджет между непосредственными авторами продукта и сишниками, работа которых вот так сразу не видна.

    Вот консультанты с бекграундом в си получают хорошо, да. И то не за написание си кода, а за отладку и оптимизации. Но это касается любых консультантов.

     
  • 4.471, Аноним (469), 08:08, 27/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > грамотные сишники получают сильно меньше чем макакокодеры

    Значит не такие уж и грамотные, как минимум в управлении проектом и собой. Иначе им было бы западло работать за нигерскую зарплату, для начала. ЧСХ хороших зарплат для них есть. Но да, это надо зад отлепить и пойти поискать, а не просто жрать первое что дали.

     
  • 3.331, Анончик (?), 07:03, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ты размер кодовой базы хромиума видел? В таком огромном проекте, да без использования умных указателей, иметь уязвимости будет любой проект с трижды топовыми цпп разработчиками.
     
     
  • 4.351, Fracta1L (ok), 08:57, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не мешай маням фантазировать про мифических сишников-технобогов)
     
     
  • 5.472, Аноним (469), 08:09, 27/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот посмотришь на тебя и поверишь в то что технобоги бывают. Во всяком случае технопланктон точно бывает.
     
  • 3.335, Аноним (335), 07:52, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Ну что только не сделают, чтобы не нанимать на хорошую зарплату грамотных программистов

    Ну так наняли кучу вебмакак, которым вообще лучше бы рассаду выращивать, зато дешево. Казалось бы. Правда потом оказалось что клетку чистить за этими господами надо много, регулярно и это почему-то не дешево.

     
     
  • 4.388, Аноним (388), 14:22, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Ну что только не сделают, чтобы не нанимать на хорошую зарплату грамотных программистов
    > Ну так наняли кучу вебмакак, которым вообще лучше бы рассаду выращивать, зато
    > дешево. Казалось бы. Правда потом оказалось что клетку чистить за этими
    > господами надо много, регулярно и это почему-то не дешево.

    Я вот, агроном по образованию, для себя выращиваю рассаду дома, гляда на работу современных вэбмакак, я бы даже поливать сорняки их не подпустил!

     
     
  • 5.473, Аноним (469), 08:11, 27/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну вот с этим они как раз справляются. Поэтому помидоров нет, зато вот вам 2 самосвала полыни. Бесплатно. С доставкой на дом.
     
  • 4.454, burjui (ok), 19:45, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    По-вашему, это вебмакаки пишут движок браузера на C++? Это что-то новое, никогда о таком не слыхал. Таки как вы себе это представляете?
     
  • 3.357, Отражение луны (ok), 10:05, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всегда забавно видеть как джуны (в лучшем случае) рассуждают на тему грамнотности програамистов)
     
  • 2.303, Оно им (?), 23:59, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не выкинут. Влажные мечты.
     

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

  • 1.6, JL2001 (ok), 14:12, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    > Разработчики проекта Chromium
    > Применение языков, рассчитанных на выполнение проверок безопасности работы с памятью во время компиляции (позволит исключить негативное влияние на производительность за счёт избавления от осуществления подобных проверок во время выполнения кода

    ну хоть какие-то разрабы, пишущие на C, адекватные, и признают проблему
    а то сплошное "да у вас руки кривые, опыта мало, рука не набита, молокосос!"

     
     
  • 2.13, Аноним (359), 14:24, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Они пишут на си? Я не знал, всю жизнь думал, что там плюсы. Неужели си можно превратить в такого монстра? Да не, вряд ли.
     
     
  • 3.23, Аноним (23), 14:46, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –8 +/
    C и есть монстр.
     
     
  • 4.29, Аноним (359), 15:01, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > C и есть монстр.

    Разве? Можно примеры?

     
     
  • 5.47, Аноним (222), 15:41, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    C++
     
     
  • 6.336, Аноним (335), 07:53, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Он внезапно не си. Некоторые сишные конструкции в C++ вообще низя.
     
  • 5.105, VINRARUS (ok), 16:59, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > > C и есть монстр.
    > Разве? Можно примеры?

    Linux

     
     
  • 6.109, Аноним (359), 17:03, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ммм файл 2 мегабайта являющийся полноценной современной системой с поддержкой всего железа и кучей фреймворков и апи для всего что только можно. Ну ладно в несжатом виде это файл 20мб, но там сплошные нули и выравнивания.
     
     
  • 7.113, VINRARUS (ok), 17:08, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Ты исходник ядра видел хоть раз в жызни?
    https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.14.tar.xz
     
     
  • 8.117, Аноним (359), 17:16, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я его каждую неделю вижу, а что 90 кода там амдшные дрова Я просто привёл при... текст свёрнут, показать
     
  • 8.338, Аноним (335), 07:56, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не мешает опенвртшникам делать из него 900 кило бинарь, при том что там куча фич... текст свёрнут, показать
     
     
  • 9.406, VINRARUS (ok), 18:27, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А можна ЯП не путать с машынным кодом Ведь и жест с 3х пальцев намногопроще и п... текст свёрнут, показать
     
     
  • 10.474, Аноним (474), 08:16, 27/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А можно уже наконец открыть для себя модульный подход И при чем тут ЯП В линух... текст свёрнут, показать
     
  • 7.134, Аноним (-), 17:54, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Ммм файл 2 мегабайта являющийся полноценной современной системой с поддержкой всего железа
    > Ну ладно в несжатом виде это файл 20мб, но там сплошные нули
    > и выравнивания.

    https://packages.debian.org/ru/sid/linux-image-5.6.0-1-amd64
    > Архитектура Размер пакета В установленном виде Файлы
    > amd64 49 083,5 Кб 277 116,0 Кб [список файлов]

    ... то ли в дебиане лохи, то ли очередные фантазии почти-трехсотого^W очередного анонима опеннета.

     
     
  • 8.137, Аноним (359), 18:06, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я уже упоминал за амдшные дрова Чё ты споришь, я по фактажу говорю Всё вкомпил... текст свёрнут, показать
     
     
  • 9.147, Аноним (-), 19:00, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Всегда знал, что амд - не железо Оторванному от реальности - возможно В реальн... текст свёрнут, показать
     
     
  • 10.151, Аноним (359), 19:05, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Речь только про использующийся код Вполне можно оценить, раз всё вкомпилено в с... текст свёрнут, показать
     
     
  • 11.180, Аноним (180), 20:35, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    По сравнению с KolibriOS - абсолютно не впечатляет И нахваливать С могут разве... большой текст свёрнут, показать
     
     
  • 12.208, Аноним (359), 20:58, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так xz оно сжимается, какой ещё gz Gz в 2 раза больше Насчёт параллелизма и мн... текст свёрнут, показать
     
     
  • 13.240, Аноним (240), 21:51, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не в два, а где-то в 1 8531 Но ладно, чертяка, уговорил -- пусть будет xz -6 ... большой текст свёрнут, показать
     
     
  • 14.326, Anonymoustus (ok), 03:06, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Про Си всё и так понятно ещё с семидесятых Но с тех пор придумали и развили до ... текст свёрнут, показать
     
  • 12.210, Аноним (359), 21:00, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пс Колибриос по сравнению с линуксом абсолютно не впечатляет ... текст свёрнут, показать
     
  • 12.236, Валик (?), 21:42, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я дам ссылку не совсем что бы к самому современному , возможно даже не к пято... текст свёрнут, показать
     
     
  • 13.246, Аноним (240), 21:58, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Т е ссылку абсолютно мимо темы Яснопонятно Т е ты ни прочитать тему, ни сде... текст свёрнут, показать
     
  • 12.475, Аноним (474), 08:22, 27/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я бы сказал что KolibriOS абсолютно не впечатляет Кроме разве что тем что до ни... большой текст свёрнут, показать
     
  • 8.339, Аноним (339), 07:58, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В дебиане не лохи Они просто запилили суперкомбо на все оказии И оно поддержив... текст свёрнут, показать
     
  • 3.31, oopssss (?), 15:04, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не обращай внимания, большинство смузихлёбов не тв курсе чем це от це-крест-крест отличается
     
     
  • 4.41, JL2001 (ok), 15:33, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не обращай внимания, большинство смузихлёбов не тв курсе чем це от це-крест-крест
    > отличается

    а что, в свете данной новости C от C++ чем-то отличается?

     
     
  • 5.48, Аноним (222), 15:42, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Ничем не отличается, а наоборот C++ в себя включает Cи
     
     
  • 6.53, Аноним (359), 15:51, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ничем не отличается, а наоборот C++ в себя включает Cи

    Это не совсем так с некоторых пор, в си добавили сахар которого нет в плючах. Но я думаю, если писать на плючах исключительно как на "си с классами", то многих потенциальных проблем можно избежать. Только зачем тогда брать плючи?

     
     
  • 7.69, Аноним (222), 16:10, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Это так, C++ обратно совместим с Cи, то есть C++ включает C99
     
     
  • 8.373, Аноним (373), 11:31, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Заведомо ложная информация ... текст свёрнут, показать
     
  • 7.243, Аноним (243), 21:55, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но если не брать плюсы, то как тогда быть в "Си с классами"? В C классов нет. Разве что вспомнить про Objective-C.
     
  • 7.288, Аноним (222), 23:16, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    "Си с классами" это не про ООП и присущие ему фичи типа наследования, полиформизма, а про тупую группировку функций в классы, ака структуры
     
     
  • 8.360, Аноним (359), 10:14, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это лучше, чем строить ООП поверх struct А почему нельзя сделать наследование и... текст свёрнут, показать
     

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

  • 1.9, Fracta1L (ok), 14:16, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –19 +/
    Надеюсь, это уже начало конца убогих древних языков, генерящих дыры на ровном месте
     
     
  • 2.12, Аноним (359), 14:21, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Куда лучше будет научить программистов прогонять свой код в анализаторе и не совершать уб. Для ошибок в асме не поможет правда, но это надо асм начать хомячкам прививать и они больше не будут косячить так.
     
     
  • 3.20, Fracta1L (ok), 14:43, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Комментом выше можно наблюдать пример необучаемости.
     
  • 3.38, red75prim (?), 15:27, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Правильно, нафига ставить всякие чехлы на болгарки. Пусть каждый юзер проходит курс техники безопасности и не делает ошибок.
     
     
  • 4.43, Аноним (359), 15:37, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Правильно, нафига ставить всякие чехлы на болгарки. Пусть каждый юзер проходит курс
    > техники безопасности и не делает ошибок.

    Все отрезанные пальцы как раз из-за пользовательских нарушений. Но от выбитых глаз наверно и чехлы никакие не помогут. У каждого инструмента своя область применения и нельзя об этом забывать. Если не use after free, то жит пробьют при желании (это едва ли не 99,999% успешных атак). Вот контроль за песочницей должен быть очень жёстким, чтобы ничто не смогло просочиться.

     
     
  • 5.66, red75prim (?), 16:07, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в статье-же прямо написано: "В настоящее время возможности применения [sandboxing] достигли предела своих возможностей [...]".
     
     
  • 6.84, Аноним (359), 16:22, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну в статье-же прямо написано: "В настоящее время возможности применения [sandboxing] достигли
    > предела своих возможностей [...]".

    Они внезапно осознали, что от дыр в вебгл песочница не спасает. Не иначе.

     
  • 5.70, red75prim (?), 16:11, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >  Если не use after free, то жит пробьют при желании (это едва ли не 99,999% успешных атак)

    Где эта статистика опубликована?

     
     
  • 6.77, Аноним (359), 16:17, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Статистика получена на основании анализа всяких соревнований по взлому, результатов обхода drm, и путей распространения малвари. В парсере dom я припомню всего пару уязвимостей. Там ещё что-то в css и html5/media было недавно, но это не серьёзно. Всё остальное это жит. Все эти уязвимости во флэше тоже, это всё жит и только он. Это наиболее удобный и очевидный вектор атаки, песочницы хоть как-то спасают, но только если они сами не уязвимы.
     
     
  • 7.87, red75prim (?), 16:27, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Сто тысяч случаев проанализировали и не опубликовали? А вы скромный.
     
     
  • 8.104, Аноним (359), 16:56, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ничто не мешает экстраполировать ... текст свёрнут, показать
     
     
  • 9.116, red75prim (?), 17:14, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В статистике вы похоже также хорошо разбираетесь Сказали бы Это оценка с точно... текст свёрнут, показать
     
  • 6.99, Аноним (99), 16:40, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    любой разумный программист это и так знает без всякой статистики
     
  • 5.194, Michael Shigorin (ok), 20:46, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ммм... полагаете, у фрактала эти комментарии -- плод невыразимой ненависти, выражаемый полуслепым восьмипальцевым?..
     
     
  • 6.231, kusb (?), 21:32, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Привет, ты же у нас по  эльбрусам? Помогла бы их хвалёная технология защищённого режима? Или не это?
     
     
  • 7.251, Аноним (243), 22:04, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это военная тайна.
     
  • 3.42, JL2001 (ok), 15:36, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Куда лучше будет научить программистов прогонять свой код в анализаторе и не
    > совершать уб. Для ошибок в асме не поможет правда, но это
    > надо асм начать хомячкам прививать и они больше не будут косячить
    > так.

    парни из новости, которую ты комментишь, признали, что это не помогает

     
     
  • 4.65, Аноним (222), 16:06, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Программисты гугла, это те которые не могут за 10 лет свою недоос привести в юзабельный вид без микро и макролагов? ммм, да не смешите меня
     
     
  • 5.79, коржик (?), 16:19, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    разработчики хрома дилетанты, а я молодец!
     
     
  • 6.86, Аноним (222), 16:26, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Разработчики хрома жалкие воры неспособные довести до ума то что стырили, да и я про WebKit/KHTML который хвала богам не стал тормозящее жруще многопроцессорным, в отличии от Blink... господи какой это кал
     
     
  • 7.140, Аноним (140), 18:30, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Господи, какой некомпетентный комментарий выше.
     
     
  • 8.172, Аноним (222), 20:25, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так опровергни ... текст свёрнут, показать
     
  • 8.171, Аноним (222), 20:24, 24/05/2020 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 5.153, Аноним (99), 19:18, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, микролаги это ужастно. Никогда не буду пользоваться гуглоос
     
     
  • 6.173, Аноним (222), 20:30, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я из за этой херни не один ведротелефон разбил
     
  • 3.125, Аноним (99), 17:26, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    std::vector<T,Allocator>::operator[]
    Returns a reference to the element at specified location pos. No bounds checking is performed.
     
     
  • 4.374, Аноним (373), 11:35, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь про std::vector::at процитируй
     
  • 2.32, user90 (?), 15:06, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Толстоват ты) Может дело таки не в языках, а в условных индусах?
     
     
  • 3.35, Fracta1L (ok), 15:12, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Весь мир - индусы, кроме диванных хеллоувордщиков, понимаю
     
  • 3.45, JL2001 (ok), 15:38, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Толстоват ты) Может дело таки не в языках, а в условных индусах?

    тебя в гугл не взяли и теперь ты говоришь, что в гугле все индусы?

     
     
  • 4.75, Аноним (222), 16:17, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Лучше идти в дизайнеры, чем в программисты... фэ прогеры даже звучит зашкварно
     
  • 4.83, user90 (?), 16:22, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1. Речь о хромом. 2. Хватает: https://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/105/
     
     
  • 5.161, JL2001 (ok), 19:43, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > 1. Речь о хромом. 2. Хватает: https://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/105/

    речь о том, что в команде разрабов chromium точно есть квалифицированные прогеры на C

    именно те, кто будет писать либы для безопасной работы с памятью или принимать решение о переходе на rust

    и они уже сказали, что жить на C тяжко даже с их опытом и руками

     
     
  • 6.376, Аноним (373), 11:38, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Квалифицированные прогеры не могли такое сказать, потому что понимают что C и C++ это разные языки. Похоже кто-то врёт.
     
  • 2.129, proninyaroslav (ok), 17:33, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А я всегда думал что не язык, а люди генерят дыры...
     
     
  • 3.226, JL2001 (ok), 21:24, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А я всегда думал что не язык, а люди генерят дыры...

    это совместно
    но любой человек в решете воды не наносит

     
     
  • 4.229, Michael Shigorin (ok), 21:29, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > но любой человек в решете воды не наносит

    Как будем с поверхностным натяжением, со следующего года отменим или немедленно?

     
     
  • 5.263, JL2001 (ok), 22:30, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> но любой человек в решете воды не наносит
    > Как будем с поверхностным натяжением, со следующего года отменим или немедленно?

    никак
    раскалим решет0 до 4к кельвинов (там на днях как раз новый материал на 4к сделали) и вручим разработчику как инструмент для переноса воды

     
  • 4.258, proninyaroslav (ok), 22:18, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > но любой человек в решете воды не наносит

    Разве C/C++ имеет какие то архитектурные дыры или дыры безопасности? Да, есть UB, есть ручное управление памятью, нет проверки границ массива, есть возможность выстрелить в ногу другими способами, но это регламентировано языком. И если язык разрешает такие вольности, а разработчик всё равно использует его, то вся ответственность лежит на разработчике и винить надо только его самого. Иначе не используйте этот язык (хотя чисто технически и экономически не всегда возможно, поэтому C/C++ будет ещё долго использоваться, а разработчики продолжать винить сам язык)

     
     
  • 5.268, JL2001 (ok), 22:37, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    не имеет дыр C C замечательный мультиархитектурный ассемблер и поверх ассембле... большой текст свёрнут, показать
     
     
  • 6.302, proninyaroslav (ok), 23:55, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Язык с GC для этих целей не подойдёт (по крайней мере для движка браузера), а жизнеспособных альтернатив C/C++ на тот момент не было. Ну а теперь переписывать полностью на другой язык дорого, так как время - деньги и найти спецов которые знают какой нибудь Rust сложно и дорого (ну или в мозиллу обратится)
     
  • 6.377, Аноним (373), 11:39, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Абсолютно некомпетентное мнение.
     
  • 2.156, Корец (?), 19:31, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Надеюсь, что нет, а то как ты потом будешь писать забавные комменты в интернетах?
     
  • 2.164, vitalif (ok), 19:53, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты б сделал сам сначала волшебный язык, который и удобный, и безопасный, и быстрый. А потом рассказывал
     
  • 2.254, Аноним (254), 22:10, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С++, конечно, знатный уродец, но ничего другого пока нет.
     
     
  • 3.277, JL2001 (ok), 23:03, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > С++, конечно, знатный уродец, но ничего другого пока нет.

    D, rust, и остальные, с кем я мало знаком, но готовые жить на микроконтроллерах

     
     
  • 4.298, Аноним (222), 23:40, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    смысл брать C++ для микроконтроллеров? Это как бы сфера си, как и дела ядерные, драйвера и прочая близость к железу
     

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

  • 1.15, Андрей (??), 14:31, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот это поворот!
     
     
  • 2.496, Аноним (496), 09:41, 02/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мыло на шило.
     

  • 1.16, mumu (ok), 14:35, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Кастую в тред аналитиков из всех предыдущих топиков, которые любят повторять "Нужно всего лишь программировать правильно, C++ тут вовсе не при чем".
    Может соберетесь и поможете гуглу? А то гугл не способен найти нормальных программеров. Одни олимпиадники и специалисты по крышкам люков работают.
     
     
  • 2.24, Аноним (24), 14:50, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +9 +/
    http://robert.ocallahan.org/2017/07/confession-of-cc-programmer.html

    Один из крутых C++ программеров (Роберт О'Каллахан когда работал с Мозилле, то писал ядро движка Gecko, подсистему "layout") - говорит о том, что он *не может* постоянно писать безопасный код на плюсах. И ревью коллег не помогают.

    Иными словами, если чел пишет на плюсах, ты он вынужден большую часть своего времени тратить на отслеживание и проверки безопасности кода. А на остатках писать функционал. На rust черновую работу берёт на себя компилятор, хотя и ценой времени компиляции.

     
     
  • 3.44, Аноним (44), 15:37, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну плюсам не хватает safe mode какого-то.
    Вопрос знатокам можно ли в STL выстрелить себе в ногу ? Обратившись за границы массива, например ?
     
     
  • 4.49, Аноним (222), 15:46, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нет нельзя, просто берешь контейнер типа вектор, суешь в него что хочешь и итерируешь и итерируешь)
     
     
  • 5.63, red75prim (?), 16:03, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А потом в цикле делаешь push_back и хрясь граблями между глаз.
     
  • 5.126, Аноним (99), 17:28, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    std::vector<T,Allocator>::operator[]
    Returns a reference to the element at specified location pos. No bounds checking is performed.
     
     
  • 6.398, Аноним (398), 16:08, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    std::vector::at
     
  • 4.123, Аноним (99), 17:24, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    у std::vector нет обязательной проверки на допустимость границ массива https://en.cppreference.com/w/cpp/container/vector/operator_at
     
     
  • 5.136, Аноним (136), 17:58, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Допустим, она бы там была. Запросили элемент вне границ, дальше то что делать? Работать дальше, будто ничего и не было, или всё же исключение кинуть и ткнуть рожей того, кто это написал?
     
     
  • 6.154, Аноним (99), 19:21, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >дальше то что делать?

    исключение бросать

     
     
  • 7.311, Аноним (311), 00:40, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А дальше?
     
     
  • 8.416, Аноним (416), 01:50, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Обрабатывать его Как в Яве, Питоне и прочем ... текст свёрнут, показать
     
  • 6.160, коржик (?), 19:43, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >дальше то что делать?

    исключение бросать

     
  • 5.143, Аноним (143), 18:47, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С разморозкой:
    Есть at()
    https://en.cppreference.com/w/cpp/container/vector/at
    Нормальные люди пользуются итераторами или ranged-base for циклом.  
     
     
  • 6.310, Аноним (311), 00:38, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С заморозкой. В исключении что будешь делать? Прерывать работу программы, или пытаться дальше криво работать?
     
     
  • 7.329, Аноним (329), 06:43, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прерывать и слать отчёт разработчикам. А что?
     
  • 7.340, Аноним (340), 08:03, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это зависит от контекста. Универсальных правил тут нет.
     
  • 4.438, Аноним (99), 16:28, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    STL не позволяет выстрелить себе в ногу, просто программисты не умеют им пользоваться.
     
  • 3.308, Аноним (308), 00:13, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, но. В свое время java(безопасный, переносимый) должна былы исправить недостатки и заместить c/c++. Но "не шмогла". Не смогли и последователи и предшественники всегда оказывается за "безопасность" нужно чем-то платить.
     
     
  • 4.387, X5asd5 (?), 13:13, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Да, но. В свое время java(безопасный, переносимый) должна былы исправить недостатки и заместить c/c++. Но "не шмогла".

    ну потому что не в ту сторону начали "исправлять недостатки" :-) ..

    это с таким же успехом как и Java -- можно было бы и сказать что и "Microsoft Visual Basic" должен был заменить C/C++ .

     
  • 2.26, Anonymoustus (ok), 14:56, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не для того великие Томпсон и Пайк изобрели Игогошечку, чтоб жадный Гугл нанимал дорогих погромиздов, мечтающих всё переписать на Хрусте.
     
  • 2.64, Dzen Python (ok), 16:05, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не вопрос.
    - Сколько платишь за фулдей?
    - Куда мне можно будет посылать разного рода манагеров/комитеты [вплоть до генеральных] с их ВИДЕНИЕМ, невменяемым дедлайнами и кранчами?
    Остальные вопросы вытекают из этих двух.
     
     
  • 3.122, annual slayer (?), 17:22, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Dzen Python

    всё хорошо, спасибо, мы вам когда-нибудь перезвоним

     
  • 2.101, Аноним (99), 16:42, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Нужно всего лишь программировать правильно, C++ тут вовсе не при чем.
    Просто нужно нанимать правильных программистов которые не делают глупых ошибок, недопускают ub и прогоняют код через анализатор.
     
     
  • 3.114, Аноним (24), 17:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Знаешь что, правильный ты наш, когда твоя кодовая база перевалит за 10 млн. строк, в которые постоянного коммитят хотя бы 50 разработчиков - то ты зае…мучаешься программировать "правильно". Это если ты реально спец. Нуб там вообще без шансов написать нормальный код за вменяемое время.
     
     
  • 4.139, Fracta1L (ok), 18:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем ты рушишь маняфантазии диванных экспертов
     
     
  • 5.353, Lex (??), 09:04, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Невольно один из заказчиков вспомнился..

    «Тестирование !? А зачем нам тестирование - вы сразу без ошибок делайте! У нас и так сроки поджимают, на тестирование времени нет»

     
  • 4.184, Аноним (222), 20:39, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Если кодовая база 10 млн строк написанных только при помощи if и while, без классов или хотя бы функций для разделения кода на модули, то это бида конечно
     
     
  • 5.468, mail (?), 22:56, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> без классов

    С классами 10.000.000 строк кодa вообще никогда не раскуришь.

     
  • 4.401, Alex (??), 17:24, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А для этого есть CI с инструментированными автотестами
     
  • 3.332, qetuo (?), 07:44, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просто не пиши баги, и в программе их не будет!
     
     
  • 4.370, Аноним (370), 11:01, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всегда так делаю.
     
     
  • 5.402, Аноним (-), 17:36, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мы бы наняли Вас, но у нас денег нет на хороших программистов.
     
  • 5.403, Аноним (-), 17:37, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С Уважением, Гугл (Не прилипляется имя почему-то)
     

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

  • 1.19, Аноним (19), 14:41, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    может быть, таки, Rust?!
     
     
  • 2.40, iLex (ok), 15:28, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ну вот Firefox на Rust переписали. И как, меньше там уязвимостей находят, чем в Chrome? Так, может, не в языке дело?
     
     
  • 3.50, Аноним (222), 15:48, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Именно, память лиса жрать стала только больше, вот и весь Rust
     
     
  • 4.62, JL2001 (ok), 16:03, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Именно, память лиса жрать стала только больше, вот и весь Rust

    на днях обновился таки в одном месте с firefox 56 на текущий (уж очень там нужна была группировка вкладок, а в глобальный инет не ходил им)
    потребление памяти упало в 1.5-2 раза (цифры на глаз по процмонитору)
    что я сделал не так?

     
     
  • 5.107, Аноним (136), 17:02, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Отвалились расширения, которые и жрали. Это как уменьшение веса путём ампутации конечностей.
     
     
  • 6.141, Аноним (140), 18:35, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Это как уменьшение веса путём ампутации конечностей.

    Рудиментов может быть?

     
     
  • 7.142, Аноним (136), 18:44, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для кого-то и ноги рудименты. Вот они и не заметили.
     
     
  • 8.217, Michael Shigorin (ok), 21:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скорее не ноги, а мозги Впрочем, таким несложно запутаться ... текст свёрнут, показать
     
  • 8.352, Fracta1L (ok), 09:01, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вспомнился пародийный псевдодокументальный фильм ноги это атавизм , рекомендую ... текст свёрнут, показать
     
  • 6.206, JL2001 (ok), 20:57, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Отвалились расширения, которые и жрали. Это как уменьшение веса путём ампутации конечностей.

    эдоны я перед этим те, которые не смогли бы работать отключил и ставил эдоны-аналоги из современных (так-как я это дело давно начинал тыкать - они уже стояли в выключенном виде и даж смогли обновится до неких версий работая в 56 (не до последних), так что по факту у меня отвалились тока груп менеджер и класик тем ресторер

     
  • 5.188, Аноним (222), 20:43, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вот не надо гнать, если лиса в быту монолитности жрала на старте с одной вкладкой 350-380мб, то сейчас с модной многопроцессорностью сходу 500мб и в районе сотни мегов на каждую вкладку, помимо этого около сотни мегов на вспомогательные процессы лисы, так зачем врать?
     
     
  • 6.204, JL2001 (ok), 20:56, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот не надо гнать, если лиса в быту монолитности жрала на старте
    > с одной вкладкой 350-380мб, то сейчас с модной многопроцессорностью сходу 500мб
    > и в районе сотни мегов на каждую вкладку, помимо этого около
    > сотни мегов на вспомогательные процессы лисы, так зачем врать?

    не знаю про с одной, у меня около 250-300 вкладок на 4 окна
    было примерно 750+500+300+300 по процессам
    сейчас стало примерно 500+200+150+150 по процессам

     
     
  • 7.211, Аноним (222), 21:00, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Зачем ты загоняешь дичь, если сами мозилловцы сказали шо из за многопроцессорности лисичка будет кушать больше памяти на порядок? В чем смысл? Новость эта кстати здесь же
     
     
  • 8.228, Shevchuk (ok), 21:28, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ясно, понятно ... текст свёрнут, показать
     
     
  • 9.233, Аноним (222), 21:34, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тебе в килобайтах сказать для точности ... текст свёрнут, показать
     
     
  • 10.306, Shevchuk (ok), 00:03, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если с абсолютными значениями у вас так же, как с относительными, то не утруждай... текст свёрнут, показать
     
  • 6.214, FixingGunsInAir (ok), 21:05, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Может новый Firefox и жрёт больше памяти по сравнению со старым добрым, монолитн... большой текст свёрнут, показать
     
  • 6.225, Shevchuk (ok), 21:24, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вот не поленился, создал чистый профиль и открыл в нём вкладку https opennet r... большой текст свёрнут, показать
     
     
  • 7.325, Anonymoustus (ok), 02:58, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Глянул и я скуки ради И вот ведь что интересно CODE smem -tc pid name com... большой текст свёрнут, показать
     
     
  • 8.397, Shevchuk (ok), 16:06, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Подозреваю, другие процессы могут быть запущены под другим пользователем Чтобы ... текст свёрнут, показать
     
  • 6.322, cool29 (?), 01:42, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну в любом случае лисой можно пользоваться хотя бы на 8 гигах памяти. Но chromium это просто чудовище ненасытное: как-то на 8 вкладках сожрал у меня около 5 гб. После этого основной браузер у меня лиса.
     
  • 6.493, J.L. (?), 18:17, 31/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    3 вкладки, прогружена одна мелкий простой сайт ублок, уматрикс, хттпсэвревере... большой текст свёрнут, показать
     
     
  • 7.494, J.L. (?), 18:40, 31/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален понятия не имею что происходит и как это работает, фаерф... большой текст свёрнут, показать
     
     
  • 8.495, J.L. (?), 10:20, 01/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален оставил на ночь sudo smem -tc pid name command pss -P ... большой текст свёрнут, показать
     
  • 3.55, JL2001 (ok), 15:55, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну вот Firefox на Rust переписали. И как, меньше там уязвимостей находят,
    > чем в Chrome? Так, может, не в языке дело?

    те на русском вот прям в этой новости написали - 70% ошибок будет убрано если переписать на rust

     
     
  • 4.60, Аноним (222), 16:00, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Капец ты тугой, а знаешь почему большой и сложный софт пишут не на няшном C# или богоизбранной Java, а на таком обьектно-ориентированном полуассеблере как C++? Во первых скорость, во вторых память, ручное управление которой и дает эту скорость по сравнению с безопасными языками
     
     
  • 5.67, JL2001 (ok), 16:07, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Капец ты тугой, а знаешь почему большой и сложный софт пишут не
    > на няшном C# или богоизбранной Java, а на таком обьектно-ориентированном полуассеблере
    > как C++? Во первых скорость, во вторых память, ручное управление которой
    > и дает эту скорость по сравнению с безопасными языками

    капец ты тугой, а знаешь, что бенчмарки rust vs C показывают 90-110% скорости C?
    https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust.html

     
     
  • 6.71, Аноним (222), 16:12, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В синтетике и жаба при определенных условиях быстрее C++ в полтора раза и шо?
     
     
  • 7.80, Аноним (222), 16:19, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ох уж эти тесты Java vs C++, а сколько споров было шо жаба могет в 1 случае из миллиона
     
     
  • 8.89, Аноним (359), 16:30, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Джаба быстрее ассемблера , это каждый знает Интересно, а если в том кейсе где... текст свёрнут, показать
     
     
  • 9.95, Аноним (222), 16:34, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно пойти дальше и заявить что жаба быстрее самого процессора, просто цп слишк... текст свёрнут, показать
     
  • 7.118, коржик (?), 17:16, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вообще и на дотнете можно писать очень быстрый, не требовательный к памяти код. Но на проектах немного приоритеты другие, всегда стремишься к покрытию тестами и чистому коду, а так же к удобствам языка.
    Как следствие, в рантайме получаешь оверхед по динамическому диспачу и упаковке, иногда огребаешь от рефлексии (привет, автофак) и компилирующихся на лету экспрешенов (mvvm биндинги к примеру).

    Вот и получается, что дотнет медленный потому что код безотказный, поддерживаемый и не-тесно-связанный.

    А у раста с динамикой не очень, наследования там вообще нет, vtable работает через толстые ссылки и только там где надо. Весь полиморфный код можно писать через дженерики (100% статика). Гц нет. Вот этого "всё есть объект" там тоже нет. Всё что можно работает на стеке.

    И в каком месте ему тормозить? В дополнительных проверках на выход за пределы границ массива? В дополнительных проверках умных ссылок? Или в том, что проще просто взять и скопировать какое-то значение чем передавать его по ссылке чтобы заткнуть компилятор, который подозревает в каждой вашей строчке UB?

    Я склонен полагать, что продвинутый c++ разработчик сам все эти проверки вставляет, чтобы яйца себе не отстрелить. И что "правильный" код на c++ работает примерно с такой же скоростью что и раст.

     
     
  • 8.212, Аноним (222), 21:01, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем из дотнета делать C Шарпик в своей сфере просто цацка ... текст свёрнут, показать
     
  • 8.417, Аноним (416), 02:13, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее избегает доступа к массиву по индексу Например с помощью range for А ес... текст свёрнут, показать
     
  • 7.159, JL2001 (ok), 19:37, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > В синтетике и жаба при определенных условиях быстрее C++ в полтора раза
    > и шо?

    по ссылке вроде не прям чисто синтетика и не определённые условия

    да там почти все тесты быстрее C/C++ вышли - может реально потому, что на этих языках в правильном коде надо позаботится о проверках в рантайме, а в rust за тебя посчитает в момент компиляции и не будет вставлять эти проверки в код?

    зы: над исходниками не зависал, возможно я не прав

     
     
  • 8.181, Аноним (222), 20:36, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    не помнишь сколько пруфов было от джавистов как жабка рвет C в пух и прах ... текст свёрнут, показать
     
     
  • 9.241, JL2001 (ok), 21:53, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    вы как-то нездорово циклитесь на Java, она вас покусала или в детстве обидела р... текст свёрнут, показать
     
     
  • 10.248, Аноним (222), 22:01, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Java в свое время была темой насколько ожесточенных споров, что Rust и рядом не ... текст свёрнут, показать
     
  • 9.242, JL2001 (ok), 21:54, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    и что, те пруфы опровергли или таки реально рвёт, пусть и на определённых алгори... текст свёрнут, показать
     
     
  • 10.269, Аноним (222), 22:39, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    в циклах жаба рвет, ну и там где можно выжать из конкретного железа всю мощь за ... текст свёрнут, показать
     
  • 10.426, Аноним (426), 12:11, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В java есть jit, jvm в рантайме собирает статистику и делает ассемблерный блоки,... текст свёрнут, показать
     
  • 5.165, коржик (?), 19:53, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Капец ты тугой, а знаешь почему большой и сложный софт пишут не на няшном C# или богоизбранной Java,

    И да, большой и сложный софт пишут на C# и Java

     
     
  • 6.193, Аноним (222), 20:45, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пишут, но я про прикладной софт, а на шарпе и жабе как правило сервер сайд, но по сложности кода такие вещи как правило не уступают самому MSOffice, дело в другом, понимаешь железо на серверах помощнее и памяти побольше чем у среднестатистического юзера
     
  • 5.319, Аноним (319), 01:25, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > память, ручное управление которой и дает эту скорость по сравнению с безопасными языками

    Не даёт, его никто толком не умеет делать кроме хелловорлодов. Там везде умные указатели использовать должны, по идее

     
  • 3.57, Fracta1L (ok), 15:57, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Firefox на Rust переписали

    Нет

     
     
  • 4.115, Аноним (24), 17:10, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ещё нет.
    fxd =)
     
  • 3.61, Лолкек (?), 16:00, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Там несколько подсистем переписали - css движок, вроде рендерер и ещё что то.
     
     
  • 4.224, НяшМяш (ok), 21:24, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://wiki.mozilla.org/Oxidation#Shipped

    Переписали на самом деле немало, но компоненты относительно мелкие. В любом случае надо с чего-то начинать.

     
  • 3.124, Аноним (124), 17:25, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не переписали
     
  • 2.239, topin89 (ok), 21:47, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вполне может

    https://chromium-review.googlesource.com/q/project:experimental/chromium/src+b

     

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

  • 1.21, Аноним (21), 14:44, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Ну пусть перепишут С/С++ код на расте, альтернатива есть и попутного ветра им в горбатую спину.
     
     
  • 2.51, Аноним (222), 15:49, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто из стандарта C++ уже давно пора выпилить указатели, вроде в 23-ей версии собираются
     
     
  • 3.54, Аноним (222), 15:53, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И Сишный препроцессор убрать к чертям, иначе не код, а не отлаживаемый и не читаемый кусок Г получается
     
     
  • 4.245, Аноним (243), 21:58, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    +100500 Вот это да, это пора сделать.
     
  • 4.249, Michael Shigorin (ok), 22:02, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И Сишный препроцессор убрать

    Долой макросы, всё руками колотить и каждый раз в каждом месте менять!

     
     
  • 5.270, Аноним (222), 22:52, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    видимо мусье не знаком с макросами и не понимает, что их в си используют не как функции или другие способы группировки кода, а как способ метапрограммирования вместо шаблонов которых в си нет, а в C++ есть и спрашивается а нахрена в C++ макросы? инлайн функции которыми хоть как то можно оправдать макросы давно есть и в С/C++, разве что для ассемблерных вставок оставить в урезанном виде без макрофункций и дифайнов
     
  • 5.272, Аноним (222), 22:57, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    уродливые инклуды чего стоят?
     
  • 3.76, Аноним (76), 16:17, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Большей чепухи давно не видел.
     
  • 3.91, Аноним (91), 16:31, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Удаление классических указателей из C++23 - двухлетняя первоапрельская шутка
     
  • 3.94, анононимчик (?), 16:32, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И го теперь на асме надо будет с памятью напрямую работать? O_o
     
  • 3.237, topin89 (ok), 21:44, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты хоть писал на плюсах? Пользовался сишными библиотеками?

    Они и в расте есть, в небезопасных участках, ибо иначе никак порой.

     
  • 2.480, Аноним (480), 08:21, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.openhub.net/p/chrome/analyses/latest/languages_summary

    Language: C++
    Code lines: 12,188,073

    Вперед, переписывай.

     
  • 2.488, paulus (ok), 03:42, 29/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >пусть перепишут С/С++ код на расте

    им больше Java нравица... Ото жесть будет ;)  

     

  • 1.27, Андрей (??), 14:56, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    36,1% use after free

    Казалось бы, что может быть проще: free(p); p = NULL;

    А потом один раз if (p == NULL) goto out;

     
     
  • 2.28, Fracta1L (ok), 14:58, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вот именно, что казалось бы.
     
  • 2.39, Аноним (39), 15:27, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это должен делать компилятор на худой конец интерпретатор. Кодогенерация опять же.
     
     
  • 3.46, Аноним (44), 15:38, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ждем safe метаклассы для этого.
     
     
  • 4.59, JL2001 (ok), 15:59, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ждем safe метаклассы для этого.

    они уже есть - в rust

     
     
  • 5.96, анононимчик (?), 16:34, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Rust дубовый язык. C в кандалах:)
     
     
  • 6.168, Аноним (273), 20:07, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Для неосиляторов (и писателей низкоуровневых библиотек) всегда есть unsafe.
     
  • 6.170, Аноним (273), 20:11, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уместно ли тут сравнение с работой в Линуксе из-под рута по-умолчанию?
     
     
  • 7.320, Аноним (319), 01:27, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет, ибо в С++ вообще один ансейф. А в расте только где надо - т.е. как sudo
     
  • 3.78, Аноним (76), 16:19, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это должен делать программист - освободить память после использования.
     
     
  • 4.127, коржик (?), 17:28, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вот открываете вы тикет на работе, а там написано:

    "Написать программу которая хорошо освобождает память".

     
  • 4.163, JL2001 (ok), 19:47, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Это должен делать программист - освободить память после использования.

    а вы, видимо, дизайнер или менеджер? ну или строитель там...

    в общем не указывайте программисту, что он должен делать, вы не понимаете его работы

     
     
  • 5.330, Аноним (330), 06:45, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Т.е. Вы специально закладываете в программный проект критические и трудно локализуемые ошибки при работе с памятью, а именно - выделяете ее, но явно не освобождаете, либо освобождаете, но затем используете, забыв об этом, либо используете больше, чем выделяете?

    Именно поэтому пишу свой код сам.

     
     
  • 6.372, JL2001 (ok), 11:15, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Именно поэтому пишу свой код сам.

    простите, но всёж линукс/виндовс/другую прокладку между вами и железом тоже написали сами?

    остальной бред не комментирую

     
  • 5.334, Аноним (330), 07:49, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > в общем не указывайте программисту, что он должен делать

    Если я плачу деньги программисту, я именно указываю ему, что он должен делать, оформляя юридически платформу, функциональность, результаты, принадлежность исходников и прочее. В ином случае я его не нанимаю, поэтому данный вариант не рассматривается.

     
  • 3.174, заминированный тапок (ok), 20:31, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Это должен делать компилятор на худой конец интерпретатор. Кодогенерация опять же.

    ну и какой тогда нахрен zero-cost abstraction?

     
     
  • 4.250, JL2001 (ok), 22:03, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>Это должен делать компилятор на худой конец интерпретатор. Кодогенерация опять же.
    > ну и какой тогда нахрен zero-cost abstraction?

    так в рантайме ж получается zero-cost?

     
  • 2.90, Ordu (ok), 16:31, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это в простейшем случае. Но прикинь теперь, что, допустим, у тебя есть гуй, который представляется в памяти в виде дерева виджетов. Каждый виджет представлен кусоком памяти, на который в этом дереве есть ровно один указатель. Теперь представь, что среди этих виджетов есть кнопка, и ты вешаешь обработчик на эту кнопку, например, это может быть замыкание, которое захватило указатель на кусок памяти представляющий эту кнопку. Или, если нефункционально зато в стиле ООП, то это будет объект, который имеет метод onclick, и поле button, хранящее указатель на эту кнопку. Этот объект-замыкание мы засовываем в наш менеджер ивентов. И вот ты решил удалить кнопку, сделал на неё free, а тут прилетел onclick event, и объект-замыкание сделало use-after-free.
     
     
  • 3.98, анононимчик (?), 16:40, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Такие проблемы были давным давно решены и в Delphi/Pascal, и в MFC, и в Qt.
     
     
  • 4.103, Ordu (ok), 16:54, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Какие именно проблемы из перечисленных были решены Я спросил у гугла про qt u... большой текст свёрнут, показать
     
     
  • 5.419, Андрей (??), 03:20, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Где надо вызывать free -- это очень сложный вопрос, на который не всегда можно ответить статически, иногда ответ надо искать динамически.

    К счастью, в автоматизации этого направления делаются успехи. Две недели назад была новость:

    https://www.opennet.dev/opennews/art.shtml?num=52903
    > Релиз набора компиляторов GCC 10
    > Основные изменения:
    > Добавлен экспериментальный режим статического анализа "-fanalyzer", который выполняет ресурсоёмкий межпроцедурный анализ путей выполнения кода и потоков данных в программе. Режим способен на этапе компиляции выявлять такие проблемы, как ... обращение к освобождённым блокам памяти, ... Применение нового режима для кода OpenSSL уже позволило выявить опасную уязвимость. https://www.opennet.dev/opennews/art.shtml?num=52782

     
     
  • 6.420, Совершенно другой аноним (?), 08:44, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И до этого были такие программы, как cppcheck, Pvs-studio и куча других. И в clang есть встроенный статический анализатор, некоторым даже нравится, но как сказал предыдущий оратор - всё не так просто. Опять-же до C11 основным императивом языка С было - программист знает, что делает. Т.е. если хочет стрельнуть в ногу - пусть стреляет, может ему так надо. Сейчас это немного поменялось. Хотя по-мне - подход был правильный, просто при этом действительно наращивать разные анализаторы и прочее. Т.е. хотите скорость, для критичных именно по скорости вещей - вам нужен Assembler, C, C++. Нужна безопасность - берите другой язык, ту-же Java.
     
  • 6.433, Ordu (ok), 14:43, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, успехи делаются Но если ты попробуешь раст, ты увидишь где эти успехи закан... большой текст свёрнут, показать
     
     
  • 7.442, Аноним (442), 17:37, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это вот так чтоли?

    https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=61ab38

    Компилируется...

     
     
  • 8.446, Ordu (ok), 18:24, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что в этом случае борроу-чекер справляется Он в состоянии проанализирова... большой текст свёрнут, показать
     
     
  • 9.448, Аноним (442), 18:40, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конечно можно щас это всё на глупый borrow checker списать, но как до вызова нек... большой текст свёрнут, показать
     
     
  • 10.451, Ordu (ok), 19:07, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это не всегда невозможное Бывают случаи, когда я могу доказать, что создание ... большой текст свёрнут, показать
     
     
  • 11.453, Аноним (442), 19:42, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты конкретного примера пока не привел Ладно, давай я попробую что-то очевидное ... большой текст свёрнут, показать
     
     
  • 12.456, Ordu (ok), 19:56, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я привёл выше пример, про который я легко докажу, что две ссылки ссылаются на не... текст свёрнут, показать
     
  • 7.444, red75prim (?), 18:08, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И проблема тут в том, что эти N указателей могут алиаситься Делаем node 0 1 ... большой текст свёрнут, показать
     
     
  • 8.447, Аноним (442), 18:29, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И ловим косяки если будут в рантайме ... текст свёрнут, показать
     
     
  • 9.449, red75prim (?), 18:52, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дык, что написали, то и получим Хотели мутабельный алиасинг, получили мутабельн... текст свёрнут, показать
     
  • 8.450, Ordu (ok), 18:59, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я понимаю в чём проблема, и я не говорю, что нельзя выкрутится в этой ситуации ... большой текст свёрнут, показать
     
     
  • 9.452, red75prim (?), 19:22, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Cell именно что zero-cost Не тупым Информацию о том, что структура позаимствов... текст свёрнут, показать
     
     
  • 10.455, Ordu (ok), 19:51, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Именно что тупым Мне не требуется более сложной системы типов в расте, для того... большой текст свёрнут, показать
     
     
  • 11.457, red75prim (?), 20:15, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это будет не рассуждение, а натыкать вариантов для частных случаев Линейный к... большой текст свёрнут, показать
     
  • 3.169, Зз (?), 20:11, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А как это будет на Расте?
     
     
  • 4.257, растоман (?), 22:16, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > А как это будет на Расте?

    unsafe {
    тажехерня
    }

     
     
  • 5.274, Аноним (222), 23:01, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Истину глаголит
     
  • 5.285, JL2001 (ok), 23:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> А как это будет на Расте?
    > unsafe {
    > тажехерня
    > }

    https://www.opennet.dev/openforum/vsluhforumID3/120718.html#283

     
  • 4.342, Аноним (340), 08:12, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    unsafe{
        main(){
        ///весь остальной код
        }
    }
     
  • 4.383, Ordu (ok), 12:40, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Раст не позволит хранить ссылку в двух разных местах просто так. Там без явного или неявного использования unsafe не удастся выкрутится. Например, в std есть Rc, который может приделать к объекту счётчик ссылок, и при помощи unsafe он может клонировать и удалять ссылки таким образом, чтобы после удаления последней, вызвать free на объект. Если использовать Rc, то тебе самому не надо прибегать к помощи unsafe (всё это спрятано в Rc, наружу Rc выставляет safe интерфейс).

    В C++ есть shared_ptr, который делает то же самое. Разница лишь в том, что C++ с радостью позволит тебе сделать всё то же самое без shared_ptr, и получить use-after-free, в то время как rust заставит тебя обратить внимание на сложившуюся ситуацию и совершить какие-то телодвижения.

     
  • 3.341, Аноним (340), 08:11, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Объект замыкание должно отвалиться с исключением или игнорированием события, в зависимости от контекста.
     
  • 3.358, Аноним (358), 10:07, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там должен быть не указатель, а shared_ptr. И тогда в описанной ситуации обработчик обратится к объекту отключенному от дерева и у которого parent == null. Правда тут мы получим классическую утечку памяти. В идеале менеджер сообщений должен отработать только после изменения и пересчёта DOM.
     
  • 3.368, Lex (??), 10:53, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В подобных случаях( правда, на уровне того же веба и жс ) обычно на удаление вешают функцию, которая вначале очищает все обработчики событий( всм, относящиеся к конкретному объекту ) и, уже только после этого, выпиливается сам объект( мб, даже по какому-нибудь колбэку аля onDone / onSuccess, притом, с проверкой актуальности самой ссылки на удаляемый объект, т.к в вебе может и несколько запросов на удаление прилететь.. что-то где заглючило или браузер лаганул и в этот момент юзер кучу раз нажал на соотв кнопку итп )
     
  • 3.418, Андрей (??), 03:14, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > например, это может быть замыкание, которое захватило указатель на кусок памяти представляющий эту кнопку.

    Похоже, если нужно захватывать указатель, то нужно захватывать указатель на этот указатель. Если уж добвалять синтаксический сахар, так не оставлять при этом дыр.

     
     
  • 4.429, Ordu (ok), 13:39, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это усложнение, причём не только для программиста, но и для процессора чтобы ра... большой текст свёрнут, показать
     
  • 2.256, Аноним (243), 22:13, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Казалось бы, что может быть проще: free(p); p = NULL;
    >А потом один раз if (p == NULL) goto out;

    А не лучше ли было бы объявить в LibC эту free(p) deprecated и предлагать вместо неё free(&p), которая сама перед выходом делает *p = NULL; ?

     
     
  • 3.343, Аноним (340), 08:14, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это уже будет другой язык.
    С++ занято
    С# тоже
    гммм

    пусть будет
    C$

     
     
  • 4.390, Аноним (243), 14:35, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну прям, добавили/удалили фунций в библиотеку, заметьте, без внесения изменений в синтаксис языка, и вот уже новый язык.
     
  • 3.344, Аноним (344), 08:21, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а смысл, если у тебя один и тот же адрес может храниться в нескольких p?
     
     
  • 4.389, Аноним (243), 14:32, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но в таком разе и предложение от https://www.opennet.dev/openforum/vsluhforumID3/120718.html?n=%E1%CE& тоже не очень много имеет смысла.
     
  • 3.408, Аноним (442), 18:37, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, был у тебя:
    void free(void *ptr);
    А теперь будет:
    void free(void *ptr);
     
     
  • 4.424, Совершенно другой аноним (?), 09:32, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда уже:
    void freezero(void**);
     
  • 2.354, Аноним (358), 09:50, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В C++ есть std::vector, std::make_shared, std::make_unique. Вот и попробуй с ними добиться use after free. malloc и free в C++ не нужны, так как даже если нужен указатель, он может быть получен из управляемых классов.
    В Си уже не всё так просто, нужно ещё следить за копированием указателей. Ведь p = nullptr очевидно не обнулит копии указателя.
     
     
  • 3.365, Аноним (330), 10:47, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чем Вас не устраивает что-то типа

    ...

    long *x;

    ...

    x = new long [n];

    ...

    delete [] x;


    Нужен массив - выделили память (в примере не производится проверка результата - реально это нужно делать), использовали, освободили память (до выхода из функции).

     
     
  • 4.378, Аноним (373), 11:45, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тем что так писать не обязательно, можно написать безопасно.
     
  • 4.380, Аноним (358), 11:54, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    if(error) throw MyException();
    И Ваш массив навсегда остаётся в памяти. Причём эта строчка необязательно должна быть в той же функции, достаточно, чтобы программист не стал обрабатывать это исключение по незнанию или из уверенности, что его никогда не будет. finally в C++ нет! Именно по этому среди локальных переменных не должно быть ни одной, требующей ручного освобождения.
     
     
  • 5.421, Аноним (340), 08:45, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    finally можно иммитировать перехватом всех исключений и повторной генерацией.

    типа
    try{
    ...
    }catch(Exception ex)
    {
    free_arroy();
    throw ex;
    }

     
     
  • 6.423, Аноним (358), 09:19, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только вот С++ не C# и преобразование std::out_of_range в std::exception необратимо. Невозможно отправить дальше тоже исключение, что было обработано общим обработчиком. Пример http://cpp.sh/4dx7q
     
     
  • 7.481, Аноним (340), 11:31, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Какой глюк.
     

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

  • 1.30, user90 (?), 15:03, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > организацию взаимодействия кода на новом языке с кодом на С++

    This! Ну и прочие подобные перлы создают какую-то странную картину. Зоопарк? ;)

     
     
  • 2.337, Аноним (330), 07:55, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это когда вместо изучения и грамотного использования одного инструмента начинаются обвинения в низком его качестве и скачки в сторону. Если потенциальный кандидат заявляет, что "это нельзя сделать на С, в Linux etc" (подставить нужное), но можно на Delphi, Visual Basic etc (подставить нужное), на этом профессиональное общение заканчивается.
     

  • 1.33, poige (ok), 15:09, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В настоящее время
    > возможности применения данной технологии достигли предела своих
    > возможностей

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

     
  • 1.36, Eric Hartman (?), 15:22, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    Гугл сегодня одна из самых позорных шараг во всех отношениях. Они всегда делали галимый треш. Даже свой поисковик превратили в аналог зомбоящика с тотальной цензурой и рекламой.
     
     
  • 2.93, Аноним (222), 16:31, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тут плюсую, ибо я не отчего не испытывал столько боли как от использования подделий гугла
     
     
  • 3.110, Аноним (136), 17:04, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А куда ты денешься с подводной лодки? Стандартны вэба давно диктует гугол, и бабки платят тем, кто десятками мегабайт в скрипты загоняет.
     
     
  • 4.197, Аноним (222), 20:47, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    мягкие и яблоко конечно не удел
     
  • 4.213, Аноним (222), 21:05, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Современные веб-стандарты которыми ты так кичишься, чуть менее чем совсем состоят из отсебятины MS еще в бытность IE6/7
     
     
  • 5.312, Аноним (311), 00:45, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    MS уже сдался. Свой движок выкидывают.
     
     
  • 6.498, без имени (?), 09:40, 03/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лиса давно ходит прогнувшись.
     
  • 2.120, Gemorroj (ok), 17:19, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    мне думается что гугель уже переплюнул ящик в плане промывки мозгов
     
  • 2.148, Аноним (148), 19:01, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хромиум тоже относится к подделкам гугла? Он вроде как его не пилит, но все же мы понимаем, что руководит Хромиумом гугл.
     
     
  • 3.198, Аноним (222), 20:49, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Многопроцессорность говорили они, безопасность говорили они, а что мы видим в итоге тормоза, отжор памяти и все те же дыры
     
  • 3.367, Аноним (330), 10:52, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Совершенно верно. Когда мы говорим о Linux, то понимаем, что делают его не кучка гиков, а IBM.
     
  • 2.175, Аноним (175), 20:32, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да и поисковик у них какой-то странный. Лет 5 назад ещё я его предпочитал, а теперь Яша ищет лучше. Делал сайт со 100% уникальным и специфичным контентом, так яндекс на первой странице выдаёт, а гугл не до листался, всё какую-то коммерческую и ненужную дичь выводит не в тему.
     
     
  • 3.201, Аноним (222), 20:51, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Порнуху яндекс лучше ищет чем гугл, еще вопросы есть?
     
     
  • 4.317, Аноним (243), 01:13, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    DDG тоже стал неплохо искать.
     
     
  • 5.386, Аноним (-), 13:12, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Посмотрите где хостится DDG. Посмотрите кто у него Главный Партнер По Рекламе. DDG - это ручная собачка одной из самых влиятельных IT корпораций планеты.
     
     
  • 6.391, Аноним (243), 14:39, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но прон ищет, независимо от партнёров.
     
  • 4.499, без имени (?), 09:41, 03/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Смотря где ты её ищешь.
     

  • 1.37, Аноним (39), 15:26, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Прав был Фрактал.
     
     
  • 2.379, Аноним (373), 11:48, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Сам себя не похвалишь — никто не похвалит.
     

  • 1.52, d (??), 15:49, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Имхо проблема не в языках, а в x86, arm и им подобным.
     
     
  • 2.149, Аноним (148), 19:02, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Обоснуйте. Можно более развёрнутый комментарий? :)
     
     
  • 3.276, Аноним (243), 23:02, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Даёшь систему команд без косвенной адресации! Это избавит от необходимости низкоуровневой работы с памятью. :)
     

  • 1.58, Dzen Python (ok), 15:57, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    "Сделаем хром жирнее и медленнее again"?
    А чтобы юзвери не рыдали - нарисуем им красивую инфографику, что ай-яй-яй, дыры-память-указатели! И не программисты же виноваты, что не могут сделать пару malloc()-free() или new()-delete(), в творческом порыве насирания кода, это все неправильные языки [которые принудительно не отслеживают время жизни указателей в куче и не могут предугадать любой сценарийй мемаллока] и плохие компиляторы [которые понимают адресную арифметику и позволяют собирать красивый и быстрый код, вместо подтирания мочи за "погромистами"-быдлокодерами].
     
  • 1.72, Да ну вас нахрен (?), 16:13, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Использование библиотек для безопасной работы с памятью является наиболее простым, но и менее эффективным способом. Переписывание же кода на Rust оценивается как наиболее эффективный, но и очень дорогой путь.

    Так и какое заключение то? Что выберет Google?

     
     
  • 2.190, FixingGunsInAir (ok), 20:44, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пока это всё разговорчики. Признание проблемы. Теперь они ещё несколько месяцев будут решать, куда двигаться.
     

  • 1.81, Аноним (76), 16:20, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дай скажу гипотезу. Программисты Microsoft в Google перешли?
     
     
  • 2.202, Аноним (222), 20:53, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    чиво? Гугл даже пеинт и косынку не может запилить, о чем речь?
     

  • 1.112, Онаним (?), 17:07, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    [sarcasm mode on]
    Слабо хромиум на электроне переписать?
    [sarcasm mode off]
    Ну или на хрусте хотя бы.
     
     
  • 2.130, proninyaroslav (ok), 17:34, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Слабо хромиум на электроне переписать?

    Тогда получится бесконечная рекурсия

     
     
  • 3.183, FixingGunsInAir (ok), 20:39, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Pypy же как-то справляется с ней.
     
  • 2.203, Аноним (222), 20:54, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Всмысле нельзя, если электрон на базе хрома?
     

  • 1.121, Райзер (?), 17:22, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    MS тужится родить свой форк Rust, возможно его будут использовать для переписывания библиотек
     
     
  • 2.178, FixingGunsInAir (ok), 20:34, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пруфы/линк?
     
     
  • 3.191, Аноним (191), 20:44, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://www.opennet.dev/opennews/art.shtml?num=51966
     
  • 2.205, Аноним (222), 20:56, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное патентных претензий мозиллы боится MS? Не смешите меня пожалуйста... Очередной экспериментальный язык по типу зайдет не зайдет, как F# и КВАНТОВЫЙ Q#, ну такое
     

  • 1.131, Nopomuk (?), 17:40, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    "Вызваны ошибками при работе с памятью" он вообще умеет с ней работать???
     
     
  • 2.179, FixingGunsInAir (ok), 20:35, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Chromium - да. Люди, которые его пишут, скорее всего - нет.
     

  • 1.135, Вы забыли заполнить поле Name (?), 17:55, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Авторы chromium пришли с посланием... Но анонимы опеннета не поняли его.

    Короче, копите деньги на память. В ближайшем будущем она вам понадобиться.

     
     
  • 2.144, Аноним (136), 18:47, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >ться.

    Расстрелять. Два раза.

     
     
  • 3.145, Аноним (145), 18:52, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Может понадобиться
     
  • 3.152, Аноним (148), 19:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, но ты память всё равно купи))
     
  • 2.167, th3m3 (ok), 19:58, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >Короче, копите деньги на память

    Зачем? Когда есть Firefox.

     
     
  • 3.404, Нолекс (?), 17:45, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Его в попытках сделать Firefox OS тоже уже давно сломали. А что-то путное сделать так и не шмогли...
     
  • 2.316, Аноним (243), 01:12, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Короче, копите деньги на память. В ближайшем будущем она вам понадобиться.

    Понадобится гораздо раньше из-за мартышколюбви к Electron.

     

  • 1.166, th3m3 (ok), 19:57, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Теперь до некоторых дойдёт, зачем Firefox на Rust перешёл?
     
     
  • 2.216, Аноним (222), 21:08, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем?
     
  • 2.279, Аноним (243), 23:05, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    С++ придумали не они.
     
     
  • 3.284, Аноним (222), 23:08, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    C++ вообще вещь в себе, создавался как костыль к Си, таким и остается до сих пор, правда с оговоркой что стал костылем всего и вся
     
  • 3.294, JL2001 (ok), 23:33, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > С++ придумали не они.

    ах если бы из-за этого все, кто не придумал C++, перешли на rust - было бы чудно

     
     
  • 4.297, Аноним (222), 23:37, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Haskell технологичнее раста
     
     
  • 5.327, Аноним (327), 04:07, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я пока не добрался до Haskell, да и о функциональщине пока имею только общее представление, но насколько знаю, он совсем не zero-cost, имеет GC и непредсказуем по производительности. А так да, будет круто, если мы однажды доживем до времени, когда компиляторы функциональных языков будут собирать оптимальный машинный код и можно будет писать кроссплатформенные программы на функциональных языках, агностичных к архитектуре компьютера. Но пока, мне кажется, это все еще исследовательское направление, а Rust как промежуточный шаг: он уже впитал в себя горы функциональных концепций в сравнении с другими императивными языками.
     
  • 5.384, user (??), 12:59, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Слишкам радикальное изменение, лучше начать с Ocaml. Он точно подходит для 90% браузера.
     
     
  • 6.393, Аноним (393), 15:23, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну как бы Rust изначально и был диалектом ML, а его первый компилятор был написан на OCaml. Но понятно, что опеннетовскому илитарию на все это пофиг, потому что Rust - модный и молодежный, а значит автоматически не тру, OCaml - нишевый и малоизвестный, а значит автоматически тру. Ясно-понятно. И кто тут еще хипстер?
     
  • 2.281, Аноним (222), 23:07, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    От крестов не уйти, не спрятаться, они найдут тебя и накажут за все...
     

  • 1.176, FixingGunsInAir (ok), 20:32, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    4 слова: С++ in a nutshell

    или опасности ручного управления памятью человеками.

    Даже в CLR, если бы на нём написали движок, было бы меньше дыр.

     
     
  • 2.218, Аноним (222), 21:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    шарпик в unsafe позволяет долбится в указатели не хуже крестов
     
     
  • 3.221, FixingGunsInAir (ok), 21:17, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > шарпик в unsafe позволяет долбится в указатели не хуже крестов

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

    Реализовав банальный IDispose нормально, можно большинство таких проблем избежать.

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

     
     
  • 4.227, Аноним (222), 21:26, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так и я про это же, что не нужно превращать шапр в кресты, если есть кресты, у шарпа своя огромная ниша
     
     
  • 5.407, коржик (?), 18:32, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    n лет пишу под дотнет, ни разу в unsafe не вляпался. Ни разу не напоролся на UB, разве что только численное переполнение и многопоточка. Но это другая история.

    Вот сейчас сижу и думаю, как люди вообще живут с UB. Какие нервы нужно иметь чтобы бороться с ним.

     
  • 5.413, FixingGunsInAir (ok), 20:15, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы так говорите, словно, если представить сферическую реализацию движка в вакууме на C#, без unsafe в более чем половине классов, этого сделать нельзя.
     
  • 4.375, Аноним (375), 11:37, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А класс Marhall тебе зачем, тогда?
     
  • 3.265, Аноним (243), 22:31, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто в Rust нет unsafe.
     
     
  • 4.283, JL2001 (ok), 23:08, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Как будто в Rust нет unsafe.

    в Java тоже есть и в C# - только все прикладники и весь энтерпрайз его в жизни не встречал, и в rust так же будет

     
     
  • 5.287, Аноним (222), 23:12, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну так товарищ выше не шарит шо есть низкоуровневые либы которые пишутся на сях и крестах, а есть высокоуровневые ЯП которые их юзают через стандартные обвязки, иначе говоря прикладник практически никогда не будет копаться в кишках либ, а только их юзать
     
  • 2.282, Аноним (282), 23:07, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А че хаять ручное управление памятью При нем хотя бы высвобождение аллоцированн... большой текст свёрнут, показать
     
     
  • 3.293, Аноним (222), 23:33, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просто растоманы не понимают, что для каждой сферы свой инструмент... Нужно тебе постоянно общаться с си-кодом напрямую без магических unsafe бери C++, хочешь писать быстро и выдавать производительный код бери Java/C#, хочешь писать еще быстрее, но более медленный код, бери пистон или пых(МИНЗДРАВ НЕ РЕКОМЕНДУЕТ), хочешь писать скрипты для линух бери bash, но ни как не C++, а если тебе нужно таблички почекать бери awk
     
     
  • 4.422, Аноним (340), 08:51, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    и получается 100500 зависимостей по библиотекам, которые, по сути, детают одно и тоже.
     
  • 3.299, JL2001 (ok), 23:43, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Уж точно лучше,
    > чем ситуация на работе, когда Teamcity CI после суток аптайма мог
    > уйти в denial of service на 15-20 минут в разгар рабочего
    > дня. Спрашиваем у дево псов, че такое, отвечают что у JVM
    > GC случится stop-the-world, чет-то там собирает, ждите.

    чёт мне подсказывает, что ваши девопсы вам напиз^w обманули

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

     

  • 1.186, Аноним (186), 20:40, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сказочный д..указатель
     
  • 1.192, Оно им (?), 20:45, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ни одного нормального браузера не осталось... :(
     
     
  • 2.219, Аноним (222), 21:09, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Safari на WebKit наше все
     
     
  • 3.234, Оно им (?), 21:38, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну неее... Не кашерно.
     
  • 3.235, Нонон (?), 21:41, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Сафари? Он же второй IE
     
     
  • 4.238, Аноним (222), 21:46, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Закрытый или фичи свои? Вроде нет
     
     
  • 5.247, th3m3 (ok), 22:01, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они любят пилить свои стандарты, а общепринятые - плохо поддерживают. В итоге, все браузеры умеют, а Сафари не торопится поддерживать, что умеют другие, пилит что-то своё. Поэтому, он сейчас занимает трон IE.
     
     
  • 6.252, Аноним (222), 22:04, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    HTML5 и CSS3 поддерживают, ECMAScript в последних редакция поддерживают, HTTP всех версий заверенных нотариальным скриншотом IETF поддерживают... Чего тебе еще надо?
     
  • 3.260, Аноним (243), 22:28, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Safari - код закрыт. Значит, оно только ваше.
     
     
  • 4.262, Аноним (222), 22:29, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Chrome код закрыт и шо?
     
     
  • 5.267, Аноним (243), 22:35, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Chromium открыт.
     
     
  • 6.271, Аноним (222), 22:54, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    WebKit открыт
     
     
  • 7.280, Аноним (243), 23:06, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но в стагнации.
     
     
  • 8.295, Аноним (222), 23:34, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Apple переходит на Blink ... текст свёрнут, показать
     
  • 8.296, Аноним (222), 23:35, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Apple стагнирует ... текст свёрнут, показать
     
     
  • 9.314, Аноним (243), 01:02, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какое мне дело до вашего Яббла А по поводу движков Открываю в браузере на QtWe... текст свёрнут, показать
     
     
  • 10.321, Аноним (321), 01:31, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Он сильно с другой архитектурой QtWebkit не так уж и плох, но там придется мног... текст свёрнут, показать
     
  • 10.323, Аноним (222), 02:09, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ого, ну если Qt перешел на Blink в качестве КОМПОНЕНТА для отображения веб-содер... текст свёрнут, показать
     
     
  • 11.411, Аноним84701 (ok), 19:28, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что э-э-э с разморозкой Вас https www opennet ru opennews art ... текст свёрнут, показать
     
  • 10.324, Аноним (222), 02:32, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Приведенный тобой сайт шляпа полная, я только зашел и оказывается chrome не подд... текст свёрнут, показать
     

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

  • 1.259, Аноним (243), 22:25, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Гугелю бы присмотреться к D. Границы массивов в нём проверяются, тоже есть @safe. В последнюю версию 2.092 эталоннго компилятора добавили владение/заимствование. Зато, в отличие от Rust, у него с синтаксисом и объектностью всё красиво.
     
     
  • 2.264, Вы забыли заполнить поле Name (?), 22:31, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Александреску, залогинтесь.
     
     
  • 3.266, Аноним (243), 22:32, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Александреску же ушёл из проекта год назад.
     
     
  • 4.286, JL2001 (ok), 23:11, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Александреску же ушёл из проекта год назад.

    а куда ушёл?

     
     
  • 5.289, Аноним (243), 23:20, 24/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наверное, неточно выразился: "Андрей Александреску покинул пост заместителя руководителя отдела языка программирования D" https://habr.com/ru/post/471950/
     
  • 2.458, burjui (ok), 20:16, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С синтаксисом всё нормально, ага Положим, мы хотим написать код с теми же свойс... большой текст свёрнут, показать
     

  • 1.261, Вы забыли заполнить поле Name (?), 22:29, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Новость от гугла попахивет желтизной. Не хватает конкретной информации о том, где именно были проблемы. Просто кодовая база довольно большая с большим кол-вом сторонних библиотек и от перехода на прикладного код на rust тот же openssl не станет безопаснее.
     
     
  • 2.318, Аноним (321), 01:18, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ага, новость шикарная. Все проблемы хрома - other, other-memory-related и use after free. Очень содержательная классификация!

    Пускай хоть на питоне переписывают, раз такие смелые... запасаемся попкорном.

     

  • 1.300, dmitriygessus (ok), 23:43, 24/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Разработчики проекта Chromium проанализировали 912 опасных и критических уязвимостей,
    > выявленных в  стабильных выпусках Chrome с 2015 года, и пришли
    > к выводу, что 70% из них были вызваны небезопасной работой с
    > памятью (ошибками, при работе с указателями в коде на  C/C++).
    > Половина из данных проблем (36.1%) вызвана обращениями к буферу, после освобождения
    > связанной с ним памяти (use-after-free)...
    > Подробнее: https://www.opennet.dev/opennews/art.shtml?num=53019

    Чем больше компания, тем больше проблем, гуглом крайне редко пользуюсь, больше яндексом и мазилой, дело не в безопасности, просто поиск оставляет желать лучшего

     
  • 1.315, Ilya Indigo (ok), 01:03, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > 70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью

    %{Подавляющее большинство} проблем с безопасностью в %{любое ПО} вызваны ошибками при работе с памятью.

    И что сказать-то этой новостью хотел Гугл?

     
     
  • 2.369, JL2001 (ok), 10:56, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> 70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью
    > %{Подавляющее большинство} проблем с безопасностью в %{любое ПО} вызваны ошибками при работе
    > с памятью.
    > И что сказать-то этой новостью хотел Гугл?

    что C/C++ так себе и надо брать что-то другое

    зы: *любое ПО на C/C++

     
     
  • 3.381, Аноним (373), 11:57, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На C++ и даже на C — можно писать безопасно, проблема google в старой кодовой базе в которой код написан как не попадя и переписывать они видимо не хотят.
     
     
  • 4.445, red75prim (?), 18:15, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да что там, даже на ассемблере можно писать безопасно. Главное найти эталонных программистов. А с этим сложности. Если их достать из фирменной вакуумной упаковки с надписью "УМВР", то они быстро портятся.
     

  • 1.328, Аноним (328), 05:59, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Rust не бывает без unsafe, так что будут те же 70% ошибок с памятью, но в unsafe-коде. И да, в стандартной библиотеке он тоже есть, так что всякие #![forbid_unsafe] для основного крейта не считаются.
     
     
  • 2.371, JL2001 (ok), 11:12, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Rust не бывает без unsafe

    бывает без

    > так что будут те же 70% ошибок
    > с памятью, но в unsafe-коде.

    искать ошибки гораздо проще в 10 строках чем в 100500 строках в 105 файлах

    > И да, в стандартной библиотеке он
    > тоже есть, так что всякие #![forbid_unsafe] для основного крейта не считаются.

    у вас жаваскриптеры пишут на C, так как интерпретатор JS использует libc

     
  • 2.382, Аноним (373), 11:59, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Именно так, первое что сделают гуглопрограмисты — это понатыкают везде unsafe и через 5 лет будет такая же статья уже про rust.
     

  • 1.348, Сишник (?), 08:44, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можно ж для любого языка с указателями сделать borrow cheker как в расте и рефакторить по кусочкам, дёшево и надёжно.
     
     
  • 2.392, JL2001 (ok), 14:49, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно ж для любого языка с указателями сделать borrow cheker как в
    > расте и рефакторить по кусочкам, дёшево и надёжно.

    в rust это в момент компиляции считается почти во всех случаях
    так можно сделать для любого языка с указателями?

     
     
  • 3.394, Аноним (394), 15:28, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > почти во всех случаях

    Если «почти во всех случаях», то очевидно что да, разница будет только в количестве этих случаев.

     
  • 2.459, burjui (ok), 20:23, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так что же тогда его не сделают для C++? Не потому ли, что это потребует тотальной переработки языка с выбрасыванием legacy и сломает почти все приплюснутые проекты так, что придётся переписывать больше половины кода?
     
     
  • 3.467, Сишник (?), 22:43, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Естественно, код придётся переписывать, но не на другой язык и не весь сразу. Отдельный от компилятора чекер может выборочно исходники проверять, соответственно будет safe и unsafe часть проекта, прямо как известно где.
     

  • 1.362, Аноним (358), 10:41, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > 70% из них были вызваны небезопасной работой с
    > памятью (ошибками, при работе с указателями в коде на  C/C++).

    Однако забыли упомянуть, что абсолютное большинство этих дыр появились из за новомодных фич, которым в обозревателе интернета не место. FileAPI,WebRTC,Video,Audio кодеки,Sqlite и т.д.

     
  • 1.366, Аноним (366), 10:47, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Выкинуть JIT и использовать нормальные ядра ОС.
     
  • 1.385, bOOster (ok), 13:12, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Блин, пока корпорации не вернут профессиональных программистов в разработку, хотя-бы на контроль кода можно будет цитировать только басню Крылова с оконцовкой
    «Чтоб музыкантом быть, так надобно уменье
                       И уши ваших понежней, —
                       Им отвечает Соловей, —
                       А вы, друзья, как ни садитесь,
                       Всё в музыканты не годитесь».

    И все эти дрязги с рустом и т.п. как раз напоминают пересаживание с места на место. Прям как в басне.

     
     
  • 2.395, Аноним (395), 15:47, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Каких "профессиональных"?
    Более профессиональных чем написали дыру Heartbleed в OpenSSL?
    Или в memcpy для Glibc (ARM)?
    Или в FreeBSD (недавно целая пачка была, большая часть из-за памяти)?
    Или... или... да ведь тысячи их!

    Потому что каждый раз когда такая лажа случается, сразу начинается "это не настоящий C++ программист, вот настоящий бы сделал все правильно!"

     
     
  • 3.460, burjui (ok), 20:38, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Некоторые особо приплюснутые мне напоминают драчунов-теоретиков, которые верят в эффективность айкидо в уличной драке и изучают ножевой бой. В голове у них - сплошь влажные фантазии об идеальных героях из художественной литературы, которые всё всегда делают правильно. Вот придёт настоящий программист - и всё-всё напишет так правильно, что не будет ни одного бага, а код будет легко читаем, быстр и легко расширяем. Осталось только его найти. А лучше десятка два, чтобы проект дошёл до альфы чуть ранее, чем через 30 лет.
     

  • 1.396, Аноним (398), 16:04, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    потому что обезьянки не умеют с памятью. а не c\C++ они толко свой *script могут.
     
  • 1.400, Аноним (400), 16:37, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    не перепишут на rust,  нет ни виджетов ни инфраструктуры, толко на вставки rust и годится
     
     
  • 2.428, Аноним (-), 13:28, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Главное, что раст, как показала уже многолетняя практика, подходит для больших проектов не лучше, чем Си.
     
     
  • 3.461, burjui (ok), 20:39, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Аргументируйте, будьте так любезны.
     
     
  • 4.466, Аноним (-), 22:30, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Посмотри на флагманский растопроект - вечнонедоделанный падучий бажный servo. Остальные не лучше. Всё, что больше небольшой библиотечки - такое.
     

  • 1.405, Нолекс (?), 18:12, 25/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Давно бы свалил на Midori или NetSurf (вчера, кстати вышла 3.10), если бы не нужда по работе в некоторых дополнениях...

    Что FF, что Chrome раздуют браузер до неполноценной ОС, а потом жалуются...

    Дональд наш Кнут про что говорил? Не можешь за раз воспринять файл с исходным кодом - разбей на несколько более мелких кусков, внимательно прочитай и изучи. Причём тут язык программирования?

    А этих макак, пишущих в режиме онлайн по десятку одновременно в одном текстовом редакторе я вообще не понимаю... Если равнозначны и ответственны все, значит не ответственен никто. И нафиг нужна такая разработка?

    Спору нет, языки с чистильщиками памяти найдут своё применение. Но почему бы тогда сразу не использовать интерпретаторы? Тот же мышезмей (Python) имеет привязки чуть ли не к каждому пакету GNU. Bash вообще родной для *nix. Нет, нам надо выпендриться и использовать что-то инородное...

    На дотнет пусть переходят. Приспичит, форкану нужные мне плагины под один из вышеупомянутых и пересяду. Задолбали эти сопли. Шёл 2 десяток 21 века...

     
     
  • 2.412, Оно им (?), 20:09, 25/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, Мидори до нормального браузера ещё как до Луны. Бажное нестабильное поделие.
    Есть еще подобное - Выдра и Орёл. Нерасширяемые кривые поделки. Которые даже работать адекватно не могут в современном вэбе.
     

  • 1.425, Аноним (425), 10:21, 26/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Какие, нафиг, 171 Разработчики проекта Chromium 187 Это 171 Chromium secu... большой текст свёрнут, показать
     
  • 1.427, Аноним (-), 13:24, 26/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такое впечатление, что уволенные из Мозиллы по причине финансовых проблем разработчики, которые так и не смогли переписать больше пары процентов кода лисы на расте, просто хотят устроиться в Гугл.
     
     
  • 2.431, Anonim (??), 14:07, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, хотят. Там зарплаты больше.
     

  • 1.430, Аноним (-), 13:41, 26/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Саттера слушать не хотят, хотят продолжать плевать на лучшие практики и писать на своём недоC++ без исключений и с raw-указателями. https://pspdfkit.com/blog/2020/the-cpp-lifetime-profile/
     
  • 1.432, Anonim (??), 14:37, 26/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сейчас вообще перестали мочь писать код грамотно, минимальным по весу, по размеру, по жручести, никто за собой не подчищает, не оптимизирует. Раздуют программу, как дирижабль. И хрен с ним, и так схавают.
    Тока давай обновления строчить каждый день. Не до оптимизации тут.
     
     
  • 2.462, burjui (ok), 21:04, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вам не приходило в голову, что современное ПО намного функциональнее и сложнее, ... большой текст свёрнут, показать
     
     
  • 3.482, Anonim (??), 20:42, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вот поэтому и имеем то что имеем. И с каждым годом все хуже и хуже. С точки зрения качества и изготовления. Такие "блага цивилизации" с суперпуперфункционалом, который не нужен и половине пользователей. Но зато хорошее оправдание постоянных дыр, заплаток, патчей, багов и т.д. Ну как же, всё же усложняется. Только ответственность и качество работы не улучшаются. И нормального классического вэба давно нет. Там где появляются "продвинутый функционал и блага" всё почему-то превращается в помойку. :)
     
     
  • 4.483, burjui (ok), 21:05, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Главная причина превращения софта в помойку - капитализм. В условиях рынка заниматься полировкой кода невыгодно, ведь на это нужно время, которое можно потратить на прикручивание очередной фичи. Если улучшения не видны невооружённым глазом, дядя с деньгами будет недоволен производительностью разраба и предпочтёт нанять вместо него двух говнокодеров за те же деньги, которые будут молча пилить столько фич, сколько требуется для завлечения новых лохов, то есть, я хотел сказать, пользователей.

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

     
     
  • 5.484, Michael Shigorin (ok), 21:37, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Главная причина превращения софта в помойку - капитализм.

    А железа -- социализм?  Напомнить, как у нас практически железа-то не осталось своего?..

    Ох уж мне эти политиканы мамкины.

     
     
  • 6.485, burjui (ok), 21:48, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Напомните, интересно.
     
     
  • 7.486, Michael Shigorin (ok), 22:06, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Напомните, интересно.

    1967 год, замена своих разработок клонами (СМ и ЕС)... по сути выжил тогда только эльбрус, и то благодаря военным.

    См., скажем, http://www.olap.ru/home.asp?artId=2148

     

  • 1.434, Аноним (99), 16:07, 26/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    пусть перепишут хром на единственном нормальном языке программирования, на C#
     
     
  • 2.439, Аноним (439), 16:51, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо, интернет эксплорер они уже переписали.
     
  • 2.441, Аноним (441), 17:14, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, посмеялся
     
  • 2.476, Аноним (476), 12:59, 27/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, и ОС тоже. А потом пусть сами на нее свалят и там этим всем пользуются.
     

  • 1.440, Аноним (441), 17:14, 26/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Все говорят что раст безопаснее, но никто не говорит почему. Борроу чеккер не допилили, больше причин почему он безопаснее С++ я не знаю.
     
     
  • 2.443, Аноним (439), 17:56, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А чего там в борроу чекере не доделано? Там другая проблема: этот борроу чекер настолько замусорил синтаксис и усложнил язык, что он может претендовать на звание самого ужасного и неудобного. При том, что там даже нет ни исключений, ни наследования поведения (читай ООП).
     
     
  • 3.463, burjui (ok), 21:30, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да не особо усложнил, честно говоря. Использовать ссылки везде и всюду никто не заставляет, и часто с точки зрения логики алгоритма или производительности это даже не имеет смысла. В подавляющем большинстве случаев никаких затруднений borrow checker не вызывает, просто у него довольно крутая кривая обучения, но это лечится практикой. Я уже давно пишу правильный с его точки зрения код на автомате, а если он иногда и грозит пальцем, то это стопроцентно мой косяк, который в том же C++ просто молча выстрелит в ногу, и не обязательно сразу. Короче, обычный навык, который нужно тренировать.
     
  • 2.464, burjui (ok), 21:50, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кто "все"? В официальной документации предельно понятно разжёвано, как и почему. Просто вам лень читать, и у вас предвзятое мнение о языке, не в последнюю очередь сформированное местными консерваторами и мифическими гуру C++, для которых всё новое - говно для вебмакак. Другой синтаксис - глаза вытекают, другая идеология - вытекают мозги. Лучше ведь сидеть на жопе ровно и следующие 10 лет бодро шагать по граблям привычным маршрутом. Зато можно хвастаться, как ты ловко умеешь от них уворачиваться, вдыхая аромат очередной свеженапечатанной книги "55 секретов профессионального граблехода".
     
     
  • 3.465, Аноним (-), 22:22, 26/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чувак, ты в курсе сколько между C++98 и С++20 было редакций стандарта C++ и в чем они заключались? Когда твой раст наберет хотя-бы десятую часть кодовой базы плюсов, при этом не потеряв способность меняться и приобретать новые свойства, сохраняя преемственность, тогда и поговорим.
     
     
  • 4.502, Аноним (502), 23:08, 20/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В Расте для этого есть редакции (Editions). Подобное хотят притащить к себе плюсовики, в виде эпох (Epochs).
     

  • 1.477, Аноним (-), 15:04, 27/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Если бы Раст имел лицензию GPL v3+, то Гугл бы и не посмотрел в его сторону. Раст пермиссивен поэтому нравится копирастам.
     
     
  • 2.478, Аноним84701 (ok), 17:10, 27/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если бы Раст имел лицензию GPL v3+, то Гугл бы и не посмотрел в его сторону. Раст пермиссивен поэтому нравится копирастам.

    А можно с этого момента поподробнее, о мудрый и всезнающий неномерной тезка?
    https://github.com/sapir/gcc-rust
    > Rust frontend for GCC

    https://github.com/sapir/gcc-rust/blob/rust/COPYING3
    > GNU GENERAL PUBLIC LICENSE
    >  Version 3, 29 June 2007

     
     
  • 3.479, burjui (ok), 01:45, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Во-первых, это лицензия этого конкретного фронтенда, а не rustc и иже с ними.

    Во-вторых:
    "This is currently at a very early stage. At the time of writing, it can compile trivial functions, like:
    fn my_function(x: i32) -> i32 { x }
    But most language features don't work yet."
    То есть, практически неюзабельно.

    В-третьих, лицензия Rust потому и называется пермиссивной, что снимает обязательства по открытию кода производных работ, так что взять пермиссивные сорцы и сделать из них GPL-продукт можно, но наоборот нельзя. На это и указывает комментатор выше. Впрочем, я с ним несогласен, т.к. тот же Linux используется Google'ом, при этом имея лицензию GPL. Просто у них уже трещины в черепе от плюсовых граблей.

     

  • 1.492, JL2001 (ok), 13:26, 31/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    попалась статья несколько расширяющая/объясняющая термин "безопасность rust"
    https://habr.com/ru/post/492410/
     

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



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

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