LINUX.ORG.RU
ФорумTalks

В чем смысл Rust?

 , , , ,


0

4

Зачем нужен Rust, если на Си с условным valgrind можно писать код без утечек и битья памяти переполняющимися буферами?

Перемещено dataman из general



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

Если писать только с использованием стандартной библиотеки, то получается кроссплатформа. Такая программа ни на что не способна, но у микроконтроллеров в качестве доп. возможностей со своим API обычно много чего и нет. В качестве стандарта доступа к системе в Си есть POSIX, а на винде есть цигвин.

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

Больше Линукса на десктопе у меня вызывает рвотный рефлекс только виртуалка.

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

Так никто и не спорит. Смотри, я вообще пишу C/C++/C#/Java/Pascal - выбирай любой на свой вкус и цвет. Вот если бы я писал C==C++==C#==Java==Pascal==TRUE, то да, надо было бы меня к клавиатуре не подпускать.

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

Нет конечно. Совершенно разная идея у языков. И не всякий сишный код работает как C++. Обратное очевидно тоже верно.

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

Твой пример надуман и смысла не имеет.

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

Нет, C++ - это не С. Не надо поэзии. У С++ гораздо более жырный рантайм. На несколько порядков более жырный и не портируемый.

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

И не всякий сишный код работает как C++.

И не должен, но языки являются крайне близкими родственниками.

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

Я не спрашивал, что творится в твоей системе. Я просил пруф для утверждения о том, что 80% прикладного софта написано на C или C++

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

У С++ гораздо более жырный рантайм. На несколько порядков более жырный и не портируемый.

Вот это и есть говно, про которое я говорю, то есть, STL.

rcldev
() автор топика
Ответ на: комментарий от Kroz

Потому как о безопасности кода программист на С думает каждый день,

Судя по непрерывному потоку CVE о безопасности кода программист на С думает примерно так: «Да и чёрт с ней!».

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

Этот непрерывный поток CVE идет из дедовских проектов и ведра Linux, где valgrind использовать не хотят и/или не могут.

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

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

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

Реальная жизнь - она, знаешь ли, далека от идеала, который ты себе в фантазиях нарисовал.

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

А что, C# и C++ не родственники? И скобочки одинаковые и точки с запятой. Ну разве что вместо std::bullshit у C# больше Java стиль - BullShit.bingo. Или может Java и C# крайне близкие родственники, а ведь оба в байт код собираются и в рефлексию умеют? В Java правда слов чуть больше и абстракции чуть глубже, каноничный для C# Console.WriteLine("Bullshit!") превращается в System.out.println("Bullshit!"); для java. Но почему-то никто не заявляет что C# это такая разновидность Java.

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

Ну, в какую программу ни тыкнешь, там везде C/C++. Да хоть из здешних новостей везде C/C++.

Ясно, очередной балабол.

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

valgrind использовать не хотят и/или не могут.

А что так?

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

У С++ гораздо более жырный рантайм. На несколько порядков более жырный и не портируемый.

Вполне можно писать на C++ без рантайма с -ffreestanding. Там даже короутины без рантайма работают.

Как раз стандартная библиотека C++ намного более портируемая потому что стандартная библиотека Си обычно сильно привязана к внутренностям ОС. Наприемер вы так просто не запустите glibc на FreeBSD.

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

Но почему-то никто не заявляет что C# это такая разновидность Java.

А это, между прочим, очень недалеко от истины.

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

Нрмальный код Си привязан не к glibc, а к POSIX.

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

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

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

Вот и я так подумал, а ведь ещё немало прикладухи есть и на всяких Java с C#. Потому, собственно, и запросил пруф — ну мало ли, у него какая-то волшебная статистика есть. Но нет, это просто очередной любитель цифр с потолка в качестве аргументов. Я таких для себя помечаю (комментарий к пользователю) сразу, как выясняется, и теряю интерес обычно.

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

Вполне можно писать на C++ без рантайма

Можно. Но никто не хочет писать на C++ без рантайма. И нужный сишечкин рантайм вполне запихивается куда угодно, я в Спектрум запихивал, а С++ - хрен запихнёшь.

с -ffreestanding

Это вообще довольно бесполезный в современном мире ключ.

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

Как же люди любят выставлять напоказ своё невежество.

Так сложно понять, что если принципиально устранён определённый класс ошибок, то ошибок в итоге будет меньше при том же уровне скилов программиста? Нет ведь надо найти один баг и трубить о нём на весь интернет. Решает статистика, а не отдельные случаи.

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

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

В ядре Линукс нет никакого Си рантайма и libc. Там всё своё, даже базовые объявления вроде i32 вместо стандартных int32_t. И всё это прибито к расширениям GNU C.

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

Причём тут Линукс вообще со своим glibc? Сишка к нему не привязана, это одна из реализаций только. Все стандартные сишные функции AI уже переписал!

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

И под Mac OS Apple Silcon он не работает.

Там свой профайлер, правда давно не тыкал, но вроде именно в C он умел.

bdrbt
()
Ответ на: комментарий от firkax

Вероятностный свершившийся факт.

Вот не пойму ты не выпил правильные таблетки или наоборот - выпил неправильные?

bdrbt
()
Ответ на: комментарий от rcldev

Я говорю: при тестировании.

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

Ты что, вайбкодер, что она отсутствует у тебя? Или ты вместе с макаками пилишь софт?

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

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

аккаунту один день

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

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

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

Можно открыть хоть 5 соединений, не обязательно 1.

десятки контрибьюторов

Никогда не принимай чужой код в свои программы. Я бы вообще код закрывал, но это привязка к одной ОС и архитектуре и моветон в UNIX-сообществе.

rcldev
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)