LINUX.ORG.RU
ФорумTalks

70% багов в Chrome из-за неверной работы с памятью

 , , ,


1

4

https://www.chromium.org/Home/chromium-security/memory-safety

Не прошло и года с последних откровений: Про статическую типизацию и безопасный доступ к памяти, как гугл пришёл к тем же выводам, что и MS.

Что на это скажут приверженцы «они просто не умеют писать на C/C++», «в C++ тоже есть умные указатели, зачем вам этот раст» и «понанимали дебилов»?

Из интересного, они рассматривают вариант использования своей/патченой std и бан сырых указателей на уровне компилятора.

★★★★★

Последнее исправление: RazrFalcon (всего исправлений: 1)
Ответ на: комментарий от ugoday

я компоную языки не по их уровневости, а как «языки для старперов» и «стильно, модно, молодежно».

Большинство старых продуктов написаны в синхронном однопоточном стиле. Это имело смысл во времена PDP-11, но сейчас принято делать по другому.

Тоесть nginx работает бедняга в один поток? :)

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

«языки для старперов» и «стильно, модно, молодежно».

Ну, тогда нужно делить на С и всё остальное.

Тоесть nginx работает бедняга в один поток? :)

А вы случайно не пытаетесь на примере одной белой вороны доказать, что чёрных вообще не существует?

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

причем тут белая ворона. треды и форки уже успешно использовали когда нас с вами еще и в планах не было. Астериск конечно то еще говно в некоторых аспектах, но и там уже давно все распаралелено. Даже в опенбсд для мамонтов нат работает в мультитреде :)

Белая ворона это скорее всего наоборот, те, кто до сих пор еще не умеет мультитред если это нужно.

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

треды и форки уже успешно использовали

Равно как и финансовые расчёты успешно делали на коболе, а математические — на фортране. То, что какая-то задача в принципе может быть решена с помощью инструмента в общем виде не является аргументом в его пользу. Нужно рассматривать совокупность факторов: цену владения, скорость и удобство работы и т.д. и т.п.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

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

И это почти везде так в рыночной экономике и ентерпрайзе...

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

А вообще растабои какие-то обиженные - впечатление что Раст им нужен не для программирования а как некий объект с помощью которого можно в интернете изливать свою обиду на ++ (хотя многие, имхо подавляющее большинство) ++ даже не то что не использовало ни разу, но даже и теоретически о нём мало что знает - в итоге их мнение о ++ на столько же объективно как мнение Торвальдса о ++ :)

bonta ★★★★★
()
Последнее исправление: bonta (всего исправлений: 1)
Ответ на: комментарий от bonta

Проблему некачественного программного обеспечения можно решать социально-административными (процессы, тесты etc), либо техническими (типизация, автоматическое управление памятью etc) средствами. Вы утверждаете, что процессы в Гугле отстойные и это не изменить, но и rust’ом пользоваться тоже не надо. Ладно-хорошо, а вывод-то какой, как задачу решать будем?

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Задачу решать - да просто отменить все сроки и дедлайны, поставить цели делать вдумчиво и оптимально. Конечно не понятно откуда брать деньги на это :)

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

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

А вот грубо говоря когда весь софт напишут и нечего будет уже писать - вот возможно тогда как раз задумаются про исправление накопившихся за век ошибок.

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

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

bonta ★★★★★
()
Последнее исправление: bonta (всего исправлений: 1)
Ответ на: комментарий от bonta

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

Подростки, что возьмешь. Всем в 16 лет не терпится изливать.

bread
()
Ответ на: комментарий от bonta

Задачу решать - да просто отменить все сроки и дедлайны

Боюсь, если я предложу это своему менеджеру, он посмотрит на меня так, как если бы я предложил назвать следующий выпуск «Адольф Гитлер» в честь дедушки.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

ты от темы то ушел. Ты говорил что все «говно мамонта» работает в один поток, а когда я написал что треды, то ты перепрыгнул на цену владения, скорость итд.

рассматривать цену владения «в вакуме» нереально. но я сомневаюсь, что сишник будет просить приличную зарплату, а растоман – на пакет доширака. Все будут хотеть жить примерно одинаково.

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

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

Ты говорил что все «говно мамонта» работает в один поток

Вы ошибаетесь, но я не виню вас в этом. Вы невнимательно прочитали мой комментарий или же были сильно на своей волне. В результате «большинство» превратилось во «все». А ведь это был сравнительно простой текст на русском языке. Вот за тем, чтобы помочь людям избежать таких проблем и нужны безопасные языки.

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

Если в Виларибо уже выкатили новую версию, а в Вилабаджо всё ещё ищут кто испортил память, то перевод сишников на хлеб и воду уже ничему не поможет.

ugoday ★★★★★
()
Ответ на: комментарий от RazrFalcon

Вы хотите сказать что на расте без унсейф можно переписать ++ код и это будет не медленнее? Тогда зачем для раста придуман унсейф? Не для производителтности а для какой-то гибкости?

bonta ★★★★★
()
Ответ на: комментарий от bonta

Для изоляции кусков кода, безопасность которых компилятор не может вывести сам. Для чего это применяется, зависит от ситуации. Может для скорости, может чтобы memory-mapped регистры дёргать.

red75prim ★★★
()
Ответ на: комментарий от RazrFalcon

с единственным браузером.

«Кому и кобыла невеста» (с).

Hertz ★★★★★
()
Ответ на: комментарий от ugoday

вы спрыгиваете с темы, подменяете понятия да еще и говорите без пруфов. Какие конкретно программы «до сих пор работают в один поток как на PDP-11»? ls чтоли?

Если в Виларибо уже выкатили новую версию, а в Вилабаджо всё ещё ищут кто испортил память, то перевод сишников на хлеб и воду уже ничему не поможет.

Вас послушать, так кодинг на C/С++ – это сплошная борьба с памятью. Это примерно тоже самое что у линуксойдов понятие «эффективной работы на комьютере». Типа если не нужно таскать окошки, то прямо 4 часа в день освободится для «работы» в фейсбуке или на лоре.

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

Обратите внимание на первое слово во фразе «Большинство старых продуктов написаны в синхронном однопоточном стиле». Если русский язык у вас не родной, можете посмотреть его значение в словаре.

Вас послушать, так кодинг на C/С++ – это сплошная борьба с памятью.

Это не меня, это инженеров из гугля. Можете прочитать их отчёт по ссылке https://www.chromium.org/Home/chromium-security/memory-safety

ugoday ★★★★★
()
Ответ на: комментарий от mrdeath

кодинг на C/С++ – это сплошная борьба с памятью

Ну вообще-то да. В первую очередь из-за того, что в C не средств для управления памятью в принципе, а в C++ все решения приводят к головной боли, так как создают больше проблем, чем решают. И это не говоря о том, что в C/C++ нет средств для написания многопоточного кода как класса. Всё лежит на плечах программиста. Компилятор не знает о существовании потоков.

RazrFalcon ★★★★★
() автор топика
Последнее исправление: RazrFalcon (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

так все правильно. программисты – думают и работают и делают продукт как результат. А не программисты – ноют как все плохо и делают поделки с 5 звездочками на гитхабе в лучшем случае говоря какой у них офигенный код.

Все как всегда. Люди, которые умеют делать дела – работают, а нытики – ноют. Nothing new.

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

Программирование - это задача оптимизации. Что мешает оптимизировать сам процесс решения этой задачи - для меня загадка.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от mrdeath

К счастью, ещё не все скатились в быдлокодинг.

RazrFalcon ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.