1.4, Ordu (ok), 22:00, 27/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
> Для повышения информативности сообщений об ошибках стабилизирована поддержка атрибута "#[track_caller]", полезного для функций, подобных unwrap, в которых не исключается возникновение сбоев (panic) при некорректном использовании типов. Указанный атрибут будет использован обработчиком panic для вывода местоположения вызывающего в сообщении об ошибке.
Полезная штука. А то обработка паники накидывает несколько стековых фреймов, поверх того места, где panic! был вызван, при этом, часто мне не интересно где был вызван panic!, мне интересно где был сделан unwrap, приведший к панике, и приходится этот бектрейс глазами сканировать, выискивая нужное место. А тут можно сразу пропустить кучу неинтересных стековых фреймов и начать втыкать глазами туда, куда собственно нужно.
| |
1.1, Урри (?), 21:49, 27/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +13 +/– |
А вот и констэкспрешшены из плюсов подвезли. Глядишь, лет через 30 будет новый нескучный С++.
Зачем, только, если уже есть один...
| |
|
2.3, Аноним (3), 21:54, 27/08/2020 [^] [^^] [^^^] [ответить]
| –5 +/– |
У Раста нет ниши, они даже нишу языков для браузерных движков занять не смогли.
| |
|
3.19, Аноним (19), 22:52, 27/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ниша - замена легаси вроде C/C++ + веб-разработка. Отличные ниши.
| |
|
4.39, Аноним (39), 23:59, 27/08/2020 [^] [^^] [^^^] [ответить]
| –6 +/– |
Но ведь си это не легаси. Это модерн. Сказал я, только вчера выяснял почему в программе происходит какая-то дичь, оказалось на этой строчке int ret=execvp(args->argv[0], args->argv); argv не был инициализирован. Упс. Да, конечно, санитизеры без проблем нашли это в рантайме, но компилятору было норм. Копипаста до добра не доводит. Там ещё с фоновым тредом развлекуха была. Помог бы тут руст? Ну, вряд ли. Смысл как раз в том, чтобы иметь минимальный оверхэд в рантайме.
| |
|
5.41, Аноним (39), 00:17, 28/08/2020 [^] [^^] [^^^] [ответить]
| –3 +/– |
Ps. но я что-то не понял чем санитизер сейчас не доволен, кто-нибудь может пояснить мне? 223 ему нравится, а меньше нет. У меня там стояло 16 и больше 12 быть не может.
void get_vals(char **buf,unsigned *var)
{
char varbuf[223];
char *varbufp=varbuf;
unsigned char vari=0;
for(char *bufp=*buf;*bufp!='\0';bufp++) {
if (*bufp==' '||*bufp=='\n') {
if (varbufp==varbuf) continue;
else {
*varbufp='\0';
var[vari++]=atoi(varbuf);
varbufp=varbuf;
continue;
}
}
*varbufp++=*bufp;
}
*varbufp='\0';
}
| |
|
6.45, topin89 (ok), 00:34, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ошибка здесь скорее всего
var[vari++]=atoi(varbuf);
вместо
var[vari++]=atoi(varbufp);
Думаю, не ругается, потому что при таком размере стека его не пробивает.
Кстати, почему передаётся **buf, но используем только первая строка? Думаю, будет лучше
void get_vals(char * const buf,unsigned *var)
EDIT: Наглядный пример, что санитайзеры не всегда дают ответ, на какой конкретно строчке проблема. Как и то, что уж лучше с ними, чем совсем без них.
| |
|
7.48, Аноним (39), 00:49, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Там buf байты на хипе (да, теоретически может быть переполнение, там их 256, но практически этого не случится никогда и 16 байтов на одно значение за глаза -- там UINT_MAX ограничено), var инты на стеке. Я так и не понял, как передать инты на хипе, выдаёт note: expected 'unsigned int *' but argument is of type 'unsigned int (*)[3]', но на стеке вполне работает.
varbufp вместо varbuf выдаёт одни нули, а не значения, это явно не то что мне нужно.
| |
|
|
|
10.58, topin89 (ok), 01:34, 28/08/2020 [^] [^^] [^^^] [ответить] | +/– | Ух Надеюсь, ты сейчас в процессе обучения Тогда ошибки -- это нормально, а руг... большой текст свёрнут, показать | |
|
|
|
|
6.46, None (??), 00:38, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Эммм... а что, готовой функции распарсить не нашлось? тот же scanf
Ну и тут санитарзер особо не нужен - из исходного buf идёт копирование без каких-либо проверок, вписались в выделенный размер или нет. Так на C нельзя писать. Что вы выиграете? Некую производительность ценой порчи стека в непредсказуемой ситуации?
| |
|
7.49, Аноним (39), 00:51, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
В непредсказуемой ситуации мы уже потеряли ядро, это единственный вариант. Или космические лучи, я не знаю.
| |
|
|
7.84, Онаним (?), 08:41, 28/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Вы удивитесь, но куча народу пишет именно так. Даже если в конкретном случае это троллинг.
А потом мы удивляемся - "ачигосишечкатакаядырявая". Это не сишечка дырявая, это головы дырявые.
| |
|
6.91, Ordu (ok), 09:20, 28/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
А можно поинтересоваться для повышения образованности? Что за схема именования переменных? У меня эти имена вообще в голове не укладываются, я не могу читать код, потому что они путаются у меня в голове. Не вижу схемы, не вижу смысла => они все одинаковы для меня. Мне кажется, что рандомно-сгенерированные наборы букв были бы читаемее.
var, buf, p, и всё возможные комбинации из трёх. Зачем? В латинском алфавите 26 букв, можно было бы под каждую переменную выделить свою букву, и было бы читаемее чем это. И, кстати, короче.
| |
|
7.163, Аноним (39), 21:06, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Суффикс p использован для указателя, вполне читаемое, если видеть, что varbuf это максимум 1 инт в виде текста (до 10 байт по-моему), buf это весь текст прочитанный из файла, а var и vari это искомые значения в виде интов и текущий индекс в массиве. Мне так удобно. Я бы мне смог воспринимать это в виде i j k l m.
| |
|
|
7.160, Аноним (39), 20:49, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
А вот это правильный ответ! В данном случае оверкил, мне кажется, но этот вариант намного лучше альтернатив.
| |
|
|
7.161, Аноним (39), 20:50, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
>>++=
> руки бы тебе оторвать за такое
Себе лучше оторви что-нибудь. Небось и от готу бегаешь, как от огня.
| |
|
6.132, Ordu (ok), 14:00, 28/08/2020 [^] [^^] [^^^] [ответить] | +/– | Задумка этого кода в том, чтобы прочитать три инта из строчки Инты разделены пр... большой текст свёрнут, показать | |
|
7.152, Ололо (?), 19:35, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> while(isspace(*p) && *p != '\0')
> while(isdigit(*p) && *p != '\0')
На этом мог бы и закончить очередной сеанс самолюбования.
Уже из этих двух строчек твой уровень в программировании (не только в C) вполне ясен.
| |
7.159, Аноним (39), 20:48, 28/08/2020 [^] [^^] [^^^] [ответить] | +/– | Да, да, спасибо Одна строка, три инта разделённых пробелами, завершается новой ... большой текст свёрнут, показать | |
|
8.177, Ordu (ok), 00:00, 29/08/2020 [^] [^^] [^^^] [ответить] | +/– | Ты сначала напиши, померь скорость, а потом думай где тормозит Если ctype h буд... большой текст свёрнут, показать | |
|
|
10.190, Ordu (ok), 09:45, 29/08/2020 [^] [^^] [^^^] [ответить] | +/– | Какие вычисления тебе не нужны Проверка на пробел не нужна В твоём коде эта пр... большой текст свёрнут, показать | |
|
|
|
|
|
5.54, Аноним (19), 01:20, 28/08/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
Руст скорее всего не дал бы это использовать и ругнулся бы
И Руст как раз минимален, поскольку тоже zero cost abstraction
| |
5.81, Lex (??), 08:11, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ууу. Обращение к элементу массива без проверки его наличия и длины..
Нынче за это нередко даже в JS карают
| |
|
6.164, Аноним (39), 21:09, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Так прелесть си как раз в том, что от таких проверок можно отказаться, если они совершенно точно не нужны никогда. На постоянные проверки уходит не мало ресурсов.
| |
|
7.187, Lex (??), 07:47, 29/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Так прелесть си как раз в том, что от таких проверок можно
> отказаться, если они совершенно точно не нужны никогда. На постоянные проверки
> уходит не мало ресурсов.
На самом деле, не так уж и много, поскольку тяжёлых вычислений и обращений к апи для этого не требуется.
Просто в вебе может происходить что угодно( даже если на клиенте абсолютно уверен, что где-то какой-то ситуации уж точно быть не может, но данные добываются с бэка, проверку лучше сделать, ведь какая-нибудь бэкендомакака обязательно запилит свой крутой бэк так, что вместо оговорённого заранее массива в т.ч пустого иногда будет прилетать null, что приведёт к вылету даже при попытке просто узнать длину массива )
| |
|
|
9.218, Lex (??), 09:20, 30/08/2020 [^] [^^] [^^^] [ответить] | +/– | Частоиспользуемые методы что на стороне браузера, что на стороне гибридных прило... большой текст свёрнут, показать | |
|
|
|
|
|
4.140, СССР (?), 15:37, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
С++ развиватсяв ногу со временем, почему это легаси? а вот наоборот легаси это некогда современный взгляд на через чур абстрауцию работы с данными. это легаси.
| |
|
5.196, Аноним (19), 17:15, 29/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Настолько развивается, что до сих пор нет нормальной системы сборки без позорного синтаксиса и официального пакетного менеджера
Даже модулей нигде нет и не будет ещё лет 10
C++ похож на бабулю, которая пытается одеваться в молодёжные шмотки, но в итоге косплеит колбасу
Без обид, сам пишу на плюсах достаточный срок, и до сих пор на них остаюсь из-за Qt
| |
|
6.215, СССР (?), 00:11, 30/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
без официального пакетного менеджера - а что мешает либу так прикрутить? выбрал либу, скачал нужную версию. Вы хотите программу как сайт писать, в шапке указать 100500 ссылок на js и css ?
Модули , хз в QT имеется.
С++ на бабулю? )) только вот работает эта бауля как юнец - спортсмен, а тот же питон как дед пирдет. но это ладно.
qt прикольная тема, если бы не она то да , кросплатверненные гуи наверное бы лучше было бы писать на электроне или флаттере. но это фрэйморк. Но если бы стояла бы задача написать бэк для хайлоад то я бы использовал си.
| |
|
|
|
|
2.70, Аноним (70), 04:17, 28/08/2020 [^] [^^] [^^^] [ответить]
| +7 +/– |
Затем, что современный С++ - это лютый пипец на 2000 страниц стандарта. Такое ощущение, что туда пихают все, что приходит комитету в голову. Выучить это нереально и уж конечно на все 100% этот монстр использоваться не будет. Ну так и нафига он нужен, если есть более компактные и удобные языки?
| |
|
3.108, Аноним (-), 11:50, 28/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ты так пишешь, будто современный Ржавч лучше. Стандарта нет, но для языка, который кичится отсутствием UB, это только показатель его недоделанности. Синтаксис страшнее самых страшных плюсовых шаблонов, а поддержка ООП при этом даже не заявлена.
| |
|
4.109, Аноним (70), 11:55, 28/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да и нафиг не надо ООП, я в нем разочаровался, когда попробовал ФП в лице Erlang. Синтаксис нормальный, страшно только поначалу. А то что стандарта нет... Видели мы эти стандарты, 30 страниц стоит 11 килорублей, в общий доступ никто не выложил. Спрашивается, на кой х мне этот стандарт, если я его прочитать не могу.
| |
|
|
6.118, Аноним (70), 12:29, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
И как же ж их делали до появления ООП... Наверно, мазохистами все были.
| |
|
7.122, Аноним (240), 12:35, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
В те времена они ещё были такие, что умещались в 640 кбайт или меньше. И да, мазохисты, на разработку тратили гораздо больше человекочасов.
| |
|
6.119, Аноним (70), 12:32, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
И то, что есть в C++, Java и других монстрах - не ООП в том виде, в каком оно задумывалось. В этом смысле как раз Erlang со своей моделью акторов ближе к оригинальной идее ООП.
| |
|
7.123, Аноним (240), 12:37, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Может быть, но Erlang, мягко говоря, не взлетел дальше телекоммуникаций.
| |
|
|
9.129, имя_ (?), 13:34, 28/08/2020 [^] [^^] [^^^] [ответить] | +1 +/– | эрланг хорош, но ведь фейсбук не выбирал его, это выбор изначального разработчик... текст свёрнут, показать | |
|
|
|
|
|
|
3.188, asdasd (?), 08:46, 29/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Так, блин, и не используйте что вам не надо. Туда добавляют то что не хватало. В C++14 дали возможность в lambda'ы прокидывать значения, как в std::bind, make_unique и т.д. В C++17 fold expression что очень многие вещи упрощает, плюс теже constexpr if, плюс инициализация в if'е.
| |
|
4.192, Аноним (192), 11:53, 29/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Так, блин, и не используйте что вам не надо.
Вот я и не использую С++
| |
|
|
|
1.2, Аноним (3), 21:52, 27/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –13 +/– |
Всех программистов уже выгнали за то что не смогли нормальный язык сделать, а они все равно новые релизы это ненужно пилят.
| |
|
2.7, Аноним (7), 22:14, 27/08/2020 [^] [^^] [^^^] [ответить]
| +8 +/– |
Мне так нравится, что старым сишникам от этого неприятно. Казалось бы ну пилят и пилят, но на опеннете каждый раз такая боль у комментаторов.
| |
|
3.8, аноним3 (?), 22:21, 27/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
просто пользователи раста еще более помешанные паломники растоманства чем си. ну и их вечное хвастовство о превосходстве и безопасности раста, хотя если взять этот самый раст куда нибудь в системщину или похожие ниши он становится опаснее с++.)) вот и не любят их.
| |
|
4.25, Аноним (19), 23:04, 27/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если пользователи чего-либо за бесплатно хвалят и тем более защищают нечто - это очень весомый довод в пользу этого нечто, не правда ли?
| |
4.42, topin89 (ok), 00:17, 28/08/2020 [^] [^^] [^^^] [ответить]
| +8 +/– |
Мне вот любопытно, те кто хейтят язык, они реально на С/C++ писали что-то сложнее, чем хелловорлд? И почему достаточное количество людей, которые писали -- не хейтят.
У Раста есть проблемы, но они мало связаны с самим языком.
Нет простой связи c C++, нельзя просто взять и сделать замену старым либам.
Интерфейсы из коробки не умеют работать с нехваткой памяти, иногда это важно.
Нет стабильного ABI в рамках платформ, нельзя распространять бинарные либы.
Компилятор пока не такой крутой, как для C.
Выстроить код так, чтобы оптимизация под SIMD была сама собой -- такая же магия, как и для плюсов.
Наверняка есть другие реальные проблемы.
Но вот этот реальный хейт на язык, для которого математически доказано, что весь безопасный код безопасен в работе с памятью, и что если с ней есть неуловимые проблемы, то искать их надо строго внутри unsafe -- я не могу понять.
Серьёзно, Майки пытались запилить свой клон, Гугол пытается понять, можно ли его плавно внедрять в свой хром, в Линукс впилили поддержку модулей на расте. Однозначно они все повелись на хайп, особенно Линус, да.
Короче, мнение всех, кто не сможет сказать, чем он конкретно хуже C+± -- ничего не стоит.
| |
|
5.44, Аноним (44), 00:30, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
>математически доказано, что весь безопасный код безопасен в работе с памятью, и что если с ней есть неуловимые проблемы, то искать их надо строго внутри unsafe
Ага, как скажешь. Если в программе есть UB, то оно может проявиться где угодно. Неопределённому поведению плевать safe тут код или нет.
| |
|
6.47, topin89 (ok), 00:42, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
>>математически доказано, что весь безопасный код безопасен в работе с памятью, и что если с ней есть неуловимые проблемы, то искать их надо строго внутри unsafe
> Ага, как скажешь. Если в программе есть UB, то оно может проявиться
> где угодно. Неопределённому поведению плевать safe тут код или нет.
Всё верно. Но причины UB по памяти искать можно чисто в небезопасных блоках. Заметим, только по памяти. Проблемы с многопотоком компилятор ловит далеко не все. А часть штук типа signed overflow так и не считаются за UB, но если не знать -- ничто не поможет, кроме отладочной сборки, которая не всегда возможна из-за низкой скорости.
| |
|
7.165, Аноним (39), 21:44, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Там только на прошлой неделе исправили уб с флоатами, какие унсафе? Компцерт больше доверия.
| |
|
|
5.53, Аноним (19), 01:15, 28/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Нет простой связи c C++
С C достаточно простая. А с C++ мало у кого в целом есть простая связь из-за шаблонов, классов и этого всего
> сделать замену старым либам
На Расте даже замену либы C видел)
Всё возможно, что совместимо с C
> нельзя распространять бинарные либы
Разве? У меня не было с этим проблем, включая на Андроиде (интеграция либы на расте в плюсовый Qt-проект)
Можно примеры? Интересно чего стоит опасаться
> Компилятор пока не такой крутой, как для C.
LLVM и в Африке LLVM)
(да, я понимаю, что речь не о том, но всё же)
| |
|
6.113, Аноним (240), 12:12, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
LLVM и в Африке не нужен.
(да, я понимаю, что речь не о том, но всё же)
| |
|
7.126, Ordu (ok), 12:45, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> (да, я понимаю, что речь не о том, но всё же)
"Но всё же" смолчать никак не можешь? Такая острая тема, так подгорает, что даже понимая оффтопичность её, молча пройти мимо никак не можешь?
| |
|
|
9.136, Ordu (ok), 14:22, 28/08/2020 [^] [^^] [^^^] [ответить] | +/– | Потому что для меня больная тема -- это анонимы, которые не могут молчать Точне... текст свёрнут, показать | |
|
|
|
6.173, topin89 (ok), 22:51, 28/08/2020 [^] [^^] [^^^] [ответить] | +/– | У Julia есть вроде Про C я молчу, там просто Опять же, про C я молчу, там чёрт... большой текст свёрнут, показать | |
|
5.63, deeaitch (ok), 02:04, 28/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Я писал и пишу. Большие диагностические вещи. Я пробовал элементарно перевести интереса ради на раст. Не то чтобы у меня не получилось. Но я не получил удовольствия от языка. В начале выглядит здорово и многообещающе. Но стоит разрастись проекту до хотябы 50-ти файлов и начинается ад.
Нет инфраструктуры для раста. И не будет. Дальше микро веб сервисов и лабораторных он не пойдёт.
Ну вставочки небольшие "типа" безопасные можно.
| |
|
6.96, topin89 (ok), 10:51, 28/08/2020 [^] [^^] [^^^] [ответить] | +3 +/– | О, реальный опыт, это ценно Можешь рассказать, в чём именно был ад, что есть ил... большой текст свёрнут, показать | |
|
|
8.195, Аноним (195), 14:14, 29/08/2020 [^] [^^] [^^^] [ответить] | +/– | То есть это проблемы с инструментами и библиотеками - что ожидаемо, а не с самим... текст свёрнут, показать | |
8.205, topin89 (ok), 21:44, 29/08/2020 [^] [^^] [^^^] [ответить] | +/– | Вот Вот хейт Wфрустрация здорового человека Спасибо Итак, проблема инструмент... большой текст свёрнут, показать | |
|
9.216, deeaitch (ok), 07:53, 30/08/2020 [^] [^^] [^^^] [ответить] | +1 +/– | Ну вот emacs я пилю для себя, но коллегам emacs далеко не всем зайдёт, будет вре... большой текст свёрнут, показать | |
|
|
|
6.104, DEV (?), 11:41, 28/08/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
>>В начале выглядит здорово и многообещающе. Но стоит разрастись проекту до хотябы 50-ти файлов и начинается ад.
интересно послушать в чём заключается ад, можешь рассписать?
| |
|
7.184, deeaitch (ok), 03:47, 29/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> интересно послушать в чём заключается ад, можешь рассписать?
Чуть выше написал, копипастить уже не буду.
| |
|
|
5.76, Аноним (70), 04:32, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Мне вот любопытно, те кто хейтят язык, они реально на С/C++ писали что-то сложнее, чем хелловорлд?
вот точно такие же мысли. Под каждой новостью про Rust лютый срач. И подавляющее большинство, по-моему, просто сотрясает воздух.
| |
|
|
3.33, Аноним (33), 23:20, 27/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Так это никакие не старые сишники, а студенты с хеллоуворлдами
| |
|
2.77, Аноним (70), 04:36, 28/08/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
Интересное наблюдение. При том, что никто никого не выгнал, а перевели фактически в Rust Foundation, что как раз просто замечательно ибо зависимость от компании - ну такое себе. Go вон полностью зависим от Google и как Google захочет, так и будет развиваться. Захочет - закроет обратно, и миллионы вебмакак останутся без работы.
| |
|
3.92, Аноним (90), 09:24, 28/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это такой же отстойник ненужных проектов как и Апач Фаундейшн. У Раст Фаундейшн даже инвестора нет, а на 250 программистов им надо не меньше 25 млн долларов в год. Которые им никто не даст.
| |
|
4.93, Аноним (70), 09:29, 28/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
При том, что Растом активно интересуются Microsoft и Google (при всей моей нелюбви к ним), конечно, им никто не подаст.
| |
|
5.105, Аноним (105), 11:47, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Языку десятый год. И им только интересуются, но не используют. А все эти новости где один программист из Гугла затестил Раст сразу в среде растошкольников выливается в то что Гугл полным составом перешел на Раст.
Никто на него не перешел и нигде не использует успокойтесь уже.
| |
|
6.110, Аноним (70), 11:59, 28/08/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
Детка, я спокоен как фугас. И школу закончил в далеком 2004. А то, что им интересуются (и не один программист), показывает только то, что язык наконец дорос до продакшена и что в традиционных языках интересующиеся разочаровались.
| |
6.111, Аноним (70), 12:03, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
И собственно, меня мало волнует, кто и по какой причине им интересуется. Я не фанат ни мелкомягких ни корпорации зла - они уроды и лицемеры. Однако ж гугл интересуется им, а не кидается хромиум переписывать на своем Го.
Лично я интересуюсь Растом, потому что он мне нравится. Точно также как нравятся Erlang и Lisp, которыми никто не интересуется, и нравится С, чьи мнимые фанаты под каждой новостью про Раст ссут кипятком от негодования.
| |
|
5.114, Аноним (240), 12:16, 28/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Растом активно интересуются Microsoft
У них свой Verona. Похожий, но не Rust.
| |
|
|
|
|
|
2.6, Ordu (ok), 22:14, 27/08/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
А надо? Мне кажется, это что-то очень-очень специальное, не? Так ли это надо в языке, если можно сделать в библиотеке?
| |
|
3.9, Аноним (-), 22:24, 27/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
есть сомнения, что, как минимум, в embedded это очень актуально; в игроделании тоже используется для экономии ресурсов
| |
|
4.15, Ordu (ok), 22:39, 27/08/2020 [^] [^^] [^^^] [ответить] | +2 +/– | Я сомневаюсь насчёт embedded это нужна железная поддержка этих самых short floa... большой текст свёрнут, показать | |
|
5.193, Аноним (193), 13:04, 29/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
> можно найти какие-то задачи, где этого будет достаточно, но я чёт как-то затрудняюсь предположить.
Текстурные координаты, нормали и прочие значения, практически никогда не выходящие за пределы диапазона [-1, +1]. На стороне CPU что-то с ними считать незачем, а в шейдерах они автоматически расширяются до f32/f64 при более эффективном использовании памяти и кэшей за счёт вдвое меньшего исходного размера. Игроделы ради этой эффективности иногда и не так изворачиваются (например, для единичных векторов типа нормалей даже f16 избыточен — можно весь вектор упихать в 32 бита с отклонением менее 0.1°, сравнение разных способов упаковки единичных векторов есть в статье на http://jcgt.org/published/0003/02/01/). :)
| |
|
|
|
4.16, Ordu (ok), 22:40, 27/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> В нейронных сетях используются
А, да, вот этим может помочь, точно. Чисел много, но хрен его знает сколько точности не нужно.
| |
|
5.36, Аноним (36), 23:40, 27/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
А есть аппаратные FPU, которые могут в такие вещественные числа?
| |
|
6.43, Anonymous7879 (?), 00:24, 28/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
The Arm architecture provides high-performance and high-efficiency hardware support for floating-point operations in half-, single-, and double-precision arithmetic.
| |
|
5.85, Онаним (?), 08:44, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Чисел много, и что там в этих числах - безразлично. Всё равно шум на выходе.
| |
|
|
7.157, Аноним (157), 20:37, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Плохо ты знаешь нейросети. На выходе тебя ждёт "да нет наверное". И этот ответ сравнивая с константой выбранной программистом трактуется как 0 или 1.
| |
|
|
9.244, Аноним (157), 07:42, 05/09/2020 [^] [^^] [^^^] [ответить] | +/– | Женская логика это тоже логика, но сильно отличающаяся от строгой, булевой логик... текст свёрнут, показать | |
|
|
7.243, Онаним (?), 20:33, 04/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> На выходе булева переменная - узнал/не_узнал (фейс Онанима).
И значение этой переменной соответствует в лучшем случае шуму океанов Марса.
| |
|
|
5.117, freehck (ok), 12:27, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> А, да, вот этим может помочь, точно. Чисел много, но хрен его знает сколько точности не нужно.
От себя добавлю немного: в нейронках может точность нужна и повыше, но вот в научных расчётах оперируют точностью до порядка. Наверняка есть области, в которых три значащие десятичные цифры -- это вполне себе нормальное значение. Однако я давно не встречал, чтобы кому-то было f16 нужен. Учёные народ не замороченный, херачат максимальный размер как правило и ждут более производительного кластера.
| |
|
6.135, Ordu (ok), 14:19, 28/08/2020 [^] [^^] [^^^] [ответить] | +/– | В научных расчётах _иногда_ оперируют точностью до порядка Я часто в уме такого... большой текст свёрнут, показать | |
|
7.137, freehck (ok), 14:35, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Ошибка накапливается, и поэтому часто расчёты проводятся с заведомо большей точностью, чем требуется от конечного результата.
Вот к чёрту теоремы о сходимости, да? В подобных расчётах смотрят не на эволюцию, а ищут стационарное решение. Можно уменьшить шаг по времени и удовлетворить тем самым условия сходимости. Можно увеличить дискретность эйлеровской сетки. Считать будешь дольше, зато на меньших ресурсах, и придёшь к тому же результату.
> В научных расчётах _иногда_ оперируют точностью до порядка.
Такие расчёты проводятся весьма часто.
| |
|
8.138, Ordu (ok), 15:20, 28/08/2020 [^] [^^] [^^^] [ответить] | +/– | Теоремы о сходимости чего Даже если ты возьмёшь заросшую мхом проблему трёх тел... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
1.68, deeaitch (ok), 03:32, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +9 +/– |
Вот заметил такую штуку.
У приверженцев Rust всё время проблема с C/C++. То у них с памятью всё плохо, то ещё что непонятное и сложное. То они вечно себе в ногу стреляют.
Зачем вы стреляете себе в ногу? Мазохисты? Вспоминается сразу две вещи:
1) Доктор, когда я делаю вот так, мне больно. А вы так не делайте.
2) Старая добрая игра Fallaut 2: "Вы стреляли в златоящеря и попали в себя, вы потеряли 20 пунктов жизни"
Этакие люди неудачники.
Но и приверженцы C/C++ не отстают. Но другая ситуация немного. У тех кто знает, понимает и умеет писать на C/C++ проблема не с языком Rust, у них проблема с фанатами Rust. Что-бы не случилось, фанаты Rust вылазят везде и поносят всех. При этом не осилив даже элементарных правил работы с памятью. Они не могут.
Вот честно, очень токсичное общество любителей Rust. У них все плохие, кругом дыры. Одни они умные. Всех надо обосрать.
Приведешь им два аналогичных кода, с аналогичным поведением (вылетанием проги) на C++ и на Rust - Плюсовеки молчат, потому что понимают.
Что слышно от любителей раста? - "Ты де.....л, ты ничего не понимаешь, ваш C++ от....ой." А поведение то одинаковое.
Мне интересно. Откуда столько желчи и РЖАВЧИНЫ у приверженцев Rust.
Тот кто его назвал так что-то подозревал?
| |
|
2.72, Аноним (70), 04:23, 28/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Так проблема не в языке, а в людях. Пользователи С++ в большинстве своем люди среднего или выше возраста, набившие на нем шишек, пробовавшие другие языки и прекрасно знающие о достоинствах (по-моему их нет, потому что есть С и Rust) и недостатках плюсов. А в Rust в основном (по крайней мере, в русскоязычном сегменте) молодежь, особо пороху не нюхавшая, зато кровь у них кипит.
А еще у меня подозрение, что большая часть комментаторов тут ни на том ни на другом никогда не писала и просто сотрясает воздух: "Все ругают Rust, ну и я поругаю до кучи".
| |
|
3.87, Козлетто (?), 09:04, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Молодежь аха? У меня целая куча знакомых, как раз среднего и выше возраста. Они не то что программировать, а просто включить пк целое достижение. Не говоря ещё о бабульках. Так что нечего гнать на молодёжь.
| |
|
4.88, Аноним (70), 09:15, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
И вот что это было? При чем тут выключить/выключить? Речь-то было про то, что срачи устраивают в основном молодые.
| |
|
5.94, 1 (??), 10:03, 28/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
просто дедушки и бабушки с успехом программируют на Rust
| |
|
|
|
2.79, Nick (??), 06:45, 28/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Что-бы не случилось, фанаты Rust вылазят везде
Вот только в этот раз ты вылез и начал хейтить Раст в теме про Раст. Так что фанатики С++ ни чем не лучше
| |
|
3.189, asdasd (?), 08:49, 29/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Сами же себя и дискридитировали, не прочитав до конца и побежав строчить комент =) Фанат раста не умеет читать.
| |
|
4.194, Nick (??), 13:38, 29/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Пруфы будут или только общими фразами умеешь разбрасываться?
| |
|
|
2.101, Аноним (102), 11:15, 28/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Т.е. все CVE по памяти подлые растоманы в плюсовые проекты накоммитили?
Только на этом сайте в месяц пара-тройка новостей про то что тут буфер переполнился, там за границы массива вышли (и рут получили) и это по большим проектам, на которые обратили внимание.
Может это все неправда и происки хейтеров-злопыхателей? Или это все наделали "ненастоящие С++ программисты"™ потому что "настоящие С++ программисты"™ такие ошибки не допускают?
Вы можете ненавидеть раст всеми фибрами своей с++ной души, но отрицать проблему стабильно повторяющиеся багов с памятью на плюсах в разнообразнейших больших проектах... это просто непрофессионально.
| |
|
3.178, СССР (?), 00:02, 29/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
пока студент то за 3-4 года приучиш себя пользоватся указателями как скальпилем для нерохирурга (с), как пулиметом для рэмбо (с++). да за месяц обучения программированию научится писать безопасный код скорее получится на php, js, но что может спроектировать такой скороучка? хеллоу ворд в браузире разве только что отобразить.
| |
|
2.103, Аноним (103), 11:40, 28/08/2020 [^] [^^] [^^^] [ответить] | –2 +/– | Мне понравился на опеннете пару месяцев назад достаточно адекватный коммент, что... большой текст свёрнут, показать | |
|
3.141, Аноним (141), 15:44, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
>Собственно, хороший специалист в С++ с набитой рукой будет пользоваться смартпоинтерами практически безошибочно
если вообще будет ими пользоваться, а не указатели гонять как все настоящие программисты.
| |
|
|
5.149, Аноним (103), 18:07, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Это не отменяет того, что безопасная работа с кучей в С++ реализуется, по факту, через паттерн. Плюс еще неудобная возня с циклическими ссылками в shared_ptr, которые можно разбить только через weak_ptr. В С++ на уровень "человеческого фактора" выводится очень многое и без статических анализаторов в проектах, где больше сотни классов, просто не уследить за всем. У Rust не очень удобный синтаксис, но в целом идея вынести RAII на уровень синтаксиса и семантики позволяет исключить утечки памяти по невнимательности, при этом не пользуясь сборщиком мусора. Если в Rust программе память и утечет, то это будет осознанная диверсия, когда сотрудник с доступом к мастеру для кучи короткоживущих, но относительно "жирных" объектов выставит lifespan, равный времени жизни долгоживущего объекта.
| |
|
6.153, Аноним (153), 20:04, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
>В С++ на уровень "человеческого фактора" выводится очень многое
Да, к сожалению. Но программист должен быть программистом, а не макакой, полагающимся на компилятор и магию.
| |
|
7.170, red75prim (?), 22:29, 28/08/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Монтажник должен быть монтажником, а не тупым жлобом, полагающимся на каску, страховку, изолированную проводку, строительные леса и прочие глупости.
| |
|
6.167, коржик (?), 21:54, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Если в Rust программе память и утечет...
Вообще, утёкшая память в расте не считается за неопределённое поведение. Течёт всё, даже сборщик мусора дотнета легко обмануть банально не отписавшсь от события
| |
|
7.175, Аноним (103), 22:59, 28/08/2020 [^] [^^] [^^^] [ответить] | –1 +/– | Ну что сборщику мусора легко устроить протечку в Java C - это и так очевидно, д... большой текст свёрнут, показать | |
|
|
|
|
|
2.150, анинимус (?), 19:21, 28/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Зачем вы стреляете себе в ногу? Мазохисты?
Хуже, это sjw, которые в большинстве своем кодить не умеют.
| |
2.176, СССР (?), 23:54, 28/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
хорошо сказал про то что с++ молчат, потому что знают что так не нужно делать )). Вот например топор, юнец колол дрова, обух отлител и прямо в ногу, юнца в больничку, выписали, ходит юнец и рассказывает что нужно заменить топор на бензопилу и приводит свой случай, взрослые мужики молчат, слушают и молчат ибо чо им сказать то еще не окрепшему разумом юнцу? про эллементарные правила колки дров? про то что в руках в общем то оружие которым можно и себя поколечить и соседа? А молчат еще и потому что этому юнцу и бензопилу в руки давать нельзя, максимум пластмассовый нож, и то, глаз себе может выколоть.
| |
|
3.185, qwerty (??), 04:22, 29/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ты 100% прав. И вообще, настоящий мужик дерево свалить может и острым камнем, а топор для слабаков и баб.
| |
|
4.214, СССР (?), 00:01, 30/08/2020 [^] [^^] [^^^] [ответить] | +/– | нет, про настоящих мужиков это уже юмор, сейчас то и нет таких, все вон полу-баб... большой текст свёрнут, показать | |
|
|
2.224, burjui (ok), 03:52, 31/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Может, не стоит судить о сообществе Rust по Опеннету? И, ради бога, завязывайте со сказками про мудрых плюсовиков, которые молча всё понимают и не стреляют себе в ноги. Таких единицы, а основная масса плюсового кода написана отвратительно и не падает от любого чиха потому, что разработчики компиляторов достаточно великодушны, чтобы предусматривать защиту от дурака. Вообще, весь ваш пассаж, по сути, высосан из пальца - сплошные обобщения и домыслы, никакой конкретики. Ну пожаловались, что растоманы плохо себя ведут, обижают седых мудрецов, у которых НИКАКИХ проблем с памятью. И как же без типичных острот про ржавчину.
| |
|
|
2.86, Брат Анон (?), 08:58, 28/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Бери Go. Там давно и panic есть, и функции возвращающие константы на этапе компиляции. И автоматический сборщик мусора без всякого геморроя.
| |
|
3.89, Аноним (70), 09:16, 28/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Спасибо, Go я ковырял 2 года, хватит с меня. Когда надоело материться и блевать с этой корявой поделки Гугла, вернулся к Erlang'у.
| |
|
|
1.97, Аноним (97), 10:52, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Пишу на Си и на asm, зарабатываю на жизнь в embedded.
Хочется вкатиться в rust но не знаю, откуда и главное как начать.
Хотелось запустить с отладкой mips(pic32mm) или risc-v(gd32) в eclipse.
У кого-нибудь есть такой опыт?
| |
|
2.201, Аноним (201), 19:26, 29/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
На riscv и конкретно на gd32 все очень даже хорошо. Спасибо Disasm.
А вот для mips'ов ты вряд ли найдешь что-то адекватное.
| |
|
1.139, СССР (?), 15:34, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
"Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями" - что бы ваши ети передвигались на инвалидных креслах. Я исключительно ради заботы, ведь передвигаясь на ногах можно споткнуться , забить лоб и умиреть! поэтому пусть передвигаются на инвалидных кресах от проктэр&гэмбэл с автоматизированной головкой!
| |
|
2.142, Аноним (142), 16:11, 28/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
А мне лень открывать рот и жевать. Я хочу чтобы пища сама попадала в желудок. Мне лень срать хочу чтобы пища сама выводилась из кишечника.
| |
2.225, burjui (ok), 04:13, 31/08/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Дженкем у вас не менее качественный, чем юмор. Я тут тоже нюхнул и шутку придумал: а давайте светофоры уберём, а то только трафик тормозят. Выбрал удобный момент - и перебежал, делов-то. Просто нужно быть внимательным и развивать реакцию.
| |
|
1.145, Кайф (?), 17:21, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
смузихлебы ликуют! Теперь они смогут в системное программирование, по крайне мере они так думают... Но POSIX и WinAPI смотрят на них как на говно
| |
|
2.146, Аноним (141), 17:43, 28/08/2020 [^] [^^] [^^^] [ответить]
| –6 +/– |
Вот интересно, почему странные личности с интеллектом школьников ненавидят Rust?
| |
|
3.148, Кайф (?), 17:57, 28/08/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Сишный API ядра передаёт пламенный привет всем смузихлебам
| |
|
|
1.156, anonymous yet another (?), 20:17, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Очень живой и динамичный язык. Только за этот год вышло, кажется, больше версий "языка программирования Rust" чем ISO-IEC-14882-xxxx за всё время (лет за 25, кажется).
Опять же встроенный подтягиватель updates, packages и всего остального, о чём вы не знаете, но ... --- да и не надо забивать себе этим голову.
| |
1.197, Аноним (197), 17:29, 29/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Можете, назвать меня неосилятором, но. Приходит директор и говорит. Вот тебе железка на rs485. Сделай утилиту для её конфигурации и настройки. Срок три дня. Беру я такой раст... И через два месяца меня увольняют. Берут парня, который на делфи зафигачил все за 4е часа. Все довольны. Ну кроме меня.
| |
|
2.220, Аноним (103), 10:50, 30/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ну и правильно уволили, не умеешь выбирать инструмент под задачу. Rust это жирный DLL/SO собрать с развесистой core логикой, а дельфях формочки нашлепать и через FFI вызывать процiдурки.
| |
|
3.221, Аноним (221), 12:47, 30/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
А какой инструмент под задачу необходимо было выбрать?
На производстве нужно: управление промышлееным оборудованием, работа с базой данных, формирование всяких протоколов и отчётов, следить за состоянием и работоспобоностью узлов и, естетсвенно, вменяемый, быстрый и отзывчивый пользовательский интерфейс. Смотрю вот в сторону реакта и Node.JS. Ещё бы во всё это дело внедрить Scrum. Мастера только хорошего надо найти, что бы минимум в два раза больше $ от разработчика получал. Желательно, что бы умел кататься на баланс борде.
| |
|
4.229, Аноним (229), 08:47, 31/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
Командной строк достаточно. Мозг не выпаривайте.
Не знание Линукса, не означает чтопод него нету хитрых инструментов.
| |
|
5.231, Аноним (141), 13:23, 31/08/2020 [^] [^^] [^^^] [ответить]
| +/– |
>Берут парня, который на делфи зафигачил
>Не знание Линукса, не означает
Есть некоторая вероятность что в организации не линукс, а что-то другое
| |
|
|
|
|
1.222, Аноним (-), 20:03, 30/08/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Растаманы читайте Эриксона. Не гипнотезера. Джона.
"Простота языка С позволяет делать приложения более эффективными и пред
сказуемыми, но ошибки, допущенные во время написания кода, порой стано
вятся причиной таких уязвимостей, как переполнение буфера и утечки памяти,поскольку не существует механизма, проверяющего, помещается ли содержимое переменной в выделенную для нее область памяти. Если программист захочет по местить десять байтов данных в буфер, под который выделено восемь байтов пространства, ничто не помешает это сделать, хотя результатом, скорее всего, станет аварийное завершение программы. "
Хакина. Искусство эксплойта. 2009 год.
| |
|
2.227, burjui (ok), 04:29, 31/08/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Сам себе противоречит. Более предсказуемые приложения, но с непредсказуемыми уязвимостями. Книга точно 2009, а не 1989 года? Не существует механизмов, конечно. А мужики-то не знали. Это же очень сложно - рядом с указателем на буфер положить размер этого буфера, назвать сию сложную структуру данных слайсом и работать с ней вместо голого указателя. Это ж лишние байты. Уж лучше предсказуемое поведение в виде мусора в памяти и, если повезёт, аварийного завершения программы.
| |
2.242, Ordu (ok), 18:25, 04/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> "Простота языка С позволяет делать приложения более эффективными и предсказуемыми
"Более" -- это по сравнению с чем?
| |
|
|