1.2, beck (??), 11:39, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +35 +/– |
Что этот профессор себе позволяет? Решил пойти против корпораций?
| |
|
2.35, фттщтшьгы (?), 12:04, 22/01/2023 [^] [^^] [^^^] [ответить]
| +7 +/– |
> Решил пойти против корпораций?
> большинство рекомендаций Core Guidelines уже реализованы в статическом анализаторе и профиле безопасной работы с памятью из состава Microsoft Visual Studio.
А профессор точно воюет в ту сторону?
| |
|
|
|
5.508, Аноним (-), 18:25, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Ага, щас, разбежалися!
Гуд, вторым шагом надо найти стену покрепче.
| |
|
|
|
2.44, псевдонимус (?), 12:09, 22/01/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Если бы не детище страуструпа, не было бы такого дерьма как сраст.
С++ целиком никто не сможет освоить, настолько он пытается уметь все.но работаетхотябы. Ближайшие лет 50монстру ничего не грозит. А раст.. Еще более переусложненнй, изначально мертворожденный дегенерат.
| |
|
3.52, press f (?), 12:17, 22/01/2023 [^] [^^] [^^^] [ответить]
| –8 +/– |
50 лет, как вы далеко смотрите. Через 50 лет вообще пк не понадобится
| |
|
4.66, псевдонимус (?), 12:28, 22/01/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
Долб. Ам он и сейчас не нужен. Смартфон не замена пк и не будет им никогда. И нейроинтерфейсы никаким боком тут.
| |
|
5.89, Прохожий (??), 12:50, 22/01/2023 [^] [^^] [^^^] [ответить]
| –5 +/– |
>Смартфон не замена пк и не будет им никогда
Смартфон, вообще-то, и есть ПК+телефон+камера. Так, к слову.
| |
|
|
7.121, Прохожий (??), 13:31, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ещё раз. Смартфон = ПК + средство связи + видеокамера. Именно поэтому смартфон уже заменил многим людям ПК.
| |
|
|
9.248, Аноним (248), 19:19, 22/01/2023 [^] [^^] [^^^] [ответить] | –1 +/– | Точно лох Ты еще не понял что системный блок теперь у тебя в ладони и в кар... большой текст свёрнут, показать | |
|
10.424, Neon (??), 04:36, 23/01/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Смартфон все таки не ПК Различается целями и задачами Смартфон удобен для потр... текст свёрнут, показать | |
|
11.461, Alex (??), 11:03, 23/01/2023 [^] [^^] [^^^] [ответить] | +/– | Установи на смартфон Windows, подключи док станцию с монитором и остальным и пол... текст свёрнут, показать | |
|
|
|
|
|
6.251, Аноним (251), 19:21, 22/01/2023 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Смартфон, вообще-то, и есть ПК+телефон+камера. Так, к слову.
Минус нормальные средства ввода и отображения. Что сильно нагибает эффективность именно созидательных работ. Смотреть фишкинет и покупать хнюшки на алишке можно и на этом конечно.
| |
|
7.425, Neon (??), 04:37, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Смартфон создан для потребления информации, создавать на нем её затруднительно и неудобно. В отличии от ПК.
| |
|
|
|
4.68, псевдонимус (?), 12:31, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
На нем столько написано, что быстрее наверно не разгрести. А на раст переписывать.. Ну еще примерно??
| |
|
3.70, Прохожий (??), 12:32, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Rust появился не из-за Плюсов. А потому что Плюсы перестали справляться со сложностью современного программного обеспечения. Слишком дорого обходятся конечным пользователям ошибки программистов.
Также Rust намного проще Плюсов. На его освоение достаточно полугода обычно в отличие от Плюсов.
| |
|
4.113, Аноним (113), 13:19, 22/01/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Раст не проще плюсов… они примерно одинаковы по сложности.
Но! Раст разгружает голову разработчика от необходимости вручную отслеживать корректность кода (с тчк зрения самого языка). Т.е. пишешь на расте - думаешь о задаче, пишешь на плюсах - надо думать и о задаче, и о том чтобы не выстрелить себе в ногу забыв об очередной "особенности" языка.
| |
|
5.123, Прохожий (??), 13:34, 22/01/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
>Раст не проще плюсов
Конечно, проще. Примерно на порядок. На освоение Плюсов - 5 лет. На освоение Раста - 6 месяцев.
| |
|
|
7.209, Аноним (209), 17:04, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Погодь, просто ещё не успели книжек по Rust для тинейджеров настрочить.
| |
|
|
5.166, хрю (?), 14:27, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
>>пишешь на расте - думаешь о задаче
пишешь на расте - думаешь о тонне закорючек, которые тебе надо поставить, что код скомпилировался. А потом, требования немного меняются и ... начинается либо "полное" переписывание закорючек, либо unsafe. Такое себе "безопасное" программирование.
| |
|
6.183, Анонн (?), 15:19, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Э... может ты просто не умеешь писать, раз тебе нужно о таком думать?
Когда ты пишешь на расте, ты думаешь о том, что именно должен делать код, о представлении в памяти, о том кто и чем владеет, о потоках данных и о том, как информация шарится напр. между потоками. А не о каких-то закорючках.
А потом просто используешь простой синтаксис чтобы это отразить в коде.
Неужели сишники не осилили пару закорючек?
| |
|
7.188, Александр (??), 15:26, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Открою секрет. Если думать о том же, разрабатывая на плюсах, то память утекать не будет.
| |
7.204, хрю (?), 16:19, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> ты думаешь о том, что именно должен делать код, о представлении в памяти, о том кто и чем владеет, о потоках данных и о том, как информация шарится напр. между потоками.
Чё правда? А выше чел уверяет, что надо думать только о задаче, а не о том, что ты перечислил. Вы там уж договоритесь, о чём надо думать в расте, а потом нам несчастным расскажите. :-) И да, то что ты перечислил (т.е. на самом деле о где и какие закорючки применить), мало отличается от "дум" в с++, да и в любом другом зрелом языке.
| |
|
8.256, Аноним (248), 19:31, 22/01/2023 [^] [^^] [^^^] [ответить] | –2 +/– | так думать о представлении абстракций в памяти, в каких структурах будешь хранит... текст свёрнут, показать | |
|
9.514, хрю (?), 20:32, 23/01/2023 [^] [^^] [^^^] [ответить] | +2 +/– | Всё правильно говоришь, молодец Когда опыта нет, знаний нет, но хочется кому-то... текст свёрнут, показать | |
|
|
9.513, хрю (?), 20:24, 23/01/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Вот когда узнаете, что такое задача - подходите, а то пока ваши фантазии читат... текст свёрнут, показать | |
|
|
|
|
5.447, Аноним (447), 08:11, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Скажу вам даже больше: все ЯП _общего назначения_ примерно одинаковы по сложности. Какие-то из них имеют более высокий порог вхождения, какие-то менее, но уже мидл+ особого профита от выбора "легкого в изучении языка" не ощущает от слова "совсем". А любые спекуляции на тему "легких в изучении ЯП" так и остаются не более чем спекуляциями.
| |
|
4.119, Максим (??), 13:29, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
вероятно ошибки непрофессионалов с раздутым чсв или дебилов - считающих себя программистами после просмотра роликов на ютубе - вот чьи ошибки дорого обходятся
| |
4.126, Бывалый смузихлёб (?), 13:41, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Слишком дорого обходятся конечным пользователям ошибки программистов
Издержки конечных пользователей вообще никого не волнуют. Но и раньше не волновали.
Разве что в плане вероятности судебных разборок, но и там попробуй доказать и конкретные цифры обосновать.
Это почти как писать на кого-то жалобу, что гадит посреди улицы, прикладывая фотографию где стоит тип в штанах, а рядом посреди дороги здоровенная куча навалена. Вроде бы всё очевидно, а ты попробуй доказать. В итоге, следующая куча у стукача под дверью, а тип обошёлся даже без штрафа ведь на фото не изображено нежелательных действий, нет даже даты. Но это для общего развития
| |
|
5.243, ivan_erohin (?), 19:13, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> В итоге, следующая куча у стукача под дверью
очень маловероятно.
> нежелательных действий,
административных правонарушений.
ps: изучал КоАП по протоколам ГИБДД.
| |
|
4.154, awoland (ok), 14:13, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Плюсы перестали справляться со сложностью современного программного обеспечения
Это не "плюсы перестали справляться", а "мамкины" программисты перестали справляться с управлением памятью в
программах на плюсах. Глобальное "неосиляторство". Кроме того, использование "безопасных" языков сильно ускоряест и упрощает, а значит и удешевляет разработку ПО. А, как известно, "дешево" и "качественно", совсем не синонимичные понятия. Скорее даже наоборот.
А Страуструп прав: плюсы всё умеют, в том числе и "безопасность". Но не все ппрограмисты "умеют" в "безопасность" плюсах. А там где "безопасность" там, как правило, всегда "тормоза". Безопасность в ущерб производительности...
| |
|
5.175, фттщтшьгы (?), 14:40, 22/01/2023 [^] [^^] [^^^] [ответить]
| +5 +/– |
какая классная история, жаль что ...
Как может "в безопастность" уметь язык где в стандарте UB больше чем блох на бродячей собаке?
> не все ппрограмисты "умеют" в "безопасность"
так покажи мне тех кто умеет! классические дырки и фигня с памятью находятся в куче проектов, причем некоторым лет по 15 и больше
на пеньке новости "CVE в с/с++" можно вообще в отдельный раздел выносить
| |
|
6.185, Александр (??), 15:23, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
А кто мешает не писать код, который будет содержать UB? Кроме того, как показывают здешние новости, мамкины программисты найдут что сломать и в Rust.
| |
|
7.287, Аноним (287), 20:47, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ты, блять, 4 байта из файла прочитай и сделай reinterpret_cast<int32_t*> — это уже UB будет.
| |
|
|
5.184, Кактус (?), 15:20, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> а "мамкины" программисты перестали справляться с управлением памятью в программах на плюсах. Глобальное "неосиляторство".
Это же как раз довод в пользу раста и т.п.: представим, что рождается всё больше и больше трёхпалых людей, а количество пятипалых постоянно сокращается. Есть ли в таких условиях смысл шить пятипалые перчатки?
В общем, зачем нужен карбюратор (и умение его регулировать), когда есть впрыск с электронным управлением?
| |
|
6.191, Александр (??), 15:46, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Нет, не довод. Rust тоже не серебряная пуля. Не сломает память, сломает что-нибудь ещё.
| |
|
7.216, annonn (?), 17:17, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
правильно, давайте ломать память!
ведь если не будем ломать - то что-то другое сломают програмисты раста
| |
|
|
|
|
|
2.63, Прохожий (??), 12:26, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Этот профессор, во-первых, сам работает (работал) в одной из корпораций. Во-вторых, существует исключительно благодаря корпорациям, а точнее их баблу.
| |
2.112, Аноним (112), 13:19, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Решил пойти против корпораций?
Мало того против корпорации - ПРОТИВ А Н Б ! ! !
Ну ничо, рыцари плаща и кинжала разъяснят его ошибку ]:>
| |
2.199, Аноньимъ (ok), 16:05, 22/01/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
Профессор этот в своё время протолкнул всю эту С++ мерзость и дурацкую систему типов которую стали путать с ООП.
Ну его, этого Страуссупа.
| |
2.358, Аноним (358), 23:43, 22/01/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Нет, просто Бьёрн мыслит как вменяемый адекватный инженер, и судит с позиции лог... большой текст свёрнут, показать | |
|
3.455, Аноним (260), 10:14, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Бьёрн мыслит как вменяемый адекватный инженер, и судит с позиции логичного подхода когда все программисты также разумные люди, понимающие что они делают
Это позиция полного неадеквата, живущего в мире розовых поней.
| |
3.462, Alex (??), 11:21, 23/01/2023 [^] [^^] [^^^] [ответить] | +/– | Сейчас острая проблема нехватки программистов во всем мире Даже за очень больш... большой текст свёрнут, показать | |
|
4.539, maximnik0 (?), 08:25, 24/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Сейчас острая проблема нехватки программистов во всем мире
То то новости читаеш -в США корпорации уже выкидывают под полмиллиона программистов.В Европе где то 150.000 сокращают.Рынок был раздут,сейчас такое кол-во нахрен не нужно будет
| |
|
5.572, Аноним (572), 19:21, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну так кем рынок был раздут? Инженерами или макаками-в-ойти-ноджыэс-пистон?
| |
|
6.579, maximnik0 (?), 22:30, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Ну так кем рынок был раздут? Инженерами или макаками-в-ойти-ноджыэс-пистон?
Я не знаю,предполагаю что эффективными менеджерами.
| |
|
|
|
|
|
1.8, Аноним (8), 11:45, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +19 +/– |
Надо было просто сказать, что C++ Core Guidelines станут обязательными для реализации в компиляторах C++26.
| |
|
2.24, фттщтшьгы (?), 11:55, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
и все будут сидеть на С++22 ?
так же как сейчас до сих пор попадаются проекты на 99м стандарте
| |
|
|
4.129, Аноним (129), 13:44, 22/01/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
Это с++23, которые на самом деле должен был выйти в 22м, но комитет как всегда просрачил все сроки и пришлось переносить на год.
| |
|
5.192, Александр (??), 15:49, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Не должен был. Они ещё в при 14-ом декларировали выход стандарта раз в 3 года из того, что будет готово на тот момент.
| |
|
|
3.130, Бывалый смузихлёб (?), 13:44, 22/01/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
После С99 ничего хорошего не придумали. Вообще-то, он содержит всё самое необходимое и ничего избыточного. Ни больше ни меньше.
Да здравствуют С++ амиши !
| |
|
|
5.427, Neon (??), 04:42, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Только почему то это лучшее никто не использует. Парадокс)))
| |
5.584, Worminator X (?), 00:50, 27/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Гадость с GC не нужна, или жабы мало?
Язык должен быть либо низкоуровневым и близким к системе как Си - и тогда в нем недопустимы GC, исключения и т.д. - либо высокоуровневым как Haskell - и тогда непонятно, зачем вообще делать его императивным, а не функциональным (т.е. понятным для машины и сложным для человека). Фон-неймовская архитектура на виртуальной машине - полный маразм.
Oberon, Go, Java, C# - это морально устаревшие, костыльные недоязыки. А конкретно в Oberon'е еще и нет параметрического полиморфизма (template в C++ или generic в Java/C#), т.е. на нем никак не написать обобщенные коллекции.
| |
|
|
5.490, Аноним (-), 15:14, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> А как же VLA?
-Wvla -Werror, ну вот так вот, если странные неконтролируемые йопсы софта не нравятся.
| |
|
4.488, Аноним (-), 15:12, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> После С99 ничего хорошего не придумали. Вообще-то, он содержит всё самое необходимое
> и ничего избыточного. Ни больше ни меньше.
Ну да, действительно, зачем нам static_assert() из C11 :). О багах в программе прикольнее узнавать когда бортовой компьютер сделает волшебный фигакс на полпути к назначению.
Но, конечно, вы можете сколхозить аналог этого 20 разными способами. Только нестандартно и чаще всего без нормального сообщения об ошибке.
| |
|
|
|
1.9, Аноним (6), 11:46, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –40 +/– |
На самом деле С++ плохой потому, что там нет менеджера дополенений. Уже 2023 год а там до сих пор нельзя скачивать библиотеки и автоматически их компилировать с бинаркмиком.
| |
|
2.20, Анон4521234125235 (?), 11:53, 22/01/2023 [^] [^^] [^^^] [ответить]
| +33 +/– |
Главный плюс плюсов это как раз таки то что язык не подвязан к сетевым сервисам, надо что-то просто скачай отдельно и сохрани. А вот в случае rust, go, python и прочих с пакетами, если там приляжет сервачек то тебе как разрабу останется только жалостно ждать пока восстановят работу серверов. А может быть и так что его не восстановят и все хана.
| |
|
3.34, Прохожий (??), 12:02, 22/01/2023 [^] [^^] [^^^] [ответить]
| +5 +/– |
>если там приляжет сервачек
И кто ж тебе мешает сделать свой внутренний сервачок, кроме отсутствия знаний, что так можно?
| |
|
4.71, Аноним (-), 12:33, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>И кто ж тебе мешает сделать свой внутренний сервачок, кроме отсутствия знаний, что так можно?
Тебе же сказали менеджер пакетов в Си плюс-плюс не нужен.
| |
|
3.64, Аноним (64), 12:27, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
А новую версию программы в отдельную папочку "Версия 3.4.5".
Хорошо что вас к Rust не подпускают, да и вы не в состоянии его осилить. Копашитесь в своём болоте.
| |
|
4.72, псевдонимус (?), 12:34, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Хорошо бы еще норко... Растонечисть к низкоуровневуму программированию не подпускали.
| |
|
5.82, Анонн (?), 12:42, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Хорошо что все эти годы с++ не пускали в ядро. И уже не пустят.
А то даже страшно подумать что за монстр был бы рожден...
| |
|
|
7.252, Аноним (252), 19:23, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ядро и на одном си может перерасти в мегамостра.
Нужно подождать еще годик-два и пару десятков лямов строк кода.
Это скорее попытка хоть как-то его усмирить или хотя бы сдержать на время.
| |
7.491, Аноним (-), 15:18, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Но с Rust ядро может в мегамостра перерасти.
Да вообще мегамонстра и из сей можно вырастить. Как будто в сях абстракций нельзя навернуть. Особо ушлые господа делают на сях по сути ООП. А чего, гибкость и низкоуровневый доступ еще и не такое позволяют.
Ну вон например корутины на сях. А чо, так то прикольно. В каком-нибудь lwan.ws даже к месту смотрится. Но если вас вот так наобум подобным кодом огорошить в не очень продуманном проекте, ваши шансы въехать в происходящее...
| |
|
6.328, maximnik0 (?), 23:01, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>А то даже страшно подумать что за монстр был бы рожден...
Это все зависит от квалификации программистов и менеджера проекта.
Be-be монстр ? А Syllable (правда там ++ кода очень мало) ? А ещё читал про проект обработки сетей 5g ,так ребята писали что без ++ не один язык не справлялся,нужен реалтейм,так ядро обработчика у них вышло 12 мгб.При этом от stc им пришлось отказаться,т.к оказался медленный для ихних задач.
| |
|
7.492, Аноним (-), 15:20, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> ядро обработчика у них вышло 12 мгб.
Намекает что они профакапились где-то в сильно другом месте, раз это весит как целый линукскернел, у которого уровень сложности при этом так то сильно более другой.
| |
|
|
|
|
3.114, freehck (ok), 13:24, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Главный плюс плюсов это как раз таки то что язык не подвязан к сетевым сервисам
> надо что-то просто скачай отдельно и сохрани
> А вот в случае rust, go, python и прочих с пакетами...
Знаешь, в Rust, Go, Python, Ocaml, Racket, Debian, Ubuntu, RHEL -- тоже можно без пакетов.
Надо что-то -- просто скачай отдельно и сохрани.
| |
|
4.493, Аноним (-), 15:21, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Знаешь, в Rust, Go, Python, Ocaml, Racket, Debian, Ubuntu, RHEL -- тоже
> можно без пакетов.
> Надо что-то -- просто скачай отдельно и сохрани.
Однако куча софта на этом подразумевает что надо именно скачать левые полуварезок "от васяна" из мутных репок. И другие варианты не очень то и предусмотрены. Зачастую еще сделав curl | sh в процессе.
| |
|
3.167, Аноним (167), 14:28, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Главный плюс плюсов это как раз таки то что язык не подвязан к сетевым сервисам, надо что-то просто скачай отдельно и сохрани. А вот в случае rust, go, python и прочих
На сколько я знаю, go это один бинарный вайл. Там тоже скачал, закинул куда надо и все.
| |
3.245, ivan_erohin (?), 19:17, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> надо что-то просто скачай отдельно и сохрани.
есть мнение что настоящий программист пишет СВОЙ код (а не скачивает чужой).
| |
3.356, Аноним (356), 23:41, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Я знаю единственный "язык", где управление внешними пакетами встроено прямо в него -- Deno. В нем можно прямо в исходнках написать путь к гитовскому репозиторию и во время исполнения скрипта Deno сходит на этот сервер скачает git репозиторий и скомпилирует его.
Во всех остальных языках пакеты устанавливаются либо отдельной тулзой или отдельным командой для тулчейна языка. И этот процесс является опциональным. Можно руками разруливать все зависимости и хранить их где угодно. Можно ими вообще не пользоваться.
А так, чем плюсы с их Conan отличаются от той же ноды с npm? Только тем, что конан переусложнен и не идет из коробки и неосиляторы по прежнему предпочитают копипастить сторонние либы в свой гит репозиторий и больше никогда в жизни не обновлять?
| |
|
4.429, Neon (??), 04:45, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
А потом что то случается с git репозиторием и все сосут лапу.
| |
|
3.458, Аноним (458), 10:49, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Насчёт питона не совсем точно. Я иногда люблю выкачивать всё, чего нет в чистом Python и класть в папку с моим кодом. Качаю обычно с офф сайта. А питонил ещё до этих virtualenv и pip.
| |
3.496, garrick (?), 15:28, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вы не поняли сарказм. Человеку-то как раз и не надо, но АНБ рекомендует...
| |
|
|
3.197, ehprom (?), 16:00, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
А лучше всё сразу, т.к мало кто публикует свои пакеты везде.
cargo в отличии от пакетного менеджера дистрибутива позволяет лочить версии пакетов, не допуская поломку кода при обновлении системы, и позволяет обеспечить воспроизводимость (Т.к в локфайле явно прописано какой хеш имела каждая зависимость, с которой разработчик всё разрабатывал), а не "а у меня на компуктере фсё работает"
| |
|
4.231, anonymous (??), 18:13, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Nix/docker/... в отличии от Cargo позволяют лочить не только версии библиотек, но и остального окружения. А ещё можно распространять программы в образах виртуальных машин. Или программно-аппаратные комплексы в виде железных ящиков, чтобы обеспечить воспроизводимость - сходил в магазин и купил ещё один точно такой же ящик, а не "а у меня на компуктере фсё работает"
| |
|
5.587, ehprom (?), 18:29, 28/01/2023 [^] [^^] [^^^] [ответить] | +/– | У докера другая проблема - для запуска приложений на клиентских машинах он не ос... большой текст свёрнут, показать | |
|
|
|
2.110, _kp (ok), 13:11, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Полагаться на скачать на автомате и как нибудь накомпилировать могут только не отвечающие за конечный продукт.
Фраза " Отказ от гаррантий.." глаза не нарезала?
А есть и серъёзные проекты, где производитель отвечает за ПО, и работу в целом. В том числе финансово, а не только поддержкой "для посылания, и обещаний исправить в новых версиях".
Конечно, готовые комполенты используются, и даже часто из тех же источников. Но всё тестируется, как по отдельности, так и на совместимость разных венсий компонентов между собой.
| |
|
3.158, Деанон (?), 14:16, 22/01/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Ты чё, у них любая задача сложнее четырех секунд решения это необходимость копипастить, либо ставить пакеты. Поколение постоянно неудовлетворённых от изобилия, гребут все пакеты и библиотеки.
| |
|
2.428, Neon (??), 04:43, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Это как раз плюс. Не нужно никаких сетевых сервисов, они совершенно лишние
| |
2.451, Аноним (451), 09:02, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
интересно, как ты соберешь свое недоприложение без интернета ? на c/c++ - легко
| |
|
1.11, Прохожий (??), 11:46, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +10 +/– |
>При этом разработчикам, которым не требуются подобные строгие гарантии безопасности, оставляется возможность продолжения использования старых методов разработки
Проблема в том, что большинство разработчиков так считают априори. И начинают шевелиться только после того, как подобный подход оборачивается огромными убытками для пользователей продуктов.
| |
|
2.53, псевдонимус (?), 12:17, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Современные ойтишники считают пользователей чем-то вроде дрозжевых бактерий. Кому их мнение вообще интересно среди тусовочки?
| |
|
3.103, НяшМяш (ok), 13:05, 22/01/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
И правильно считают. Только кто-то себе так говорит "надо максимально писать качественно по стандартам и со всеми необходимыми проверками", а кто-то считает что "и так сойдёт". Опеннет тому пример, когда эксперты заявляют "нам ваши статические анализаторы не нужны, мы и так УМНЫЕ", становится страшно вообще компьютер включать.
| |
|
4.138, Бывалый смузихлёб (?), 13:52, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Обмазаться тоннами вырвиглазных стандартов и бесполезных проверок, прилепленных просто чтобы были( попробуй-ка навесить адекватные проверки на кроссплатформенные интерфейсы, чтобы ничего никуда не съезжало и смотрелось годно ), чтобы поддержка стала максимально сложной и трудоёмкой и кроме одного-двух васянов, сидящих на проекте с самого его начала вообще никто ничего разгрести не мог бы
Оуу есс. Ынтепрайес наше всьйо
> становится страшно вообще компьютер включать
А компьютеры вообще регулярно включать не надо. Раз включил сразу после покупки и сборки - и работает
| |
|
5.463, НяшМяш (ok), 11:23, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А компьютеры вообще регулярно включать не надо. Раз включил сразу после покупки и сборки - и работает
От кода уровня "эксперт опеннета" компьютер приходится регулярно перезагружать. Раз включил и навсегда можно было 50 лет назад, когда экспертов сишки ещё не было.
| |
|
6.552, Бывалый смузихлёб (?), 16:31, 24/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
так и .. какие есть стандарты и тесты, чтобы проверить, чтобы обильное приложение норм работало на рзных яблочных осях и устройствах( +поворотах на бок ) и то же самое с андройдом ?
Ну так, чтобы МАСТЕРА сотню раз не отвлекать ерундовыми вопросами..
| |
6.553, Аноним (553), 16:34, 24/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Раз включил и навсегда можно было 50 лет назад, когда экспертов сишки ещё не было.
Простите, а что тогда было? Алгол? Shell+Awk? Лампы? (без шуток)
| |
|
|
4.413, Аноним (413), 02:54, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> ойтишники считают пользователей чем-то вроде дрозжевых бактерий
> И правильно считают
Главное, что нужно о вас знать
| |
4.470, Прохожий (??), 12:43, 23/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
А потом при очередном кризисе ноют, оказавшись на улице. А все почему, потому, что пользователь это тот, кто платит всем этим олухам деньги
| |
|
5.564, псевдонимус (?), 14:49, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> А потом при очередном кризисе ноют, оказавшись на улице. А все почему,
> потому, что пользователь это тот, кто платит всем этим олухам деньги
Типичные свиньи под дубом. Так не только в айти
| |
|
|
3.509, анон (?), 19:01, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот прям багтрекер растоманов описал, где они не боятся показать корпам, кто тут главный, и чьи проблемы обратной совместимости от версии к версии. Прям бунтари нашего времени.
| |
|
2.85, Аноним (-), 12:46, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Проблема в том, что большинство разработчиков так считают априори. И начинают шевелиться только после того, как подобный подход оборачивается огромными убытками для пользователей продуктов.
Но ведь это не повод чтобы переходить на Раст, не так ли?
| |
|
|
|
5.157, Прохожий (??), 14:15, 22/01/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
Всякое возможно в теории. Но практика говорит, что Раст сокращает убытки, а не умножает их.
| |
|
|
7.324, Аноним (323), 22:56, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
о, может расскажешь про экономику альт линкса, интересно было услышать гуру менеджмента
| |
|
8.510, анон (?), 19:08, 23/01/2023 [^] [^^] [^^^] [ответить] | +/– | До бизнес модели епла им точно, где отображение дырень в фряхе сюрьективно дырен... текст свёрнут, показать | |
|
|
|
7.515, Аноним (515), 20:40, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
У растаманов пока один манямирок. Пока нет стандартов типа MIL-STD и misra, они могут блеять что угодно, их фактически нет в по-настоящему ответственных применениях (ведро линукса это даже не близко). Пока под них прогибается Lynx Software под соусом привлекать хипсторов и пытается втащить в это AdaCore (у них на сайте одной строкой ссыль на Lynx Software), но AdaCore слишком дофига инвестировали в Ada, для которой стандарт уже давно и апдейт вот-вот. А раст в мишон-критикал -- это все пока "высокорисковое вложение" (и для Lynx Software тоже) и хайп от обезьян, которые ничего подобного никогда не кодили.
| |
|
|
|
4.143, псевдонимус (?), 14:00, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Если Rust сократит убытки, ещё какой повод.
От вас убытки.и вассокращают. Туда и дорога
| |
|
|
6.176, псевдонимус (?), 14:51, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> А вы-то чего так распереживались? 😀
Радуюсь! От избытка чувств эмоции! Наконец ненужно делают ненужным в мировом масштабе!
| |
6.494, Аноним (-), 15:24, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А вы-то чего так распереживались? 😀
Что тут не понятного? У соседа корова сдохла, вау! И черт с ним что у самого хата горит, праздник и танцы.
| |
|
|
|
|
2.133, pashev.ru (?), 13:47, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> шевелиться только после того, как подобный подход оборачивается огромными убытками для пользователей продуктов
Пример приведи, или балабол.
| |
|
1.12, warlock66613 (ok), 11:49, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +15 +/– |
Там всего пара абзацев ни о чём. Но есть примечательный момент: при перечислении предлагаемых языков на замену Страуструп опустил Rust. Вряд ли это случайность, но смысл этого скрытого послания неясен и может быть расшифрован диаметрально противоположными способами.
| |
|
|
3.258, Аноним (248), 19:39, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Я думаю, что он понимает, что раст обоср.ть так же как всё остальное, что он перечислил, не получится. С мнением АНБ насчет раста он согласен.
| |
|
|
1.13, Анонн (?), 11:50, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +10 +/– |
Хаха, кто-то забеспокоился что теперь знание 100500 способов инициализации объекта (c++_init_forest.gif) или умение предвидеть все UB в коде вдруг станет не нужным?
Лучше бы придумал как на его же языке не делать ошибки с памятью.
| |
|
|
3.107, НяшМяш (ok), 13:09, 22/01/2023 [^] [^^] [^^^] [ответить]
| –5 +/– |
То есть вместо того, чтобы писать как в нормальных языках
let p = D::new()
нужно писать в 5 раз больше символов?
std::unique_ptr<D> p = std::make_unique<D>();
Неудивительно, что плюсовики такие злые и так кидаются на раст - завидуют, что в нормальном языке это предусмотрено из коробки.
| |
|
4.137, псевдонимус (?), 13:51, 22/01/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
> То есть вместо того, чтобы писать как в нормальных языках
>
> let p = D::new()
>
> нужно писать в 5 раз больше символов?
>
> std::unique_ptr<D> p = std::make_unique<D>();
>
> Неудивительно, что плюсовики такие злые и так кидаются на раст - завидуют,
> что в нормальном языке это предусмотрено из коробки.
Нормальных языков многои ржавого средних нет.
Примеры: C,D,Ada, PPascal,perl5, Luann, tcl.
Идеальный: Forth!
| |
4.140, freehck (ok), 13:56, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Понимаешь, нормальность языка зависит от интеллектуальных способностей разработчика. Вот если он мозговит, ему нормальными кажутся одни языки. Если туповат -- другие. И тут ничего не поделаешь.
А бизнес делает простую вещь: он пытается найти золотую середину между высокоуровневыми, выразительными и безопасными языками, которые не могут осилить туповатые разработчики, и низкоуровневыми , невыразительными небесопасными языками, для которых на рынке полно народу.
Суть-то не в технических качествах языков. Суть в деньгах.
| |
|
5.511, анон (?), 19:14, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Как показала практика последних лет, надо делать сразу нормально, а не искать середину.
А то суть в деньках сводится уже к тому, что неэффективных людей надо отправлять в биореактор.
| |
|
6.512, freehck (ok), 19:31, 23/01/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Увы, практика в течение всей истории человечества показывала прямо противоположн... большой текст свёрнут, показать | |
|
|
4.142, ip1982 (ok), 14:00, 22/01/2023 [^] [^^] [^^^] [ответить]
| +5 +/– |
Это залёт. Примеры не сопоставимы, правильно будет let p = Box<D>::new(...).
| |
|
5.240, Аночик (?), 18:34, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ваш код не работает. Но это не залет, а просто забыли :: добавить. Box::<D>::new(...).
| |
|
|
7.495, Аноним (495), 15:28, 23/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Не надо усложнять на ровном месте, с Box будет так:
let p =
> Box::new(D::new());
Раст как обычно радует читаемым, лаконичным, интуитивным кодом...
| |
|
|
|
4.164, Аноним (210), 14:24, 22/01/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Знаешь про автоматическое выведение типов в С++? Называется auto
| |
4.177, Аноним (177), 14:52, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
В Пять раз больше символов?!!! Отвратительно! Нужно срочно выучить новый язык программирования, прочитать новые стандарты и книги... Я вообще не умею читать, а тут в Пять раз!!!
| |
|
5.263, Аноним (248), 19:50, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ты уже знаешь (ха-ха, самоуверенно!) "старый язык". Похвально. А есть те, кто не знает ни "старого" ни "нового" и стоят перед выбором. И что бы ты не утверждал, вход в "новый" легче. Но тебе ведь положить на тех, кто не знает ни того ни другого, важен только ты.
| |
|
4.265, Вы забыли заполнить поле Name (?), 19:51, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ну давай тогда на расте полный вариант:
let mut p: Box<D> = Box<D>::new();
и на С++ короткий:
auto p = std::make_unique<D>();
> плюсовики такие злые и так кидаются на раст - завидуют, что в нормальном языке это предусмотрено из коробки.
Вообще-то наоборот растоманы кидаются на всех. Вот не понятно, что ты подразумеваешь под "предусмотрено из коробки"? Вывод типов шаблона конструктора появился в С++17.
| |
|
5.450, Cooler (??), 09:02, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну std:: втыкать везде это не комильфо, если это не хедер. В большинстве случаев будет
auto ptr = make_unique<D>();
| |
|
4.317, Аноним (376), 22:15, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> нужно писать в 5 раз больше символов
в 5 раз?! Растаманы ещё и правильно считать символы не умеют...
| |
4.335, Аноним (356), 23:13, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вариант на расте не эквивалентен варианту на плюсах.
На плюсах ты создаешь объект в хипе, тогда как на расте на стеке. Ну и не пользуешься автоматическим выводом типов и сокращением неймспейсов.
Эквивалентный вариант на расте:
let mut d: std::boxed::Box<D> = std::boxed::Box::<D>::new(D::new());
Но, с учетом того, что на плюсах ты используешь конструктор по умолчанию и наиболее близкий растовский вариант -- имплементация трейта Default, можно немного сократить:
let mut d: std::boxed::Box<D> = std::boxed::Box::<D>::default();
против плюсового
std::unique_ptr<D> p = std::make_unique<D>();
| |
|
5.384, freecoder (ok), 01:18, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Box по-умолчанию в prelude, так что не нужно указывать полный путь:
let mut p: Box<D> = Default::default();
| |
|
|
|
2.116, Аноним (210), 13:28, 22/01/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Никто этого не боится. На С++ написано несколько миллирдов софтов, библ, сервисов и т.д. Он нужен везде и всегда. И у плюсовиков и у сишников всегда будет работа на годы вперед, это 100%.
А на вашем расте не написано ничего.
| |
|
3.136, Прохожий (??), 13:50, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Раньше был нужен. Теперь уже нет, не нужен. Ну разве что для поддержания той огромной кучи кода, которую успели наплодить за несколько десятков лет.
| |
|
4.404, wyry (?), 02:30, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Жаль разработчики UE5 вас не послушали и написали движок на C++.
| |
4.516, Аноним (515), 20:51, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Когда софт для реальной жизни (авионику, транспорт, медицинское оборудование), а не для игрушечного ойти начнут писать на расте, тогда и будет видно про "нужен-не нужен". А пока хайптрейн по кругу катается, "ядро линукса, у-у-у-у!", т.к. стандартов на раст для ответственных применений (да и вообще стандартов, что-то с буковками ISO) в природе не имеется.
| |
|
3.241, Аноним (241), 19:00, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сторонники Кобола тоже так думали - теперь их считанные единицы.
| |
3.416, Аноним (416), 03:51, 23/01/2023 [^] [^^] [^^^] [ответить] | +/– | В целом может я конечно плохо искал, но в целом знаю на плюсах может быть всего ... большой текст свёрнут, показать | |
|
2.160, Деанон (?), 14:20, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
"Если между свободой и безопасностью народ выбирает безопасность, в конечном итоге он теряет и то и другое."
Бенджамин Франклин
| |
|
1.15, Анон4521234125235 (?), 11:50, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
С ним сложно не согласиться, особенно учитывая что у того же rust вся безопасность работы с памятью сидит в анализаторе кода компилятора. У go же вообще сборка мусора которая сказывается на общей производительности приложения и его предсказуемости, но не обеспечивает безопасной работы с памятью.
| |
|
2.19, фттщтшьгы (?), 11:53, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
а в С++ нет ни анализатора в компиляторе, ни предсказуемости приложения...
| |
|
3.22, Анон4521234125235 (?), 11:54, 22/01/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
Поведение плюсов намного более предсказуемо, так как нет самодеятельности. Код будет вести себя ровно так как его написали.
| |
|
|
5.31, Анон4521234125235 (?), 12:00, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
это не предсказуемость, а косяк аппаратуры и если ты о нем знаешь то будешь избегать. Ну и особенности компилятора тоже обычно изучать следует прежде чем его использовать.
| |
|
6.38, llolik (ok), 12:07, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> косяк аппаратуры
> особенности компилятора
> если ты о нем знаешь
В этом и проблема, что нужно знать всё, вплоть до точки росы в конкретный день, чтобы быть уверенным что программа у заказчика соберётся, шаблон развернётся, в новых 100500 страниц стандарта ничего не изменили и никакой козёл ничего не перегрузил.
| |
|
7.43, Анон4521234125235 (?), 12:09, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ну так это суть низкоуровневых языков таких как c++ которые сразу на аппаратуре работают и хочешь не хочешь в них придется учитывать все особенности аппаратуры и компилятора.
| |
|
8.51, Аноним (51), 12:16, 22/01/2023 [^] [^^] [^^^] [ответить] | +/– | Ну и зачем оно такое надо Мне вот надо код писать, чтобы выполнить поставленную... текст свёрнут, показать | |
|
9.118, _kp (ok), 13:29, 22/01/2023 [^] [^^] [^^^] [ответить] | –1 +/– | На с можно писать на голом железе и не жужжать, в том числе в объектной паради... текст свёрнут, показать | |
|
|
11.414, _kp (ok), 03:10, 23/01/2023 [^] [^^] [^^^] [ответить] | +/– | Я про ассемблер не говорил, а вот оптимизированный код на статических классах не... текст свёрнут, показать | |
|
|
|
8.91, llolik (ok), 12:54, 22/01/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Вот и получилась из языка военно-морская свинка aka ни рыба, ни мясо Для низк... текст свёрнут, показать | |
|
7.198, Александр (??), 16:03, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Если лезешь в такие места, где нужно знать точку росы в конкретный день, то всё просто: накорявил архитектуру.
| |
|
6.41, фттщтшьгы (?), 12:08, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
мвахахахаа!
ты это серьезно? тогда я буду смеяться еще громче!! (с)
особенно крутое решение для библиотек "угадай на каком железе оно налажает"
| |
6.42, Прохожий (??), 12:09, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
>это не предсказуемость
Ты бы не позорился, а? Undefined behavior как раз и обозначает неопределённое поведение. Это не особенность железа, это неопределённость в стандарте, как должен вести себя компилятор в тех или иных случаях. Если ты ведёшь кроссплатформенную разработку, это реальная большая проблема, решение которой занимает очень много времени и сил, и стоит в итоге очень дорого.
| |
6.65, Анонн (?), 12:27, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Особенно весело когда gcc, clang и студия дают разное поведение и результаты для одного и того же кода.
Прекрасный язык, продуманный, надежный, безошибочный))
| |
|
|
6.345, Аноним (356), 23:30, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Который а) ничего не гарантирует и покрывает только некоторые виды ub и б) добавляет в рантайм оверхед и из-за этого если и используют, то только в прогоне юнит тестов, в продакшене на реальных данных его не запускают.
| |
|
7.359, Вы забыли заполнить поле Name (?), 23:44, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Который а) ничего не гарантирует и покрывает только некоторые виды ub
никакой инструмент не гарантирует 100% отсутствие ошибок, но это не означает, что его не нужно использовать.
> б) добавляет в рантайм оверхед
Они все его добавляют и asan, и tsan. Но он намного меньше в отличие от valgrind'а, который любят приводить в пример местные растоманы.
> то только в прогоне юнит тестов, в продакшене на реальных данных
> его не запускают.
Можно увеличить данные для тестов. Сделать prestable с реальными данными. Вон тот же google по отчетам находит много ошибок с помощью них.
| |
|
8.408, Аноним (408), 02:39, 23/01/2023 [^] [^^] [^^^] [ответить] | –1 +/– | Причем тут вообще раст и варлинг Как раз таки большинство других языков java, ... большой текст свёрнут, показать | |
|
|
|
|
4.32, фттщтшьгы (?), 12:00, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
в зависимости от версии компилятора, целевой платформы (привет платформозависимые UB), настроек оптимизации, фазы луны и тд
офиегнно надежный язык, прям как швейцарские часы!
что мы и видим по россыпи CVE %(
| |
|
|
6.47, Прохожий (??), 12:13, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Если кодер рукожоп
Покажи хоть одного вменяемого. За несколько десятков лет существования Плюсов так и не нашлось такого почему-то.
| |
|
7.54, Аноним (51), 12:18, 22/01/2023 [^] [^^] [^^^] [ответить]
| +5 +/– |
Любой эксперт с опеннета может переписать ядро линукса с си на си++ без единого UB. Не могут лишь потому что их мама от компьютера отгоняет слишком рано
| |
|
6.57, фттщтшьгы (?), 12:20, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
да, да если программер лажает - то это "не настоящий с/с++'ник" и вообще его нам подбросили в проект.
вот что-то диды за 30+ лет так и не научились не выходить out-of-bounds и не делать use-after-free
причем самые=самые диды - те которые ядро линкса пишут
может пора признать, что это не реально из-за кривого-косого языка и использовать другие подходы?
| |
|
5.202, Александр (??), 16:08, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Конечно Rust надёжнее. Как может быть не нажёжным тот язык, на котором ничего не написано?
| |
|
|
|
2.23, Прохожий (??), 11:55, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
> у того же rust вся безопасность работы с памятью сидит в анализаторе кода компилятора
Конечно, это не так на самом деле. Вся безопасность работы с памятью у Rust заложена в фундаментальных принципах языка программирования, которые компилятор поддерживает.
| |
|
3.25, Анон4521234125235 (?), 11:56, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Нет, rust прежде чем собраться анализируется и если там нет нарушений правил то код собирается, но вот если выкинуть эту проверку то в rust вообще что угодно можно творить с памятью.
| |
|
4.30, Прохожий (??), 11:59, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Эта проверка только потому существует, что такой принцип заложен в самом языке.
| |
|
5.33, Анон4521234125235 (?), 12:00, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Это проверка компилятора, но могут написать и другой компилятор rust который уже позволит нарушать это правило.
| |
|
6.46, Прохожий (??), 12:11, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>но могут написать и другой компилятор rust
На могут! Это уже будет не компилятор для языка Rust, а компилятор для какого-то другого языка.
| |
6.60, Аноним (129), 12:22, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Это часть языка. Оно описано в rfcs. https://rust-lang.github.io/rfcs
И любой другой компилятор должен их выполнять, иначе это будет компилятор чего угодно, но не раста.
Такая схема разработки была выбрана как раз по результатам наблюдений за высокоэффективной работой комитетов с++)))
| |
|
7.483, Серб (ok), 14:23, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
То что в gcc добавили на данный момент не проводит проверки. Но компилятором языка rust является. Только реализация не полная. Вопрос, что мешает так и оставить и собирать из доступных исходиков?
| |
|
|
|
|
|
|
1.16, Бил Гейтс (?), 11:51, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
Вы поймите, эти люди из Си++ комитета до сих пор не стандартизовали создание форматированных строк по месту, они не смогли стандартизовать аннотации в комментариях, вместо это они уже три года спорят о том как будет называться функция, назначение которой понятно только им самим. На самом деле Страус прав, Си++ хороший язык, но он был хороший 20 лет назад. Сейчас задачи поменялись, требования к синтаксису возросли, и то что смотрелось круто в 80-е сейчас вызывает кривую улыбку.
| |
|
2.27, Аноним (129), 11:58, 22/01/2023 [^] [^^] [^^^] [ответить]
| +14 +/– |
Чем дольше стандартизируешь, чем дольше получаешь зп и прочие плюшки. На конференции всякие ездишь и т.д.
Вообще ощущение что раст, свифт и другие новые языки дали больший пинок для развития плюсов чем все эти комитеты.
Вон наконец-то добавили концепты и модули.
Не прошло и 10 лет. Хотя нет, прошло.
| |
|
3.431, Neon (??), 04:56, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Прекрасно жили без всех этих монад, концептов, модулей и прочих извращений.
| |
|
4.565, Аноним (565), 18:28, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
А так же без самолётов, медицинской техники и персональных автомобилей.
| |
|
|
2.28, Аноним (28), 11:58, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ну хорошо, если С++ раньше был главным ООП ЯП, то какой сейчас его заменил?
| |
|
3.102, Прохожий (??), 13:03, 22/01/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
Зависит от конкретной сферы. В бизнесе - java. В вебе - javascript. В системном программировании - Rust. И так далее.
| |
|
4.161, Аноним (210), 14:20, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В системном программировании - Rust. И так далее.
во влажных фантазиях растоманов.
Можешь опровергнуть, показав где этот раст в системном программировании. Про неработающий ре-сдох я в курсе, там ничего не работает, ОС не юзабельная.
| |
4.222, Аноним (221), 17:43, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Только не Javascript, а Typescript. На голом JS невозможно поддерживать реально огромные проекты: проверено на 2-х многолетних проектах из продакшена.
| |
4.518, Аноним (515), 21:03, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Что там со стандартами на раст? В "системном программировании", которое мишон-критикал, кроме понтов про безопасность, нужно еще пруфать годность ("формально верифицировать") и сертификацию проходить.
| |
4.559, bOOster (ok), 08:35, 25/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Смешно конечно. Системное программирование это как минимум - понимание того как работает та или иная библиотека и знания/навыки реализации аналогичной функциональности если вдруг что-то не понравилось. Поэтому кто может/умеет в системное программирование опускаться до раста явно не будет, так как типичная реализация более менее сложных алгоритмов/библиотек на языках типа раст - это боль. И мы все еще посмеемся над результатами полученными на раст. Недаром многие производители OS заняли выжидательную позицию. Оценивая выплывет ли ржавый пингвин или потонет.
| |
|
|
2.250, Аноним (242), 19:21, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> создание форматированных строк по месту, они не смогли стандартизовать аннотации в комментариях
Это прямо киллер-фичи, по-вашему? И как же я жил без аннотаций в комментариях, ужас просто. Такое ощущение, что человек, который о C++ только читал докапывается до микроскопических мелочей.
А правда в том, что на текущий момент в современном C++ есть практически всё что нужно, все старые "болячки" исправлены. В последующих стандартах нужно не добавлять, а вычищать весь старый мусор (всё что связано с C). Все вот эти str-функции, malloc'и, memcopy и прочий ковбойский трешак.
| |
|
3.364, Аноним (356), 23:57, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> все старые "болячки" исправлены
Да-да, главное, не забудь добавить virtual к деструктору, если когда-нибудь от этого класса кто-нибудь будет наследоваться. Или не ошибись с типами шаблонов, иначе тебя может ошибка с описанием на несколько экранов, причем ничего вразумительного не говорящая о причинах.
Язык развивается странным образом -- все старые проблемы просто игнорируются и основная деятельность направлена лишь на добавление фич ради фич.
| |
|
4.417, Аноним (417), 04:00, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Да-да, главное, не забудь добавить virtual к деструктору, если когда-нибудь от этого класса кто-нибудь будет наследоваться.
А не надо использовать абстрактные классы налево и направо. Используй компоненты и мозг, а не анти-паттерны ООП, когда каждая сущность распилена на интерфейсы вплоть до атомов.
> Или не ошибись с типами шаблонов, иначе тебя может ошибка с описанием на несколько экранов, причем ничего вразумительного не говорящая о причинах.
Опять же, не зная броду - не лезь в воду. Не разобравшись в шаблонах, не стоит туда лезть. Лично я предпочту иметь сколь угодно сложную ошибку компиляции, чем любимое сишное UB во время исполнения.
| |
|
3.577, Аноним (210), 20:52, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> malloc
Скажи мне крутой плюсовик-затейник, ты видел как реализован неперегруженный operator new?
| |
|
2.259, trdm (ok), 19:41, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Сейчас задачи поменялись, требования к синтаксису возросли,
чьи требования? у кого выросли?
| |
2.292, Вы забыли заполнить поле Name (?), 20:50, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Вы поймите, эти люди из Си++ комитета до сих пор не стандартизовали создание форматированных строк по месту
Не гони, он включен в C++23. А типобезопасное форматирование не так просто как может показаться, посмотри, например на код absl::StrFormat().
| |
2.420, all_glory_to_the_hypnotoad (ok), 04:15, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> ... они не смогли стандартизовать аннотации в комментариях
И правильно делают, аннотации в коментариях это зло и всем, кто пробует нагрузить комментарии вспомогательной технической функциональностью, нужно открывать руки
| |
|
3.498, Серб (ok), 15:53, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> ... они не смогли стандартизовать аннотации в комментариях
> И правильно делают, аннотации в коментариях это зло и всем, кто пробует
> нагрузить комментарии вспомогательной технической функциональностью, нужно открывать
> руки
Это единственный безопасный способ свободно расширять язык не ломая совместимость.
Так у большинства известных мне языков.
Кроме perl'а, там создатель языка предусмотрел такую возможность.
| |
|
2.430, Neon (??), 04:55, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Стандартная библиотека С++ вызывает лишь матерные эмоции. Элиптические функции есть, а вот работа с сетью отсутствует. Что чаще нужно программистам в работе ? Эти люди из Си++ комитета больше для себя лоббируют, плюя на простых прикладных программистов. Все новые стандарты С++ вносят какую то дичь, нужную лишь разработчикам стандартной библиотеки. Развитие языка пошло куда то не туда после С++ 11 и 14. До сих пор не удосужились сделать нормальные многомерные динамические массивы. Чтобы без извращений с одним индексом
| |
|
3.557, bOOster (ok), 02:06, 25/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нормальные многомерные массивы - это одна из тех задач которые преподают на прикладном программировании. Если недопрограммист говорит - дайте мне "НОРМАЛЬНЫЕ" многомерные массивы - этот недопрограммист должен идти в армию очки драить, а затем дворы мести.
| |
|
|
1.17, Прохожий (??), 11:51, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
>Страуструп считает, что хороший статический анализатор, соответствующий рекомендациям C++ Core Guidelines, может обеспечить необходимые гарантии безопасности C++ кода, требуя значительно меньше затрат, чем переход на новые безопасные языки программирования.
Это если им пользоваться на постоянной основе. Но из-за лени или сжатых сроков мало кто будет. Так что общие затраты в итоге всё-таки будут гораздо выше, особенно для пользователей.
| |
1.29, Аноним (29), 11:58, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
> При этом разработчикам, которым не требуются подобные строгие гарантии безопасности, оставляется возможность продолжения использования старых методов разработки.
Возможно, люди не хотят, чтобы возможность усиленного ногострела существовала.
// А вообще, лучше б на D переходили.
| |
|
2.39, Бил Гейтс (?), 12:07, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
D не допилен, там много ошибок в реализации, но по факту он превосходит плюсы по синтаксису и лаконичности.
| |
|
|
|
|
6.372, Аноним (-), 00:36, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Иногда полезно отвлечься на написание кода от присваивания исключительных прав на достояние общественности. Больше буковок - больше труда рукам и килобайтов в исходнике, можете начать килобайтами меряться.
| |
|
|
|
3.589, Аноним (588), 04:00, 04/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
Чушь не городи! Что именно там "недопилено"? Или тебе васян 5 лет назад это сказал и ты как туnой попугай повторяешь?
У Ди ядро языка давно уже стабилизировано. Пока что весь сыр-бор с библиотеками - их надо обновлять под новую "идеологию Range", что-то придётся писать заново и т.п. Но для этого и нужно опенсорсное сообщество! У каждого найдётся что-то допилить.
| |
|
|
3.262, Аноним (262), 19:48, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
смотря как писать
в целом Ди может иметь скорость Си, иногда быстрее.
| |
3.591, Аноним (588), 04:03, 04/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
Чушь непомерная. Для Ди есть прекрасный фронтэнд с LLVM-бэкендом. На выходе "почти" Си-шная производительность. Размер неважен, сейчас всё большое.
| |
|
|
1.40, Вован (??), 12:08, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
"Надо просто программировать без багов!"
- Автор C++. Самого худшего языка после PHP.
| |
|
|
3.73, Анонн (?), 12:34, 22/01/2023 [^] [^^] [^^^] [ответить]
| +8 +/– |
Раст приняли в ядро линукса, что-то не видел такие новости про питон и пхп.
Да и про с++ что-то такого не слышал. А, точнее с++ упоминался в тредах про раст на lkml. Как пример как не нужно делать.
Ну и парочка любимых цитат
"C++ is a terrible language"
"C++ ended up with a bunch of terrible, unmaintainable garbage"
"C++ can't solve the problem of the C language at all, it will only make things worse. This is a really bad language."
Думаю сами догадываетесь чьи они))
| |
|
|
5.127, Анонн (?), 13:41, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Кому как, но сравнивая его и болтуна-теоретика Бьерна... Выбор очевиден!
| |
|
4.212, Аноним (210), 17:13, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Раст приняли в ядро линукса,
в ядро, которое написано на C. По твоей же логике получается, что C лучше.
| |
|
5.249, Анонн (?), 19:20, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Даже интересно как ты пришел к этому выводу...
Если бы раста был хуже си, то раст бы просто в ядро не добавляли.
Это вроде бы более чем логично. Ибо какой смысл?
Торвальдс (да и не только он) писал, что раст может решить часть проблем (с тему же memory issues) и хочет дать ему шанс.
Именно чтобы сделать ядро лучше. А с++ туда не приняли и не собирались.
=> (для ядра в частности и системного программирования в целом) раст лучше чем с++.
| |
|
|
3.81, Прохожий (??), 12:42, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Раст гораздо лучше. Он намного проще, у него стандартная развитая инфраструктура. Он по умолчанию не даёт рукожопить с памятью в большинстве случаев.
| |
|
4.190, Michael Shigorin (ok), 15:39, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> стандартная развитая инфраструктура
Как нетрудно догадаться, рукожопство перетекло в том числе и сюда. Да-да, вендоринг во все поля и проклятья со стороны занимающихся воспроизводимой сборкой (верещащие про безопасТность и не заморачивающиеся такой ерундой -- обычно помогают себе хвостом при перемещении по бранчам).
| |
|
5.215, Аноним (-), 17:16, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Про вендоринг говоришь... как так продвигается добавление поддержки e2k в gcc?
| |
|
6.253, Аноним (260), 19:23, 22/01/2023 [^] [^^] [^^^] [ответить]
| +6 +/– |
В любой непонятной ситуации переходи к обсуждению "Эльбрусов" (С).
| |
|
7.546, Аноним (-), 13:13, 24/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так а кто распушил хвост на Эльбрусах и вступил одновременно в картельный сговор?
| |
|
6.471, Аноним (471), 12:53, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Может заодно возродить Itanium, который с такой помпой продвигали неосиляторы Intel корпорации потратившей овердофига денег и обосравшись при этом?
Ты малыш не видел как это продвигалось с отдельной новой улучшенной версией Windows.
А GCC это проект GNU, который пытается примазаться ко всему Linux когда он уже далеко не 100% распространения имеет и пишется самостоятельно. То есть никто не обязан им выдавать нечто. GCC создавали в противовес платным компиляторам.
А в e2k компилятор часть платформы. Осилишь написать компилятор - вперед. Не осилит GNU написать компилятор - их проблемы. Никто им не обязан и тебе тем более открывать код платформы.
| |
|
5.367, Аноним (356), 00:06, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
cargo vendor сохранит все необходимые исходники для сборки в отдельный каталог. Можешь хранить их потом как угодно и из него собирать офлайново.
| |
5.484, Анимус (?), 14:51, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
О, пчёлы против мёда воюют, смотрите! Вендорлокнутый-то в итоге, это хорошо или плохо?
Ничего вендорлокнутого в карго нет. Хочешь, тяни пакеты из гита, хочешь, откуда угодно из сети, хочешь, со своего собственного диска Ц. Большинство не будут страдать фигнёй и притянут всё, что нужно с crates.io.
| |
|
6.501, Серб (ok), 16:02, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Большинство не будут страдать фигнёй и притянут всё, что нужно с crates.io.
Поэтому такие языки и не любят. Должны быть средства пробежаться по списку установленных в систему пакетов и использовать их, или предложить установить новые. Но никак не тянуть хз чего.
| |
|
|
4.214, Аноним (210), 17:15, 22/01/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
> у него стандартная развитая инфраструктура.
У амого языка нет стандарта, на этом можно закончить про то, что раст лучше С++
| |
|
|
|
|
|
9.312, Аноним (252), 21:45, 22/01/2023 [^] [^^] [^^^] [ответить] | –5 +/– | Конечно она там не описана Потому что она описана тут https github com rust-l... текст свёрнут, показать | |
|
|
|
|
|
|
3.500, Вован (??), 16:00, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
А мне что до раста? Я говорю что Си++ один из худших ЯП. Посади стеднтов 3 курса разрабатывать язык, скажи им можно пихать туда всё что угодно, любую идею, вот и получится поделие примерно одного уровня.
| |
|
2.61, Аноним (51), 12:23, 22/01/2023 [^] [^^] [^^^] [ответить]
| +14 +/– |
"Вы зачем код с багами пишете? Пишите код без багов!"
— Бьорн Страуструп, автор 14 разных методов инициализации в C++
| |
|
1.67, Аноним (67), 12:30, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
> Страуструп считает, что хороший статический анализатор, соответствующий рекомендациям C++ Core Guidelines, может обеспечить необходимые гарантии безопасности C++ кода, требуя значительно меньше затрат, чем переход на новые безопасные языки программирования.
В каком-то смысле Страуструп даже прав: если кому-то "переход на новые безопасные языки программирования" - это затратно, то значит не так уж для них и важна безопасность. А так аксиома Эскобара в чистом виде.
| |
1.76, Аноним (67), 12:36, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> Объектом критики также стало акцентирование отчёта АНБ только на проблемах работы с памятью, оставляя без внимания многие другие проблемы языков программирования, влияющие на безопасность и надёжность.
Акцентируют, потому что по статистике проблемы работы с памятью являются причиной более 70% уязвимостей в коммерческих проектах, написанных на C/С++.
Решение? Продолжать писать на С/C++! Спасибо, Бьёрн!
| |
|
2.131, фттщтшьгы (?), 13:44, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
чем больше фиксить баги - тем дольше ты будешь работать
сидеть "на поддержке" древнючего проекта и фиксить баги (а в процессе новых добавлять), возможно не очень интересно, но довольно выгодно
особенно если "это" написано на стандарте 99 года и половина специалистов уже померла от старости, и ты остался незаменимым (читай неувольняемым)
| |
2.293, Аноним (293), 20:50, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
А можно раздельную статистику по С и С++? В современном С++ прямого доступа к памяти через указатели стараются избегать. Больше используют умные указатели, контейнеры, да объекты, которые автоматически диапазоны проверяют.
| |
|
3.485, Анимус (?), 14:59, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
У Гугл подавляющая часть кода на С++, Си исчезающе мало. Я это к тому, что у Гугл +- та же статистика. То же самое с Мозиллой.
| |
|
2.421, all_glory_to_the_hypnotoad (ok), 04:28, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Всё ещё не спилили кобол, фортран, перл и просто си. Плюсы спилить невозможно по похожей причине, т.е. уже есть куча живого кода родом из далёкого прошлого которую невозможно за разумные сроки перенести на радикально другой ЯП. Например, PostgreSQL. Тем более настолько же функциональной альтернативы всё ещё нет. Бьёрн предлагает итеративное развитие языка и вслед за ним адаптацию кода по мере необходимости. Здесь он полностью прав.
| |
|
1.79, Rev (?), 12:41, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> Страуструп считает, что хороший статический анализатор, соответствующий рекомендациям C++ Core Guidelines, может обеспечить необходимые гарантии безопасности C++ кода
Так в Расте этот статический анализатор сделали обязательным, и он выдаёт не ворнинги, а ошибки. Всё.
Проблема C/C++ в том, что погромисты ленивые жопы, и мало кто применяет статические анализаторы. Да и какого фига их так много? Вот в Расте он один, в компиляторе. А кроме него можно линтеров накатить.
| |
|
2.106, Аноним (104), 13:07, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Нормальные программисты настраивают CI/CD, который компилирует проект под каждую платформу после каждого коммита, ну и заодно статический анализатор запускает
| |
|
1.83, Sergey (??), 12:43, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В новости написано :
> выполняющих проверки безопасной работы с памятью во время компиляции.
и
> Страуструп считает, что хороший статический анализатор,
В чем разница ?
| |
|
2.108, Прохожий (??), 13:09, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Разница в том, что использование анализатора необязательно. Кроме того, анализатор может не учитывать какие-то сложные случаи. А вот компилятор обязан.
| |
|
3.502, Серб (ok), 16:07, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А вот компилятор обязан.
Совсем нет. Если из исходников соберётся бинарник. Компилятор будет рабочим, хотя из без реализации проверок.
| |
3.519, Аноним (515), 21:06, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Разница в том, что в расте хайп вокруг статического анализатора... а про формальную верификацию молчок.
| |
|
|
|
2.156, Аноним (156), 14:14, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Так, и че дальше то? Помотал, просто рассказывают про кучу в контексте раста и структуру его типов в памяти
| |
|
3.220, Анончик (?), 17:34, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Дальше можно оценить мантру про безопасность работы с памятью и её необходимость.
| |
|
4.319, printf (?), 22:46, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Дальше можно оценить мантру про безопасность работы с памятью и её необходимость.
И какое ваше мнение?
| |
|
|
|
1.88, Аноним (88), 12:50, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
В его языке даже базовые арифметические операции вызывают неопределенное проведение, может быть это как-то исправить наконец?
В java и kotlin используется семантика заворачивания, при переполнении
В rust паника в отладочной сборке и семантика заворачивания в релизной.
В С++ неопределенное поведение.
Проблема же не только в автоматическом управлении памятью
| |
|
2.368, Аноним (356), 00:12, 23/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
В расте переполнение так же является ub. Так уж устроены современные процессоры. Но его легче отлавливать на отладочных сборках.
+ можно и релизные сборки собирать с проверкой на переполнение, но это сильно бьет по производительности и поэтому так никто не делает.
| |
|
|
4.580, Совершенно другой аноним (?), 22:54, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
По той ссылке, что Вы привели, в Rust результат переполнения при сложении зависит от ключей компилятора. Если задан ключ --debug, то одно, а если нет, то другое.
| |
|
|
|
1.92, Аноним (-), 12:55, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Из новости узнал, две вещи.
1). Страуструп не знает о существовании языка Раст. Это хорошо.
2). Страуструп вендузятник. Он же работал в Bell Labs, видел живых Кена Томпсона и Денниса Ритчи. Позор!
Приличный человек не должен знать таких слов, как "Microsoft Visual Studio".
| |
|
2.115, Прохожий (??), 13:25, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Другими словами, ты вообще ничего не узнал (не понял). Надеюсь, ты не программист?
| |
2.236, _kp (ok), 18:23, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Что бы ругать Visual Studio, с ней надо сперва поработать, и поработать с мучениями, иначе с чего её ругать.
Конечно, найдут что поругать и её любители, но не с такой же яростной реакцией.
Потом универсальных инструментоа не бывает, как бы их не позиционировали. И в Вашей любимой среде разработки, тоже явно не со всякой задачей продуктивно работать.
| |
|
1.93, Аноним (88), 12:57, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
У нас на работе куча программ на разных языках понаписано и нигде статического анализатора нет.
Даже встроенный в android studio инспектор и тот отключили.
В организации занимающейся аутсорсом тоже ни в одной программе не было статического анализатора.
Если его нет прямо в компиляторе, его не включают. Если компилятор просто печатает предупреждения, их игнорируют
| |
|
2.239, _kp (ok), 18:30, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Программисту Андроид программ отвечать ни за что не надо, достаточно не делать откровенно забагованное ПО. Если б меня перевели на разработку Андроид ПО, я б тоже сократил у программистов "лишние" операции по тестированиям, если что исправят в обновлении. ;)
| |
2.520, Аноним (515), 21:11, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>В организации занимающейся аутсорсом тоже ни в одной программе не было статического анализатора.
Потому что он в отдельной программе в пайплайне CI/CD. А варнинги не игнорируют, а трактуют как ошибки. Достаточно чтоб гайдлайны проекта и пайплайн этого требовали. Еще страшных историй?
>Если его нет прямо в компиляторе, его не включают.
Надо спросить где у растаманов формальная верификация происходит. В ихнем конпеляторе ее нет. "Если его нет прямо в компиляторе, его не включают" (с) Бггг.
| |
|
1.100, Аноним (100), 13:02, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Дед выдал базу, зумерки порвались. Навязывание анализаторов и линтеров путем встраивания их в компилятор - зло. C++ живет по сей день, потому что он гибкий и дает свободу разработчикам.
| |
|
2.117, Прохожий (??), 13:29, 22/01/2023 [^] [^^] [^^^] [ответить]
| –7 +/– |
У деда начальная стадия болезни Альцгеймера. Он застрял в 80-х годах прошлого века (как и большинство тутошних престарелых "экспертов") .
>потому что он гибкий и дает свободу разработчикам
А на пользователей и их проблемы из-за такой вот "свободы" плевать. Да?
| |
|
|
4.432, Neon (??), 05:02, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Лучше бы всех этих фичей не было бы. Язык окончательно превратился в помойку после С++ 14
| |
|
|
4.486, Анимус (?), 15:05, 23/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
А в Раст можно просто писать код и не сношаться с анализаторами, дебаггерами и линтерами. Прикольно, да?)
| |
|
|
2.151, Анонимусс (?), 14:08, 22/01/2023 [^] [^^] [^^^] [ответить]
| +6 +/– |
Да, он гибкий.
Позволяет гoвнoкодить десятками изощренных способов, отстреливая ноги себе и своим пользователям.
| |
|
3.279, Тот_Самый_Анонимус_ (?), 20:20, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну говнокодь только одним способом. Кто тебе мешает? Будто от наличия только одногоспособа твой код сразу выпрямится.
| |
|
|
1.122, Аноним (122), 13:33, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ] | +2 +/– | 1 Просто не нужно быдлокодить Я лично смотрел в сурцы некоторым опенсурц проек... большой текст свёрнут, показать | |
|
2.147, Прохожий (??), 14:04, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Просто не нужно быдлокодить
"Не виновата я, он сам ко мне пришёл".
Нет, это непросто. Это очень непросто, что и демонстрирует огромная куча литературы на тему хороших стилей программирования, а также на мене обширная база данных уязвимостей.
| |
2.153, freehck (ok), 14:11, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Просто не нужно быдлокодить.
Золотые слова. Но легко сказать, трудно добиться. Бизнес-то с тобой полностью согласен. Он не просто так развивает все эти новые языки: это ведь именно что способ принудить разработчиков не быдлокодить.
| |
2.187, Кот Анонима (?), 15:25, 22/01/2023 [^] [^^] [^^^] [ответить]
| +5 +/– |
> Просто не нужно быдлокодить
Надо просто запретить людям делать плохо, и все сразу станет хорошо. Почему до сих пор не сделали?
| |
2.238, Аноним (238), 18:27, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В Делфях
:D
Сразу видно настоящего программиста, который больше ничего не видел.
| |
|
3.407, Аноним (407), 02:39, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну так если вы ратеете за плюсы, ответьте по факту, почему в плюсах за 40 лет ничего нет даже близко по функиональности FastMM? чтобы показать все проблемы с памятью сразу?
| |
3.452, Аноним (452), 09:25, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Если в Делфях еще нужно писать ReportMemoryLeaksOnShutdown := True, то в Lazarus это просто включается по умолчанию в Debug режиме. И вы при каждом завершении программы будете видеть, была у вас утечка памяти или нет. Очень помогает. Full debug mode еще круче. Он ищет обращения к уже освобожденной памяти. Ну кстати бывает полезно скомпилить прогу под разные платформы. Что прокатывает на 32х битах, то падает на 64х.
| |
|
|
1.135, Аноним (135), 13:49, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Он просто не знает, что как только начинаешь писать на расте, все баги сами себя фиксят и волосы становятся шелковистыми.
| |
|
2.144, Анонн (?), 14:01, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Так вот к чему приводит кодинг на с++!
Вот ему и обидно, что его волосы уже не станут шелковистыми даже если он начнет писать на расте((
| |
|
3.180, Аноним (180), 15:08, 22/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Открываю секрет ни у кого волосы не станет шелковистыми от писания на расте. И баги сами себя фиксить не будут.
| |
|
|
5.593, Аноним (593), 23:28, 05/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
Сам их повыдираешь после часа работы с растаманскими указателями. :))))
| |
|
|
|
2.310, Аноним (248), 21:31, 22/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> все баги сами себя фиксят
стандартная мантра растохейтеров про якобы заявления растоманов. За "все баги" только вы, сишники, заявляете. А растоманы заявляют за отсутствие в растовских прогах 70% типичных сишных ошибок, которые (во какая оказия и несправедливость, не иначе, саботаж!) допускают "ненастоящие" си-программисты. Наверное в стек между ушами у сишников не помещаются все эти рекомендуемые Бьёрном Guidelines, выход за границы буфера происходит.
| |
|
1.141, Sw00p aka Jerom (?), 13:58, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
эх я то думал он серьезный дядька, повелся на заявления какой-то там мутной конторы, комментировать даже не буду.
| |
1.149, Анонн (?), 14:05, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вообще его "письмо" крайне прикольное. Чего только стоит:
"To the best of my knowledge, no experts from the ISO C++ standards committee were consulted."
Т.е. он не реальных щах считает, что к членам с++ комитета должны были придти аннбшники и спросить "а не багованое ли ваше поделие?"
И они такие "нет конечно, у нас самый лучшый язык в мире!"
А анбешники "а, ну раз вы так говорите, то вычеркиваем"
| |
1.171, Аноним (171), 14:35, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
теперь внезапно выяснится, что мистер Страуструп уже лет 150 неистово донатит фанатикам-поборникам традиционных семей и достоин всяческого осуждения?
| |
1.179, Аноним (180), 15:07, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Хоть один нормальный человек среди всей это кодлы. Бьёрн всегда был нормальным человеком.
| |
|
|
3.205, Аноним (180), 16:23, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Придумал единственное нормальное? Так поэтому и придумал что нормальный, а тебе бы голову полечить не помешало бы.
| |
|
|
5.573, Вы забыли заполнить поле Name (?), 19:52, 25/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> И куча дыр в нем именно из за этого.
Ну напиши на расте и без дыр. 17 лет прошло с момента создания языка. В чем же проблема? Почему, зачем, во имя чего вы упорствуете, Мистер Андерсон?
| |
|
|
|
|
|
2.208, Алан Тьюринг (?), 16:40, 22/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Только выбор всегда идет между: "дрявый и медленный", "быстрый и дрявый", дрьявый как ваш покорный слуга
| |
|
3.226, Аноним (180), 18:01, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Выбор идёт между софтом, который есть и софтом которого нет. В таком случае выбирают тот софт, который есть.
| |
|
2.244, _kp (ok), 19:15, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Не все программисты могут осилить надёжный стиль на Си подобных языках.
У кого то быстрый код вовсе не взлетит.
А на медленном безопасном задача коть как то будет решена.
Ещё тормоза в управляемых языках в значительной степени связаны с парадигмой программировпния. В том же С# если всё заеихать в статики, и писать как на самом деревянном диалекте Си, догадаетесь какое будет быстродействие? Крайне высокое. Только не всякая задача вменяемо решается таким образом.
| |
|
3.270, Вы забыли заполнить поле Name (?), 20:02, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> догадаетесь какое будет быстродействие? Крайне высокое.
Да-да. А еще если отключить сборщик мусора, то и обгонит... Говорят в каком-то софте для биржи на джаве так делают.
| |
|
4.290, Аноним (210), 20:48, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
С виртуальной машиной в виде. Net он никогда не будет быстрым что ни делай с ним
| |
|
|
6.567, Аноним (565), 18:52, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Игры на Юнити тормозят по той причине, что их делают в большинстве своём вчерашние студенты, которые не задумываются о простейших оптимизациях ассетов.
| |
|
7.574, Вы забыли заполнить поле Name (?), 19:58, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Игры на Юнити тормозят по той причине, что их делают в большинстве
> своём вчерашние студенты, которые не задумываются о простейших оптимизациях ассетов.
Какая игра на Юнити не тормозит и не жрет ресурсы? Можно ссылку?
| |
7.586, Аноним (585), 05:20, 28/01/2023 [^] [^^] [^^^] [ответить] | +/– | Unity для игроделов это как электрон для писателей десктоп софта Тебе не нужно ... большой текст свёрнут, показать | |
|
|
|
4.415, _kp (ok), 03:19, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> догадаетесь какое будет быстродействие? Крайне высокое.
> Да-да. А еще если отключить сборщик мусора, то и обгонит... Говорят в
> каком-то софте для биржи на джаве так делают.
Сборщик мусора статическому коду и объектам не мешает, а отключить надо лишние проверки в критичных местах, в релизе.
Но это скорее полу спорт, чем практическая задача. Формально программа типа на c#, но кучей плюшек не пользуется, и не сокращает ни фремя разработки, ни добавляет фич.
Лично я в таком стиле только эмулятор 386 писал, именно со спортивным интересом.
| |
|
|
|
1.217, Rock (?), 17:24, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Мда... А кошка слушает, да ест. У всех значимых корпораций: Майкрософт, Оракл, Гугл, Эпл есть собственные языки программирования. А у некоторых даже два. Да, они участвуют в развитии стандарта С++, в конференциях, но по факту каждый спешно ищет пути соскочить.
| |
|
|
3.311, Аноним (248), 21:37, 22/01/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Потому что довлеет наследие десятилетий. Не выкинешь же сразу старое г.вно, когда другого еще не нас.рал. А старого на миллион авгиевых конюшен навалено, гераклов на всех не хватает. Ну и плюс старое пока продолжает приносить деньги, а качество у конкурентов такое же, ибо такое же старое.
| |
|
|
5.556, Онтоним (?), 00:25, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Скорее, что имела место быть эволюция.
Начинали делать инженеры для себя, как для людей. И вышло может и с косяками, и не всё сразу придумали, но результат закономерно оказался хорош.
Коммерсы посмотрели. И попробовали развить... Тот же Ведроид, современный Веб. И вышло безмозглое в конце ненужно. При всей продуманности, эффективности, окупаемости оно часто больше не даёт такого, без чего в жизни не было бы ох и ой.
| |
|
4.558, bOOster (ok), 02:32, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Да все проще. Все кто что-то может в программировании не видят смысла в маргинализации своих продуктов.
| |
|
3.571, Аноним (570), 19:15, 25/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Потому что каждый пилит свое, а нужно объеденить силы в одном направлении.
| |
|
|
1.219, 3draven (ok), 17:33, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Большая часть разработчиков просто мартышки, как и большая часть людей вообще. Так что язык просто не должен позволять стрелять себе в ногу и все. Если позволяет и его надо обмазывать анализаторами и настройками с гайдами, это приводило и будет приводить к проблемам. Для идеального программтста гайды рулят, для реального...эта критика от автора языка, который уходит в легаси не катит для реальных условий.
| |
|
2.225, Аноним (180), 18:00, 22/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Язык не должен говорить что тебе делать. Подумай об это когда научишься думать.
| |
|
1.230, Аноним (230), 18:12, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Страуструп окончательно окочурился с своей лбратной совместимостью т превращению языка в помойку.
| |
|
2.267, Вы забыли заполнить поле Name (?), 19:57, 22/01/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
> превращению языка в помойку.
Вообще-то последние нововведения очень хороши: std::format, expected, концепты, корутины, модули. А обратная совместимость она важна. Растоманам не понять.
| |
2.409, wyry (?), 02:40, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вот даже не начинайте. За нарушение обратной совместимости надо просто незамедлительно уничтожать. В Аду есть особая печь для тех, кто нарушают.
| |
|
3.472, annonn (?), 12:58, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
не, нужно тащить за собой тонны старого кода, поддерживать копролитические платформы и все ражи 2-3 калек которые сидят на железе 30 летней давности!
офигенный план
| |
|
|
1.233, Аноним (233), 18:20, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Дед высказал своё мнение, в котором он недоволен молодёжью. Не хотят молодые суп вилкой хлебать, хоть ты бей их.
| |
|
2.261, Максим (??), 19:46, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
А молодые вообще ничего не хотят - только чтобы им всё разжевали и в рот положили, да "дедов" пообсирать, которые всё современное IT создали.
| |
|
|
4.475, annonnimuss (?), 13:03, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
о, начинается старческое нытье в стиле "раньше было лучше", "молодеж совсем от рук отбилась", "деды кал жрали ложкой, а эти не хотят"...
к счастью этому уже больше 1к лет, вот еще Сократ писал «Нынешняя молодежь привыкла к роскоши, она отличается дурными манерами, презирает авторитеты, не уважает старших, дети спорят со взрослыми, жадно глотают пищу, изводят учителей».
| |
|
5.550, Серб (ok), 14:19, 24/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> к счастью этому уже больше 1к лет, вот еще Сократ писал «Нынешняя
> молодежь привыкла к роскоши, она отличается дурными манерами, презирает авторитеты, не
> уважает старших, дети спорят со взрослыми, жадно глотают пищу, изводят учителей».
Сократ жил в Афинах во время Пелепонесской войны. В которой Афины потерпели поражение. Он был прав.
| |
|
|
3.575, Аноним (570), 20:03, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Создали бы без косяков то можно было бы возмущаться, а так так себе аргумент.
| |
|
2.526, Аноним (526), 21:49, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Сейчас даже фрукты и овощи не принято резать и всё такое. Их принято есть в виде смузи. Смузи это когда все положили в блендер и измельчили. Даже не ты, а специально обученный человек.
| |
|
3.568, Аноним (565), 18:55, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
А что плохого в смузи? Под твоё описание подходит обыкновенный банановый молочный коктейль. Ты не любишь банановые коктейли?
| |
|
|
1.264, Максим (??), 19:51, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Си и Си++ дают свободу мысли и творчества. А вы и дальше программируйте на своих душных псевдобезопасных языках и обязательно слушайте, что говорит АНБ!
| |
|
2.453, Аноним (260), 10:02, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Филологам в IT не место. Программа -- это не школьное сочинение на тему "как я провёл лето", в ней не должно быть места отсебятине, а значит и таким халтурным языкам как C и C++.
| |
2.576, Аноним (570), 20:23, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Свобода мысли и творчества, вот только большинство тупо гуглят готовый код.
| |
|
|
|
|
4.340, Аноним (340), 23:19, 22/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
И прическа не из барбершопа, и волосы не фиолетовые, и штанишки не узкие, и сникеры не модные, и бицепсы не выпирают...
Фу, ненастоящий какой-то программист.
| |
|
|
|
1.315, Аноним (315), 22:02, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
“ Создатель C++ раскритиковал навязывание безопасных языков программирования” - сами языки программирования это хорошо. А навязывание конечно плохо.
| |
1.351, Аноним (351), 23:35, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Комментаторы раст-хейтеры с батхёртом от того что не хотят / не могут осилить ничего нового.
Майкрософт говорил что 80% всех уязвимостей за 2020 (или какой там) год - это мемори сейфти, поэтому Раст отлично заходит. (Ищите сами ссылку на это если нужно).
Не понимаю как профессионал может говорить что один язык лучше или хуже. Это как бензопила лучше чем перфоратор. Или я работаю молотком (С/С++) последние 20 лет и все нормально, значит отвёртки и все другие инструменты не нужны.
| |
1.365, Аноним (365), 23:58, 22/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Товарищи майоры оставили бекдоры, и теперь, чтобы замять "это грязное дело" нужно объявить, что вина тому только безопасная работа с памятью, а не их многочисленные закладки. А здорово вы это придумали, я сразу и не догадался!!!
| |
|
2.423, Аноним (242), 04:35, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
На мотив "Мурки",
Товарищи майоры
Оставили бекдоры
И решили дело то замять.
Сишку обвинили
Чтоб все её забыли
И пошли на Расте все писать.
| |
|
1.369, Аноним (369), 00:16, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
а) Дипстейт продвигает безопасные(но при этом централизованные или уже закрепощенные) решения что бы иметь меньше головной боли
б) Дипстейт предвидит волну отхода от безопасных языков и намеренно создает собой антирекламу(скорее всего нет)
Судя по описанию слов деда в статье, дед опять пыхтит и оправдывается.
P.S C++ в нынешнем виде и наследием обратной совместимости выглядит как треш. Rust имел все шансы, но превращается в ахтунг, и сектанство вокруг него какое-то нездоровое.
| |
|
2.380, Аноним (-), 01:01, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Я хотел написать, что Ruby нравится гораздо больше чем Python. Поправка.
| |
2.412, Аноним (407), 02:45, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну вот мне нужна работа на десктопе на разных платформах. Гуи с кучей сложных виджетов и MVC. Работа с мультимедиа (как ffmpeg, так и медиа API осей напрямую). Возможность работать с API графами и всякие рисовашки на сцене. При этом все это добро должно достаточно быстро и сносно работать. Желательно интеграция со всякими CI/CD и тестовыми фреймворками.
Попадает под список требований только C#, Java, C++.
К сожалению, работа с гуём на C++ организована на порядки лучше благодаря Qt, поэтому C# и Java отваливаются. Когда будут стабильные рабочие биндинги для Qt под Rust - смело перейду на него. А пока да, С++ адекватной замены нет. Пытаться сидеть на вот этих Java/D/Ruby это как раз таки "жрать кактус" вместо решения бизнес-задач.
| |
|
3.419, Аноним (416), 04:12, 23/01/2023 [^] [^^] [^^^] [ответить] | +/– | Все верно Qt слили немного денег на реализацию GUI вот и путь цена до результат... большой текст свёрнут, показать | |
3.437, anonymous (??), 06:50, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Писать десктопное приложение, дёргающее API ОС для отрисовывания это конечно не абстрактный конь в вакууме. Каждый день все этим занимаются. Требуется примерно 0,00001% разработчиков. Про бизнес-логику поржал, да. Java для того и сделали, чтобы бизнес-логику по сути писать, не заморачиваясь переносимостью.
Я не буду спорить, что Qt очень много сделал для плюсов. Но мы говорим вообще-то про энтерпрайз код, а там альтернативы Java по сути нет и не было.
P.S. Ruby on Rails как был, так и есть лучшим веб-фреймворком. Только JS макаки в него не могут никак. Что ни в коей мере не мешает использовать Ruby примерно в любой прикладной задаче.
| |
3.594, Аноним (593), 23:35, 05/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Ну вот мне нужна работа на десктопе на разных платформах
Кто тебе сказал, что тебе нужны "разные платформы"? Ты сам это выдумал из ****опы и ставишь в требования. Просто посиди, подумай - так ли оно тебе надо и внезапно окажется, что в пень не упёрлось.
| |
|
2.522, Аноним (522), 21:27, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Java
Медленнее C++, жрёт больше.
> D
Прикольный язык, писал на нём. Но он не особо популярен и мало библиотек.
> C#
Слишком много Microsoft.
> Ruby, Python, да хоть на JS!
Медленные скриптовые языки.
| |
2.563, Аноним (563), 13:35, 25/01/2023 [^] [^^] [^^^] [ответить] | +/– | Была модная концепция, что плюсцы заменят собой чистый си, и заодно станут языко... большой текст свёрнут, показать | |
|
|
2.445, Аноним (445), 07:52, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
C++ (и его подмножество C) - единственный язык. Других не существует.
| |
|
3.489, Аноним (-), 15:13, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Толсто. Си - это отдельный язык. Он к Си плюс-плюс никакого отношения не имеет.
| |
|
2.449, Аноним (449), 08:32, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
счасть есть, его не может не быть! увольняешься из гугла и вот оно
| |
2.561, Аноним (563), 13:17, 25/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Остальные хуже исключительно из-за вашей ограниченности и излишней специализации в одной технологии.
Вместо того, чтобы мудохаться с вашими наркоманскими тулкитами и зоопарком компиляторов и билд-системам (это помимо той наркомании, что в самом языке), люди и корпорации пошли по пути создания и использования более простых и отвечающих потребностям инструментов. И вспять этот процесс уже не повернуть.
Под винду еще какое-то время попишете на своих плюсцах. А потом всё.
| |
|
1.444, Аноним (445), 07:51, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> развиваемые последние годы базовые рекомендации по использованию C++ (C++ Core Guidelines)
С учебником (любым) пробовали ознакомиться?
| |
1.456, Простоник (ok), 10:41, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
C++ действительно не позволяет писать надёжный код.
С проблемой утечки памяти в браузерах, пользователи сталкиваются каждый день. Но есть и вторая сторона медали - это переносимость кода. Так что если нужно обеспечить переносимость,то выбора в общем-то и нет. На больших объёмах кода утечка памяти гарантируется.
| |
|
2.464, Аноним (445), 11:52, 23/01/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
> C++ действительно не позволяет писать надёжный код.
Да неужели?
> Но есть и вторая сторона медали - это переносимость кода.
И она изумительная у С++.
> На больших объёмах кода утечка памяти гарантируется.
Нет.
У Вас что в дипломе написано? У меня в специализации "Разработчик С++".
| |
2.468, Простоник (ok), 12:18, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Диплом это здорово, конечно, ваш диплом может помочь решить проблему с утечками памяти в отрасли?
Видимо, корпорации Google, Microsoft и пр. так и не смогли вас нанять вовремя, и теперь обречены на страдания с багами.
| |
|
3.538, Аноним (538), 07:52, 24/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
Если заглянуть в новости они на оборот по увольняли, нецросети будут работать за место этих всех бездарей.
| |
|
|
1.460, Аноним (458), 11:00, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Жертвовать безопасности ради эффективности? Ну такое себе. И лучше раньше думать о безопасности, чем потом гайдлайны прикручивать к хромой собаке.
| |
|
2.465, Аноним (445), 11:54, 23/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> И лучше раньше ..., чем потом
Потом это, очевидно, будет делать другой разработчик. В таком случае лучше переписать весь код заново.
| |
|
1.466, h (?), 11:58, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Мнение этого человека чётко и по делу. Каков он сам и есть.
| |
1.477, Аноним (477), 13:21, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
C++ действительно небезопасен. Элементарно передать в функцию ссылку на объект на стеке вызывающей функции - и вот вам use-after-free. Смарт-указатели от этого не спасут - они держат данные на куче, а куча - это медленно, никто не будет хранить каждую переменную на куче. Rust решает эту проблему - данные хранятся по-умолчанию на стеке, как в обычном C++, можно передавать ссылки, но borrow checker следит за тем, чтобы use-after-free не было. Я не знаю, как мы C++ и C без этого живём, наверное в нашем коде use-after-free на use-after-free.
| |
|
2.482, Аноним (242), 13:56, 23/01/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Элементарно передать в функцию ссылку на объект на стеке вызывающей функции - и вот вам use-after-free.
И где там free, фантазёр?
| |
|
3.503, Аноним (477), 16:11, 23/01/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
>This temporary space is automatically freed when the function that called alloca() returns to its caller.
>Do not attempt to free(3) space allocated by alloca()!
Читать умеешь?
| |
|
4.507, Аноним (507), 18:24, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
пиши нормально, нормально прочтем
> Элементарно передать в функцию ссылку на объект на стеке вызывающей функции
Пока мы внутри вызываемой функции, стек вызывающей все еще жив и никто его удалять не собирается. Так что твой пример надо дополнять, а то сейчас и thiscall как use-after-free
| |
|
|
|
1.478, Аноним (477), 13:24, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Carbon Language is currently an experimental project. There is no working compiler or toolchain. | |
|
2.479, Аноним (477), 13:25, 23/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Most of Carbon's design discussions occur on Discord.
Смузихлёбы detected.
| |
|
3.536, Аноним (585), 06:27, 24/01/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Там не только смузи, там ещё гендерная херня головного мозга креди команды разработчиков. Зашёл как то раз, посмотрел "бейджи" у цветных профилей, проблевался и вышел.
| |
|
|
1.583, anonymous (??), 22:33, 26/01/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
А давайте отменим python. С памятью у него, конечно, проблем нет. Но сколько же угроз безопасности создаёт eval как предпочтительный метод чтения конфигурационных файлов.
| |
1.595, Пряник (?), 10:59, 09/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Страуструп считает, что хороший статический анализатор, соответствующий рекомендациям C++ Core Guidelines, может обеспечить необходимые гарантии безопасности C++ кода
Эти языки и есть этот самый статический анализатор. Всяк кулик своё болото хвалит...
| |
|