Опубликован релиз языка программирования общего назначения Rust 1.68, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...Подробнее: https://www.opennet.me/opennews/art.shtml?num=58770
Вот есть языки для души.
И это именно оно 🦀
в Starship как раз используются эмодзи если в терминале встаёшь в каталог с исходным кодом на определенном языке
Воевать с борров чекером, чтобы в итоге получить огромный бинарник с уязвимостью из unsafe в какой-то из десятков библиотек (стандартная библиотека слабая)? Не особо как-то для души.
Это реальный юзкейс, или сферически-вакуумная теория? Что-то мне кажется что придётся нам ждать пока гулаг ржавого начнёт сколь-нибудь широко применять.
У Гугла только на подходе не меньше двух альтернативных языков. Карбон, Руна.https://github.com/google/rune
https://github.com/carbon-language/carbon-langНаверняка ещё куча поделок тоже якобы как личная инициатива разработчиков.
От гугла нафиг ничего ненужно. Нам хватило их Go c телеметрией в компиляторе и не только.
Т.е. телеметрия в какой-нибудь Убунте это нормально, а телеметрия в го сразу ужас ужас? Двойные стандарты. Телеметрия это хорошо.
Никаких двойных стандартов. С чего вы взяли, что телеметрию в убунте поддерживают?
Нет. Это нигде не круто.
Убунта стухла именно от того, что начали пихать амазоны, облака, тормознутый snap и телеметрию.
Ну если snap допилят до макосного DMG когда нибудь то пусть будет. А амазоны с облаками выпилили вместе с юнити, телеметрия вроде как по желанию
>Телеметрия это хорошо.Наш человек. Люблю таких.
Во-первых, телеметрию в компилятор ещё не добавили.
Во-вторых, есть gcc-go, tinygo и прочие реализации, отличные от гугловской, и в них, ВНЕЗАПНО, телеметрии нет.
> Во-первых, телеметрию в компилятор ещё не добавили.пока :(
> Во-вторых, есть gcc-go, tinygo и прочие реализации, отличные от гугловской, и в них, ВНЕЗАПНО, телеметрии нет.А ещё (ВНЕЗАПНО!) даже гугловская - орен едрить сорс. Просто не форкали раньше, ибо нужды не было ...
В старые времена я бы сказал что мол сейчас форнут и сделают тот же финт ушами как с Хром-->Хромиум-ом ... но тут ХЗ :( Hу разве что завлечь programmers!Z типо а давайте Го-->Гомиум 8-\ замутитм :-))))))
> Нам хватило их Go c телеметрией в компиляторе и не только.Телеметрия в тулчайне != телеметрия в компилированном бинарнике.
Вы б почитали почему они это добавляют, их команда концентрируется на том чтобы как можно меньше было зависимостей от внешних инструментов. Была бы там в тулчаине телеметрия раньше, то они не лопухнулись бы с 1.13 когда зацепили хкод как зависимость и никто из крикунов за свободу даже не сообщал об этом. Телеметрия кстати не в обязаловку и прямым текстом сказанно как отказаться от телеметрии
>У Гугла только на подходе не меньше двух альтернативных языков. Карбон, Руна.Таро скоро пилить начнут?
> ждать пока гулаг ржавого начнёт сколь-нибудь широко применятьЛол, с разморозкой.
https://security.googleblog.com/2022/12/memory-safe-language...
>From 2019 to 2022 the annual number of memory safety vulnerabilities dropped from 223 down to 85.и там же:
>We continue to invest in tools to improve the safety of our C/C++. Over the past few releases we’ve introduced the Scudo hardened allocator, HWASAN, GWP-ASAN, and KFENCE on production Android devices. We’ve also increased our fuzzing coverage on our existing code base. Vulnerabilities found using these tools contributed both to prevention of vulnerabilities in new code as well as vulnerabilities found in old code that are included in the above evaluation.
Как-то непонятно Вы написали. Как будто в защиту C/C++ против раста, будто бы это снижение кол-ва ошибок по памяти произошло исключительно из-за более серьезного подхода к разработке и тестированию С/С++ кода. Если я не ошибся в предположении, то Вы, батенька, заврались, передергиваете и выдрали из контекста интересное Вам, получив противоположный смысл. Манипуляция, однако. Поясню для тех, кому лениво пройти по ссылке. Коротко:За несколько лет в андроиде существенно снизили кол-во ошибок по памяти (эти самые с 223 до 85 ошибок в год), в отличии от остальной индустрии, где эти ошибки составляют 65+ %. И это больше заслуга того, что выбор языков для _НОВОГО_ кода всё больше сдвигается от memory-unsafe языков к memory-safe (в круговой диаграмме ява+котлин+раст составляют немного больше половины, оставшееся - си и плюсы). Причем, как аноним выше написал во второй цитате, для проектов на си/плюсах они продолжают пляски вокруг усиления безопасности разработки (все эти "Scudo hardened allocator, HWASAN, GWP-ASAN..." и прочее фуззинг-тестирование), но... и аноним это успешно опустил, "недочитал" - в этих проектах, несмотря на все эти пляски, нет такого эффекта, такого сдвига в уменьшении кол-ва ошибок по памяти. Вот текст, следующий за цитатой анонима о C/C++, то, что он "недокопипастил", постеснялся:
"These are important tools, and critically important for our C/C++ code. However, these alone do not account for the large shift in vulnerabilities that we’re seeing, and other projects that have deployed these technologies have not seen a major shift in their vulnerability composition. We believe Android’s ongoing shift from memory-unsafe to memory-safe languages is a major factor."
Т.е. их вывод (а не анонима, который "хитро" читает) - главный фактор снижения кол-ва ошибок памяти - переход с "небезопасных" (си/плюсы) языков на "безопасные", а не использование каких-то волшебных приемов для плюсов.
We believe надо заменить на статистику - столько-то цве было из плюсов, столько-то из раста, с такой-то долей использования языка.
т.е. предыдущее предложение, опять же, Вы пропустили?> and other projects that have deployed these technologies have not seen a major shift in their vulnerability composition
Думаете, врут? На глазок прикинули, типа, "имхо", а не на цифры смотрели?
Но повторюсь. (далее капс-локом!) Когда Вы уже читать оригинал научитесь?
Вот Вам статистика, цитата из статьи:
"In Android 13, about 21% of all new native code (C/C++/Rust) is in Rust. There are approximately 1.5 million total lines of Rust code in AOSP across new functionality and components such as Keystore2, the new Ultra-wideband (UWB) stack, DNS-over-HTTP3, Android’s Virtualization framework (AVF), and various other components and their open source dependencies. These are low-level components that require a systems language which otherwise would have been implemented in C++. "
И, внимание, далее у них жирным выделено:
"Security impact
To date, there have been zero memory safety vulnerabilities discovered in Android’s Rust code. "
Переводить надо? На расте таких ошибок пока еще нет, ноль. Значит все те остальные указанные ошибки - си/плюсы. И это уже два релиза Андроида.
Они опять же осторожно, дипломатично (как и то "We believe", к которому Вы прицепились) продолжили:
"We don’t expect that number to stay zero forever, but given the volume of new Rust code across two Android releases, and the security-sensitive components where it’s being used, it’s a significant result."
всегда, когда вам, молодой человек, предлагают что-то с апломбом а-ля "как вы думаете" - всегда лгут. Если есть статистика, но вместо неё We believe - дело дрянь.
>[оверквотинг удален]
> To date, there have been zero memory safety vulnerabilities discovered in Android’s
> Rust code. "
> Переводить надо? На расте таких ошибок пока еще нет, ноль. Значит все
> те остальные указанные ошибки - си/плюсы. И это уже два релиза
> Андроида.
> Они опять же осторожно, дипломатично (как и то "We believe", к которому
> Вы прицепились) продолжили:
> "We don’t expect that number to stay zero forever, but given the
> volume of new Rust code across two Android releases, and the
> security-sensitive components where it’s being used, it’s a significant result."
т.е., вдогонку к моему ответу, выжимка. Статистика такая (если верить статье): на данный момент за два релиза андроида найдено 0 (ноль) уязвимостей данного класса, нет по нему таких цве, все эти цве си/плюсам достались. За статистику катит?"Аргентина:Ямайка - 5:0". В данном случае, как любят пояснять на графиках, "меньше - лучше" и раст победитель.
Не подскажите, что в нём такого душевного?
Кто в суе упомянет Раст -
Всенепременно...
Кто Раст освоить неспромог, всенепременно...
...осьминог? o_O
Нет, там другое слово. На "д" начинается, на "б" заканчивается. Да, не совсем в рифму, зато правда.
Для души purescript а не эта жертва компромиссов
Всем известно, что
D - для Dуши
Души прекрасные порывы)))
> Души прекрасные порывыТипа того.
Я Rust выучил ради buttplug.io (серьёзно).
> Безопасная работа с памятью обеспечивается в Rust во время компиляцииТ.е. когда (вроде уже) сделают поддержку gcc для rust, то безопасная работа с памятью пойдет лесом ?
интересно, но можно использовать стандартный rustc
Ну так вроде это в gcc делают чтобы собирать модули ядра на rust. Т.е. там безопасность не нужна ?
хм, к чему это, если проекту GNU всё надо от себя делать
пускай пишут тесты сопоставимые с эталонным компилятором Rust
с несуществующим эталонным пипилятором, который меняется семь раз на неделю прямо в прыжке?
поддержка rust в gcc - это когда можно будет firefox без llvm собрать
какой-то местный эксперд в комментарии к прошлому релизу писал, что невозможно локально импортировать сторонний код на Rust - всё можно
Всё возможное! Даже синтаксис в транс вводит. А как взглянешь на код, так в астрал улетаешь)
по сравнению с тем же golang читается на порядок лучше
По читабельности им всем до Pascal как до Луны
Да, согласен.
Make Pascal Great Again ?
бегин читабельность := трэшанина энд. <- Нахрен такое нужно.
А что тут нечитабельного? Иероглифов мало?
бегин дай подумать... бегин бегин много ненужных буков энд и ещё := энд энд
Недостаточно подробно что именно начинает и в каком настроение. Ключевые слова должны быть подробнее и переходить в словесные предложения.
Вот ты и открыл для себя Objective-C, мой юный друг> [[Item alloc] initWithName:@"Coffee with Facebook Engineer" andTopic:@"Informational Interview"]
> NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
> [self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
> UIBarButtonItem *plusButton = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target: self action:@selector(addItem)];Первую неделю очень непривычно из-за обилия @ и квадратных скобок, а потом, да с норм подсветкой синтаксиса, нормальный код читается почти как просто текст на онглицком
Тогда лучше COBOL ничего не выдумали
В Си и си++ часто используют "yoda-condition" чтобы не перепутать присвоение и сравнениеВ Паскале эта ошибка невозможна на уровне синтаксиса. Эта и многие другие глупые ошибки и опечатки
А & и && ?
в паскале 99% ошибок из-за нестандартного оператора сравнения, который программисты путают с присваиванием в нормальных языках
Последний раз в "==" опечатывался, наверное, году так в 2003. А в новых студиях, я слышал, на это есть даже предупреждение. Хотя, от таких вещей не спасают даже -Wall -Wstupid -Wdumbass.
Много смех. Это обилие спецсимволов лучше читается?
Он просто не в курсе что в go нет классов.
Ага, и прогать удобнее, если ты краб) Особенно на всяких эргодоксах. Надо просто ещё пару педалей под стол для переключения лэйаутов)
если у тебя проблемы со спец-симвалами (привет матан), то твой язык - это JavaScript
Да теорию множеств давно надобно выкидывать и переходить на теорию типов.
Тсс, тут Rust хаят за синтаксис а ти про категорії. В них кукуха зовсім поїде від цього.
NaN !== NaN
Внезапно он по стандарту IEEE 754 не равен NaN
Слава питону где [NaN]==[NaN] # =>True
а сишники-то и не знают
>а сишники-то и не знаютне знают чего? что у тебя проблемы с пониманием прочитанного? думаю, да. сишники этого не знают.
Странно это слышать в мире, где есть RegEx'ы (еще и разных стандартов).
Регэкспы это хорошо, но их очень сложно читать
Если в сложном регулярном выпадении ошибка, её исправить можно только переписыванием
А если ещё и условия не известны...
> по сравнению с тем же golang читается на порядок лучшеэто rustlang-то? Это такая несмешная шутка или особый взгляд на мир?
...они были киборги, киборги захватили всю планету...
> по сравнению с тем же golang читается на порядок лучшеПравда???
```Go
var a int = 123
b := func(i int)(int){return i + a}
```vs
```rust
let a = 123;
let b = |i: i32| -> i32 { i + a };
```
> letОх, госпати... (0_0) ну, точно Раст придумали вот эти:
let mypeople = Go;
невозможноэто культурная аппроприация
Lua самый лучший язык, простой синтаксис, приличная скорость, отсутствие проблем с памятью.
И кстати на нём тоже можно писать драйверы для ядра.
это вы про альтернативу питону?) ха-ха
Судя по тому, что Питон последовал по стопам Си++, то есть усложнятся в каждом релизе вплоть до полной неюзабельности, Луа начинает выглядеть достойной альтернативой.
Чтобы быть хоть какой-то альтернативой C++, нужно уметь в машинные коды компиляться для начала.
После появления for ... else питон перестал быть читаемым языком
Драйвер для ядра, выпущенного из пушки в какой-нибудь игре?
У луаджит есть одна мааааааленькая проблема - работа лишь с 2г памяти.
Поправьте, если это не так.
Поправили, можно собрать с лимитом в 128 террабайт.
128 землебайт это сколько?
1024 терры
Если байт - это "bite", то 128. Пацан земли поел.
Зачем встраиваемому языку даже 2Гб, чтобы ворочить внешний API?
Язык хороший. Но сложный. 95% программистов на питоне его не осилит. Остальные 5% нагородят такой мутотени, что никакой джит не переварит.
По мотивам уже создан голанг, в котором свободы поменьше и производительности побольше. Он подходит более широкой аудитории.
go да, тоже очень неплох. Единственное что напрягает - закидоны с телеметрией у тамошних разрабов.
Ангуглед голанг поддерживать не такая большая проблема. Даже без телеметрии, метаданные текут, когда ты собираешь проект. Зависимости выкачиваются с подконтрольных гуглу серверов. Если сильно волнует это дело, сборку нужно проводить в изолированных контейнерах, где интернет завернут в тор, ну и по возможности кэшировать уже загруженные зависимости, чтобы не обращаться за ними вновь и вновь.
Завернут в тор, ахаха теоретик 80 лвл. Сколько будут твои зависимости тянутся через тор 3 дня? И это на каждый апдейт?
Тяни через I2P, если tor не нравится. Немного больше времени займет однако
да, а если без телеметрии, но лично на сервере некрософтов и гуглов, то всё в ажуре, да?
> Единственное что напрягает - закидоны с телеметрией у тамошних разрабов.Т.е. логический баг допущеный в тулчайне в 1.13 когда подтянули хкод в зависимость - это закидон? А могли бы избежать если б тулчайн был бы с зондом. Я хоть один из самых ярых противников телеметрии (потому как в основном используется для заглядывания под трусы), но в случае ДОБРОВОЛЬНОЙ и отключаемой по желанию телеметрии которая помогает делать инструмент лучше, то фиг с ней, - это же не в компилированный бинарик встраивается
Кстати да, если уж искать убийцу Питона, то это Go, а никакой не Lua. Необходимо сначала оторвать массы от интерпретируемости и динамической типизации. Потом уже легче будет завоёвывать мир Расту!
Переходить с динамической типизации на статическую это всё равно что пересаживаться из машины в телегу.
А ты часто в коде переиспользуешь одни и те же переменные с разными присваеваемыми типами, чтобы тебе динамическая типизация была нужна? Уверен, что это не овнокод?
Обычно любители динамики жалуются, что в статической везде тип нужно писать явно, для таких придумали языки по типу Kotlin c var/val, где тип автоматически выводится из выражения в правой части.
Более того, в том же расте не обязательно заполнять типы, компилятор их автоматически выведет.
> Более того, в том же расте не обязательно заполнять типы, компилятор их автоматически выведет.как и в Го :=
Некорректно сравнивать языки без области применения. Гошка это только про бэкенд. Питонец же где только не используется => в общем случае о полноценной замене говорить нельзя.
Какой к черту "только про бэкенд"? 80% вакансий гошки это DevOps & SRE.Знаю крупные компании где вообще весь девопс (aka platform) на GO за исключениым "прибитих гвоздями случаев".
Нет. Любой язык с gc, медленнее языка без.
> приличная скоростьLuajit протух и не поддерживает новые версии языка.
5.1 поддерживает, а там все нужное есть. Другое дело, что джитом ускоряется не всё. Есть конструкции более быстрые, а есть такие, которые работают на уровне простого луа, не джит. Процент покрытия джитом - вот что должно тебя волновать реально. И стабильность, конечно. Поднимешь версию луа - уменьшишь стабильность работы с 5.1. Такие дела.
> 5.1 поддерживает, а там все нужное естьЦелый тип тоже?
>Для сокращения задержек, возникающих из-за загрузки полного индекса, в Sparse вместо доступа к индексу с использованием Git задействована прямая загрузка по HTTPS только необходимых индексных данных, охватывающих зависимости конкретного проектаgit и github умеют в операции только с нужными файлами. И называется это partial clone, и использует низкоуровневую утилиту git-sparse-checkout. Хотя возможность скачки по http без git - это хорошо.
Это же надо разобраться с тем, что написано до них, а им некогда) Ни дня без Kostyl&Velosyped
ИМХО С++ достаточно "распределенный" язык: 1) есть как минимум 3 независимых продакшн компилятора, 2 из которых опенсорс 2) есть комитет из авторов из разных стран и компаний 3) нет централизованного пакетного менеджера, нет централизованной системы сборки, GUI и тп. 4) документация (стандарт) тоже лежит на куче сайтов. 5) доступно на куче платформ и системВсе это делает привлекательным язык для долгоживущих проектов.
Плюс стандарты выходят ~ раз в 3 года, куча best practices и информации, разработчиков, кода и работы.
А как с этим дела у сабжа? (сам не знаю).
> Плюс стандарты выходят ~ раз в 3 годаДостаточно было упомянуть, что стандарты есть.
И как у этих стандартов безопасностью? Почему они борова не чекают?
Чекай, никто ж тебе лично не запрещает
смотриш в стандарт - модули есть.
смотриш в компиляторы - модулей нет.отличные стандарты !!!
Так кто под кого подстраиваться должен? IMHO, компиляторы под стандарты. Не успели ещё воплотить, но движутся.
А можно список востребованных проектов на плюсах, которым эти "модули" жизненно необходимы?
да ваще ничего не нужно, можно сидеть на стандартах 90х и быть довольным
> можно сидеть на стандартах 90х и писать годный софтНе благодари.
Такие модули как сейчас - смысла не имеют.Вот когда стандарт, в плане модулей, будет доведён до ума, то, возможно, в них смысл и появится.
двойные
модули в стандарт продвинули мелкомягкие, это никому не нужно. точно также дурачки из яндэкса протаскивали в стандарт плюсов свои натужные фантазии, ездили по "митапам" с бейджиками и говорили в микрофон. программисты это просто игнорят и продолжают работать.
Еще бы поддержка этих стандартов была бы пошустрее, нынешний по-дефолту C++17 хоть довольно новый, но в 20-ой версии что-то никак модули не могут доделать.
В майкасофт визуал студии уже давно есть модули. Только у хейтеров майкасофта постоянно что-то недоделано.
Студия оптимизирует хуже, чем GCC, и нет поддержки встраиваемого ассемблера, как в GCC и Clang, поэтому для высокопроизводительных приложений Студия не очень подходит. Ну и, как все прекрасно знают, GCC и Clang поддерживают множество архитектур процессоров, микроконтроллеров и операционных систем - поэтому универсальность! Для себя я Студию закопал, наверно, уже навсегда, хотя раньше ей активно пользовался. В качестве плюсов Студии стоит отметить, что раньше в Студии компилятор C++ компилировал код ощутимо быстрее, чем GCC и Clang, хотя это и не настолько критично и решается реорганизацией кода и другими средствами.
Полную чушь несешь. Я числодробилки писал - скомпилированные в визуалстудио в три раза быстрее считают. Точь в точь такой-же код.
> 3 независимых продакшн компилятора... каждый из которых работает чуть-чуть по-разному. удачи в дебаге, с***ки))
> комитет из авторов* из разных стран и компаний**
*из старых пердунов
**на зарплате у корпорастов> стандарты выходят ~ раз в 3 года
с какого года мы ждем концепты? их обещали представить в с++11!
А зачем ты свой код одновременно компилишь тремя разными компиляторами? Я тебе расскажу лайфхак. Можно писать код только под один компилятор и всё никаких проблем.
> А зачем ты свой код одновременно компилишь тремя разными компиляторами?Ты наркоман чтоли?
Есть чудо-язычок, со стандартами. Есть три компилятора. Логично предположить, что они следуют стандартам, но при этом это разные компиляторы, у них могут быть свои плюсы и минусы, но общее одно - они ДОЛЖНЫ следовать стандартам языка. То есть не должно быть разницы, чем компилить, результат всегда должен работать одинаково с точки зрения и стандарта, и ожиданий разработчика. Не одинаково он будет работать в двух случаях. Первый - компиляторы не следуют стандартам, тогда их не три, а, возможно, вообще ноль. Второй - стандарт языка не описывает все стороны языка, в таком случае зачем этот стандарт и чем это лучше его отсутствия?
> Я тебе расскажу лайфхак. Можно писать код только под один компилятор и всё никаких проблем.
Растомани так и делают, только почему то любителям стандартов это не нравится, зато нравятся странные стандарты или набор несоответствующих им компиляторов
> не должно быть разницы, чем компилить, результат всегда должен работать одинаково с точки зрения и стандарта, и ожиданий разработчика.Нет, ты можешь собрать одним компилятором с разными опциями и результат будет разным. Про кто-то должен это фантазии, если реально должен - подаёшь в суд и выигрываешь.
А если в стандарте не описано побайтово что должен делать компилятор? Об этом ты не успел задуматься, дорогой ты наш растаманчик.
Что значит не задумался? Я как раз про это и пишу.
Они добавили unspecified behavior и implementation-defined behavior прямо в стандарт!
Что делает пересборку любого более-менее сложного софта веселой угадайкой заработает или упадет где-то в проде на редком кейсе.Вопрос - какими же нарkomанами нужно было быть, чтобы сотворить такое?
А ответ прост, первый стандарт с++ - это просто ̶с̶м̶е̶с̶ь̶ ̶г̶о̶в̶е̶н̶ сборная солянка из уже имеющихся и как-то работающих реализаций - ведь до стандартизации прошло почти 10 лет.
Если бы что-то из этого зафиксировали, то кому-то пришлось бы переписывать свой компилятор и код.
А учитывая, что разные члены "комитета" сидели на подсосе у разных корпов, они смогли только договориться до варианта "ну не достанься же ты никому".
Пусть себе компилит. Он же даже книгу по расту не смог осилить, вот и бухтит
> А как с этим дела у сабжа?1. один эталонный опенсорсный компилятор
2. контрибьютеры-авторов из разных стран и компаний
3.1 есть централизованный пакетный менеджер, которым ты можешь не пользоваться и грузить зависимости хоть со своего приватного репозитория, хоть со своего гита, или даже просто с диска
3.2 есть централизованная система сборки, которой ты можешь не пользоваться и использовать напр. cmake и дергать rustc напрямую
3.3 ISO стандарта нет. Разрабатывается через rfc, они все открыты и доступны (и не закрыты пейволами как у некоторых). Кто-то называет это минусом, но как по мне это плюс - позволяет развивать язык быстро убрав лишнюю бюрократию.
Напомню, что с++ появился 1983 (ком. выпуск 1985, а стандартизирован был аж в 1996м. Так что всему свое время))4. документация (стандарт) тоже лежит на одном сайте, но есть куча гит-зеркал
5. доступно на куче платформ и систем - аналогично, все что поддерживает llvm в той или иной мере поддерживает сабжКак-то так
Ты слишком длинно написал что раст ненужен никому.
ну, Линусу нужен, в ядре нужен, анониму с пенька не нужен...
ясно-понятно
Линусу он десять раз не нужен. Ему нужно чтобы от него все отстали.
Нет, он бы тогда просто средний палец показал
Да бабло ему от копров нужно.
Прости аноним, опеннет это не весь мир))
Но даже тут есть люди, которым раст нужен и интересен.
Сам растоманю понемногу, но вот эти моменты если честно немного напрягают. Структура управления rust довольно замкнутая, множество старых разработчиков выгорели и отошли от проекта, стоит текущим людям потерять связь с реальностью и получим движение в какому-то не очень понятном направлении. В этом смысле мне кажется что кризис Rust еще впереди.У С++ относительно более стабильная ситуация - есть несколько реализаций компилятора и есть ISO который вернулся к жизни.
Ну так с++ уже 40+ лет, какие тут могут быть кризисы?
А ведь раньше были огого, достаточно вспонить как с++11 представляли и сколько срачей было!
Разница в том, что C++ достаточно децентрализован чтобы у любого разработчика был ВЫБОР что ему использовать. Проблема кстати не только Rust касается, скажем в нейросети пропихнули Python в качестве "удобного" интрумента и так оно и было, только вот у проектов, использующих Tensorflow срок годности меньше, чем у банки зелёного горошка: выходит новая версия, требующая новой версии окружения и ваш старый проект тупо не запустится. Или чтобы запустить чужой проект - вам нужно тянуть и настраивать под каждый из них собственную конфигурацию, при этом бесконечно разруливать проблемы с разными версиями. То есть вместо того чтобы заниматься задачей, миллионы (если взять всех разработчиков) человекочасов уходит тупо на "развлечения" с разрешением зависимостей. В Rust не то, чтобы были действительно серьёзные проблемы с обратной совместимостью, однако потенциально каждая новая версия языка может что-то сломать. Немало старого кода на Rust не скомпилируется новыми компиляторами (и да, чаще всего это можно исправить), но в C++ при адекватной разработке (мы НЕ пытаемся намеренно сделать так, чтобы в будущем это сломалось), ничего подобного практически не бывает. Максимум несовместимости - это что-то старое будет объявлено deprecated.
> Плюс стандарты выходят ~ раз в 3 года, куча best practices и информации, разработчиков, кода и работы.Аха, и спецификация языка почти на 1200 страниц, - "учи - не хочу" :)
>Для работы на платформе Android теперь требуется как минимум NDK r25 (API 19), т.е. минимальная поддерживаемая версия Android повышена до 4.4 (KitKat).Чтобы можно было просто использовать новейшие свистоперделки, когда они вдруг понадобятся, а не аргументировать железобетонность необходимости дропа кучи платформ (которая очень сомнительна ради свистоперделки), и в случае неубедительности аргументов не отказываться от свистоперделок и/или не использовать полифиллы, применяют салями-тактику, варку лягушки и сдвиг окна Овертона. Просто выбрасывают платформы постепенно, просто так.
>Когда они пришли за пользователями Android 4.3.1, я молчал - я был пользователем Android 4.4.4.
>Когда они пришли за мной - всем было пофиг: бывших пользователей 4.3.1, 4.2, 4.1.1 ... уже вынудили купить телефоны с новейшими вёдрами.
>К сведению некоторых недальновидных пользователей: поддержки старых версий давно уже нет, а такое количество свистоперделок, как в современных версиях ведра, пользователям старья и не снилась.
>Вы говорите, надо поддерживать старьё. Где вы были, когда мы требовали сохранения поддержки старых версий, когда мы отстаивали интерес антиконсьюмеризма, почему пользователи современных версий, в том числе и 13, и софта, который декларирует совместимость с платформой Android, не поддержали нас, и сегодня вдруг вы решили поддержать версию, к уничтожению которой были уже сделаны все приготовления? Я был пользователем 4.3, и нам не давали пользоваться нашими телефонами разрабы, развращённые ориентацией именно на таких терпил, как выТак что, когда ваши телефоны дропнут, будете выть об очередном ударе в псину, как я вою сейчас. А молоток - он молоток. Гвоздь забивается медленно, от каждого сильного удара он входит чуть-чуть, но каждый отдельный удар необратим.
Чего ты такого хотел написать на расте для андроид 4.3.1? Я могу тебе даже сказать что для андроид 4.3.1 на расте не было написано даже ни одного хеллоу ворлда за всё это время.
Как и для 32-bit i686. Когда Rust стал модным, все стильные модные молодёжные прогрессивные смузихлёбы давно уже были на 64-битных машинах. AAA-игр ведь для 32-битных уже не было, а если в них не играть - одноклассники захаррасят как белую ворону. Поэтому нужно срочно дропнуть 32-битный x86!А если серьёзно, ваш аргумент говно и к вопросу о необходимости поддержки никакого отношенря не имеет. Поддерживаться должно максимальное количество систем, потому что всегда найдутся дебилы, которые напишут свою программу на непортативном ЯП, тем самым прибьют её гвоздями к подерживаемым платформам, тем самым вынудят всех купить именно их. Школьникам должно быть знакомо не понаслышке понятие Play Station 5-эксклюзив. Вот тут так же, только дебилам тут за это никто не платит. А если бы платили - то этт был бы уже повод их снять за коррупцию.
Твой аргумент прям фекалия. Почему если кто-то там дебил все должны вокруг него плясать. Больше того как видишь даже раст вокруг них не пляшет.
MS-DOS тоже поддерживать надо?
Мой телефон на андроид 4.2 перестал загружаться 5 лет назад, но уже тогда на нем не работал ни один банк клиент
> Мой телефон на андроид 4.2 перестал загружаться 5 лет назадМой планшет на A-d 4.2 всё ещё загружается, но с каждым разом всё тяжко и тяжко — скорость загрузки просела катастрофически. Очистка от переставших быть актуальными приложений ничего не дала. Планшет хочется кинуть в стену.
Мне всё интересно, каким же чудесным образом достигается такой уровень запланированного устаревания. Там что - процессор на уровне кристалла со временем дохнет? Потому что я тоже чищу всё от <s>VLC</s>говна, но всё равно тормоза есть.
> Там что - процессор на уровне кристалла со временем дохнет?Нет, там банальная флэшка, которая со временем загибается от перезаписи
да, но это ром... а на флэшку я не пишу. только на сд-шку. Да. у меня телефон с сд-шкой.
> да, но это ром... а на флэшку я не пишу. только на
> сд-шку. Да. у меня телефон с сд-шкой.SSD та же самая флэшка, только с кэшем и смартным котроллером, поэтому количество перезаписей/стиранинй точно так же убивает носитель, но благодаря контроллеру который регулирует равномерность записей между ячейками памяти, он живет дольше и работает быстрей
Я рад что ты в курсе, но я говорил о том что она заменяется и к телефону мало относится.
> Я рад что ты в курсе, но я говорил о том что она заменяется и к телефону мало относится.Да ну на ?!
Сам?
Паяльником SSD носитель с материнской платы телефона?!
>> Я рад что ты в курсе, но я говорил о том что она заменяется и к телефону мало относится.
> Да ну на ?!
> Сам?
> Паяльником SSD носитель с материнской платы телефона?!Зачем паяльником, просто вынул старую, вставил новую.
И да, SD != SSD, читай внимательней.
Твой КО
> Зачем паяльником, просто вынул старую, вставил новую.
> И да, SD != SSD, читай внимательней.Я тебе ответил на:
> Мне всё интересно, каким же чудесным образом достигается такой уровень запланированного устаревания.
причем здесь SD карточка???
Java: один раз написал - работает всегда ;)
> Java: один раз написал - работает всегда ;)В Ынтырпрайзе... преимущественно, после того как JIT проснется,
"а сколько драйверов для кернелов написанно" - вообще не счесть...Вы того этого, яблоки с апельсинами сравниваете
Сделайте ему wipe.
Но вообще удивительно что устройство ещё работает,
Управлять собственными деньгами через смартфон на дырявом Андроиде? Да вы смельчак, батенька.
Успокойся, какие могут быть деньги у человека с телефоном на андроид 4.2
> Опубликован релиз языка программирования общего назначения Rust 1.68, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation
>> общего назначенияНадо выкидывать для этого стандартную библиотеку.
>> 1.68Нет спецификации языка, какая же тогда версия больше 1?
>> независимой некоммерческой организации Rust FoundationAmazon, Google, Huawei, JFrog, Meta, Microsoft это корпорации, а не независимые игроки
WG21 (ISO C++ Committee) Members:
Bryce Adelstein Lelbach (NVIDIA, Library Evolution Working Group chair)
Matt Austern (Google, SG8 Concepts chair)
Aaron Ballman (Intel, SG22 C/C++ Liaison chair, SG12 Undefined/unspecified behavior assistant chair)
Dean Michael Berris (Google)
Hans Boehm (Google, SG5 Transactional Memory chair, SG1 Concurrency chair emeritus)
Chandler Carruth (Google)
Stephen D. Clamage (Oracle, PL22.16 chair emeritus)
Ben Craig (NI, Library Evolution Working Group assistant chair)
Guy Davidson (Creative Assembly)
Hana Dusíková (Avast, Czech Republic national chair, SG7 Compile-Time Programming chair)
Marco Foco (NVIDIA, Italy national body chair)
Bjarne Stroustrup (Morgan Stanley, Creator of C++, Evolution Working Group chair emeritus)
и т.дЭто корпорации, а не независимые игроки. Даже Стауструп на зарплате у Morgan Stanley.
Но стоит отметить - все таки есть пара человек из универов (правда не понятно на чьи гранты) и пара-тройка "независимых"
>Hana DusíkováАвтор ctre.
Ничего себе! А местные эксперты думают, что плюсы улучшаются исключительно нищими программистами, а вот нет - это поделка корпораций, как и раст, как и си!
зачем ты разбиваешь манямирок местных икспертов, которые думаю что опенсорс удел пролетариата!
что кузьмич с завода по ночам не бухает в гараже, а пишет "самую нужную либу интернета"и вот как только они прогонят всех корпорастов, от тогда заживем!
Кроме тебя тут так никто не думает.
Несколько минорно. Зачем они выпускают такие обновления? Опять перекомпилировать тулчейн, идиотизм.
А у них просто подгорает, и они не могут остановиться! Это же не бородатые стариканы, придумавшие Си и Паскаль. В книжке K&R говорится - мы хотели сделать язык таким простым и понятным, чтобы его можно было выучить по вот такой тонкой книженции. Разработчики Rust этой идеей явно не заражены)
А разве кто-то заставляет обновляться?
Тебе не нравится - не пользуйся. Всё просто.
Ага, не буду. Только давайте вы тоже не будете впихивать это дерьмо в любой софт, до которого сможете дотянуться, и вместо этого будете делать свои собственные форки?
А чего ты решаешь за каждого человека, на чем ему писать? Ну уж нет - будь добр не указывать людям. На чем нравится - на том язычке и пиши сам.
Ну да, раз бесплатную шнягу получил, хавай любое дерьмо что дают. С такой позицией у нас скоро ничего не останется кроме винды.
Ну такова природа: ты же не можешь написать альтернативу линекс с нуля - приходится юзать это. Это нормально. Люди, которые трятят свои силы и время для создания продукта - они решают насчет своего продукта.
хватит ныть
или перепиши бесплатную шнягу как тебе нравится
или перейди на платную шнягу - виндекапец еще не наступил, да и макбуки в продаже еще естьно помни главное - тебе никто ничего не должен
а кто впихивает? может создатели и/или контрибьюторы?
тогда это их решение, кто ты такой чтобы их осуждатьесли тебе что-то не нравится? форкай и делай сам!
а то развелось советчиков и нытиков
Ты не в себе. Меня никто не спрашивал, что мне нравится, а что нет -- сабж пропихнули в зависимости кучи проектов, замены которым нет. Это означает, что я должен тратить время на слежение за развитием и характером обновлений: происходят изменения, также требуемые версии периодически повышают. Мне проще обновить чем тратить время и разбираться надо обновлять в этот раз или нет.
Есть простой способ этого избежать это перестать писать на расте.
Форкай сам, удаляй зависимости раста. Так это работает. Вон аргентинские товарищи сделали свой форк ядра линекс - linux-libre, и не плачут на каждом углу, что им чего-то не нравится. Это опенсорс, так он работает.
С таким подходом опенсорс скоро станет символом глючного дерьма. Когда вся эта открытая движуха начиналась, у народа был совершенно другой подход к разработке, для примера посмотрите тот же OpenBSD.
Ну так и пользуйся openbsd, опенсорс разве тебе что-то обязан?
Так это же подход великодушный пожизненный диктатор.
> опенсорс скоро станет символомalways has been (c)
> Когда вся эта открытая движуха начиналась
много-много лет назад народ сидел на зарплате в универах и мог позволить писать на энтузиазме все что хотел + требования были существенно ниже
> у народа был совершенно другой подход к разработке
например срезать углы в погоне за скоростью, которые потом выстреливают в виде CVE через 15 лет
опенсорс всегда был как в той басне про лебедя, рака и щуку
с поправкой на то что "воз" можно форкнуть и тянуть в свою сторону пока есть силыс одной стороны - абсолютно нерациональное разпыление сил и человекочасов
с другой - возможность отходить от устоявшихся подходов и писать свой велосипед
как говориться, у медали есть две стороны
Always has been ¯\_(ツ)_/¯
не обманывай!
все знают что на расте ничего не пишут.
А чем не устраивает установка бинарника как у них в документации?
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
> curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | shВот это:
curl ... | sh
все, что надо знать о языке, которые даже не имеет спецификации (а значит - не предсказуем с каждым релизом, где все могут сломать) чтобы принять решение - стоит ли ломать мозги о семантику которая пользуется спец символами покруче перла
Там, где что-то ломается, появляются редакции. Внутри них всё работает.
Аналог спецификации у Rust - это RFC, кстати.
> Там, где что-то ломается, появляются редакции. Внутри них всё работает.
> Аналог спецификации у Rust - это RFC, кстати.Проблема в том, что RFC отличается от стандарта тем, что оно 50/50, может быть спецификацией, стандартом, а может быть и нет, а также может быть просто шуткой, или по простому, можно сломать когда захочется
Язык, который пытается быть безопасным, но предлагает в слепую запускать программы с интернета, ну-ну, - "хорошее начало", это очень сильно вызывает - недоверие (в лучшем случае)
> Проблема в том, что RFC отличается от стандарта тем, что оно 50/50, может быть спецификацией, стандартом, а может быть и нет, а также может быть просто шуткой, или по простому, можно сломать когда захочетсяЕсли подход организован нормально, то такой проблемы нет.
> Язык, который пытается быть безопасным, но предлагает в слепую запускать программы с интернета
Язык пытается быть безопасным только в определённых классах ошибок, а не вообще во всех на свете. Другими словами, не следует путать общие вопросы безопасности с частностями. Rust борется с частностями.
Твёрдый график выхода версий, всё просто. Можно пропустить и обновиться в следующий раз.
>Добавлен макрос "pin!", позволяющий создать структуру Pin<&mut T> из выражения "T" с локальным закреплением его состояния (в отличие от Box::pin не выделяет память в куче, а выполняет привязку на уровне стека).Так и не достигнув популярности Си++ язык пожирает сам себя, добавляя всё больше нелепой тарабарщины с каждым релизом.
В плюсах нет безопасной работы памяти из-коробки, поэтому раст круче. Разработчики плюсов наверняка забывают об умных указателях, и происзодит выход за пределы бухверов.
Нет Бухверов нет дыр.
Ну это правда. Утечка памяти не считается угрозой безопасности.
Ну зачем опять? Rust нужен только для компиялции Firefox/Thunderbird и librsvg2-rust для Gnome Games. Все двно сидят на Chrome, которому Rust нах не сдался, а почту смотрят в нём. Зачем это в новостях?
Зачем новость о freebsd если все сидят на windows, Mac os и 0.7% на Линукс?
Потому что даже FreeBSD популярнее и полезнее раста?
Дорогой товарищ, причем тут firefox/chrome в новости про rust? А?
Так их переписывают на этот язык и у луддитов уже не будет аргументов потому что придется пользоваться интернетом.
Пользуйся фалкон, симанки и палемоон, всегда есть выбор.
seamonkey с растом
Ну ничего страшного. Кроме симанки, есть ещё NetSurf.
> Дорогой товарищ, причем тут firefox/chrome в новости про rust? А?Потому что они тащут за собой не только rust, но и устаревшую версию llvm13.
Зачем мне ТРИ версии LLVM (13, 14, 15) в системе да ещё этот долбаный Rust со своим Cargo, который при сборке занимает все ядра CPU?!
Я не знаю. Я пользуюсь статически слинкованными бинарями с офф. сайта мозиллы, что-то большое конпелять просто нет сил.
Вообще сборку программ лучше доверить уважаемым корпорациям?
Выбирайте то, что вы предпочитаете, вот ответ на ваш вопрос. Конпеляция вручную, скачивание бинарей с сайта корпорации или скачивание с репов дистра - каждый сам себе решает.
Все говорят что надо конь пилировать. Но никто на самом деле не конь пилирует даже когда никто не видит.
ты не можешь скачать код и скомпилять?
ах, слишком много разных библиотек и компиляторов,какая жалостьщито поделаешь быть параноиком бывает дорого
можешь еще пожаловаться сколько кв/ч потратил на каждую пересборку мира
> Я не знаю. Я пользуюсь статически слинкованными бинарями с офф. сайта мозиллы,
> что-то большое конпелять просто нет сил.Тогда что ты делаешь в этой теме? Тебе Rust зачем?
Мне интересен сам процесс программирования на расте. Какой браузер что использует, мне всё равно. Новость то про раст, какие претензии?
Действительно, зачем тебе они, когда>www-client/firefox-110.0.1 (sys-devel/clang:15)
От 14 зависит ispc и от неё oidn -- все претензии к интелу. Если ты не используешь блендер, то зачем ты держишь протухшие тулчейны? А если используешь, возьми бинарный билд с сайта, он ничем не хуже, насколько я понимаю.
Количество занимаемых ядер при сборке можно задать праметром.
при том, что раст давно стал большой проблемой и продолжает создавать ещё большее количество проблем. firefox нельзя собрать без llvm и другого мусора, который будет собираться в 4 раза дольше firefox-a. stage3 теперь наполовину состоит из растовскокго мусора. если придётся ещё и ядро с растом собирать - линукс можно закапывать
Зашел, кстати, в википедию посмотреть в честь чего назван Rust.
> Rust was named after rust fungi in reference to their hardiness
> Rusts are considered among the most harmful pathogens to agriculture, horticulture and forestry. Rust fungi are major concerns and limiting factors for successful cultivation of agricultural and forest crops. White pine blister rust, wheat stem rust, soybean rust, and coffee rust are examples of notoriously damaging threats to economically important crops
> All rusts are obligate parasites, meaning that they require a living host to complete their life cycle. They generally do not kill the host plant but can severely reduce growth and yieldПотому, наверное, и большинство проектов на расте это форкнуть код на Си и добавить Code of Conduct.
Язык раст назван в честь паразитических грибов! Срочно в номер!
Забавно, что его название в сущности точно отражает модель его распространения. Нет ни одного значимого, популярного проекта, написанного на чистом расте, но его удалось кое-как пропихнуть в несколько крупных проектов, где он составляет какие-то проценты и выполняет микроскопическую часть работы. Язык-паразит как есть.
Иди вакансии посмотри. Для молодого языка отличный движ. А ты скоро останешься без работы, если не возьмёшься за голову, и твой мозг не одолеет очередной язык программирования
Посмотрел вакансий на раст 0 штук. Что ты хотел этим доказать?
А куда ты смотрел?
Даже на б-гомерзком hh ру - 65 вакансий «rust».
Ага, вакансий меньше в разы, чем у нишевого яблочного Swift, который в новостях никому не интересен. Более того как именно молодой язык Rust провалился. На C сразу же разрабатывались значительные по масштабам проекты, хотя на тот момент он был крайне сырым, Rust развивался в тепличных условиях, без фактической прямой конкуренции (а у C были конкуренты со всех сторон) и всё равно проектов не так чтобы много, не говоря о массовом использовании.
The last thing you want in your computer is rust.
срочно удали ядро линукса!
Не беспокойся, у нормальных людей ядро без растовперделок.
Да нету там раста, и не будет. Вот за что, так за ядро можно быть спокойным.
>Да нету там раста, и не будет. Вот за что, так за ядро можно быть спокойным.и каково оно в параллельной реальности?
Ну если есть что-то важное, то давай пруфы.
и как оно быть таким унылым брехлом?
Сколько раз в секунду можеш переобуться?
У него еще стадия отрицания
В таком случае, твой браузер - великий NetSurf. Ура!
Обычный среднестатистический хром несмотря на попытки пока что не содежит в себе недопустимых языков.
У меня там даже опеннет нормально не работает (Не могу перейти на "Мини-новости" таб по клику). Видать JS там не работает. Ютьююб тоже не фурычит. Гениальный браузер.
Ну интернет это в принципе не твоя суперспособность.
Спасибо за вывод, дорогой опеннет-эксперт!
О какой безопасности можно говорить, если память выделяется динамически?
безопасность разбивается об unsafe и runtime-данные
> О какой безопасности можно говорить, если память выделяется динамически?со статической тоже проблема. Cмотрим растопрокладку
https://docs.rs/d1-pac/latest/d1_pac/
> generated using svd2rust
ого круто, но откуда взяли описание SVD ?
https://github.com/duskmoon314/aw-pac/tree/main/d1-pac
> d1-pac is now developed according to D1 User Manual v0.1
переписали из кривого даташита вручную, т.е. если нифига не работает из-за ошибки в даташите то исключительно безопасно :)
А откуда они должны брать эти данные, если не из даташита??
Из кривых сишных кодов написанных в пьяному угаре погромистом за плошку риса?
А он откуда это списывал? Не из даташита случайно? А если он ошибся, то что тогда?
> А откуда они должны брать эти данные, если не из даташита?производители их экспортируют из описания аппаратуры
> Из кривых сишных кодов написанных в пьяному угаре погромистом за плошку риса?
в случае китайских процессоров это намного ближе к правде потому что работает, а описания в даташитах они копируют от предыдущих SoC и часто не смотрят что изменилось
> А он откуда это списывал? Не из даташита случайно?
нет, он их как раз из первоисточника брал, часто бывает что и даташитов никаких не существует в природе а код написан и работает
>Из кривых сишных кодов написанных в пьяному угаре погромистом за плошку риса?Если сишных кодов не существует, то растаман тоже ничего не пишет, потому что нечего переписывать.
Найн, он пишет из имеющегося datasheet.
Только так она и должна выделяться, а потом удаляться и чиститься.
Что-то часто он выходит...
Тебе надо много переписывать на раст?
Он выходит не часто, а так как запланировали - каждые 6 недель, начиная как минимум с 2020 года.
Тогда зачем каждый раз делать из этого новость?
потому что эти новости популярны.
народ на них бурно реагирует.
Тут дело в принципе разработки.Сложный проект. Сделать сразу весь и продуманно - очень тяжко.
Поэтому слепили костяк, всю остальную необходимую функциональность вынесли в нестабильную часть, кое как слепив на коленке.
Теперь доделывают с чувством, с толком, с расстановкой.
Вот только, где та грань, когда на него наконец-то можно будет посмотреть - не понятно.
Так для этого есть Edition.
Выбираешь какой тебе нужен - 2015/2018/2021 и фиксируешь его. Больше в эпохе обновлений не будет.
Это как стандарты с++.
Тогда делай что-нибудь попроще если у тебя явно уже ничего не получается.
1.0 - вот тут была эта грань
Надеюсь усложнится настолько, что выйдет в окно
Вот, а как в ядре с этим жить? Постоянно переписывать? Бред
SBCL вообще каждый месяц выходит.
Может кто-нибудь внятно объяснить откуда столько хейта к языку?
ну...
вот представь себя рабочим, например токарем который как диды крутит ручки на токарном станке
к сожалению это не очень точно, приводит ко ошибкам, время от времени кого-то на вал намотает, но все уже привыкли и всем пофиг
ты очень крут, можешь наощупь определить шероховатось, знаешь на память где в цеху какой станок кривой и какие поправки братьи тут приходит молодой смузихлем, который рассказывает про новые ЧПУ которые добавляют ограничений (ну выключается станок, как только дверцу открываешь) но позволяют не намотаться на вал
и ты понимаешь что 1) ты так можешь лишишься работы 2) ты неосилятор и не сможешь разобраться в новом
вот тут у тебя может начать гореть и начнешь хейтить
Да, к сожалению, айти слишком патриархальное и там построена целая система ущемления, где не позволяют делать что-то новым профессиональные разработчикам. Необходимо ввести в проектах квоты на раст.
> ну...
> вот представь себя рабочим, например токарем который как диды крутит ручки на
> токарном станкеТак если человек хорошо разбирается в C то это не препятствие чтобы разобраться с Rust. Насколько я понял на нем проще писать, а компилятор заботится о том чтобы код был безопаснее. Язык компилируемый, статическая типизация, компилятор сам ругается если забыл воткнуть обработку исключения где необходимо. А хейта как будто всех пытаются на js принудительно пересадить.
> это не препятствие чтобы разобраться с RustКонечно. Многим, как напр. контрибьюторам ядра, ничего не мешает.
Более того, некоторые из них это уже делают.Но есть и те, кто в силу своей закостенелости уже не в состоянии учиться. И вот у них начинаются проблемы.
> компилятор заботится о том чтобы код был безопаснее*ptr = unsafe { ptr.sub(1) };
self.ptr = unsafe { self.ptr.add(1) };
return Err(unsafe { array::IntoIter::new_unchecked(raw_ary, 0..len) });
unsafe { &mut (*self.ptr).dev }
Кто не вдуплил, это так приходится взаимодействовать с тем Г, что сишники передают в раст.
Це мерзость... но пока все на раст не перепишем - придется страдать.
Почему растаманы не пишут дрова под редох? ... Это импосибл :)
Потому что редох - это just for fun проект. Много проектов ОС на сишечке появилось в последнее время?
> редох - это just for funкак и сам раст.
Покажи ОС, написанную на сишичке за последние 30 лет, кроме линуха и фрибсд. GNU/Hurd? Ахахаха! Нет их нормальных. А это значит, что фря и ляликс застолбили юниксовые ОС на себе. В них вливается куча бабла корпораций. То есть смысла писать что-то новое 24 часа в сутки нет - редох не заменит фрю и ляликс никогда, потому что не получит бабла, которое вливается в ляликс и фрю. Поэтому редох изначально just for fun. Любая сишная юниксовая ОС была бы также невостребована как редох, если бы была написана с нуля в 2010-х. Это очевидно.
Ты ещё скажи, что если бы изобрели компьютера лет 1000 назад, но сейчас бы летали на автомобилях, но виноваты те, кто их не изобрел, а счетные машинки делал вместо открытия полупроводников. Твоя логика такая.
Windows, HP-UX, Solaris, XNU внутри твоих макбуков и айфонов
> WindowsТо что по кодовой базе винды тонким слоем размазана сишка, это не значит что ось на ней написана.
Windows - это с++
Symbian OS, Tizen, Firefox OS. Скажем, все, что есть ОС в продакшене -- написаны на Си. Виртуальный мирочек у тебя в голове.
Симба на плюсах, грамотей.
То же самое говорили про яс.
* С
> Г, что сишники
> Це мерзостьВот поэтому и хейтят, таких как оно.
> Язык компилируемый, статическая типизация, компилятор сам ругается если забыл воткнуть обработку исключения где необходимо.Это все хорошо, - правда, но только без спецификации языка, нет гарантии что через пару лет исходники не перестанут компилится потому что анархия, когда хотят тогда и сломают
на нём гораздо сложнее писать, чем на си. на си ты пишешь код, а на расте воюешь с компилятором и извращаешь свой код так, чтобы ему понравилось
> а на расте воюешь с компилятором и извращаешь свой код так, чтобы ему понравилосьЭто потому что ты свои отвратительные, чреватые ошибками, сишные привычки пытаешься без изменений перенести в раст. Это как при переходе с DOS на Windows: " - Зачем вы отобрали у меня возможность писать/читать любой физический адрес памяти машины? Зачем вы ограничиваете мой прямой доступ к железу операционкой и драйверами? Зачем вы ограничиваете меня в творчестве? Настоящий профессионал и так аккуратно памятью пожонглирует никого не обидев и сделает конфетку!"
Не очень хороший пример, он бы подошел про переход с ассемблера на Си, но не на шило на мыло.
> и ты понимаешь, что1) хотят всех посадить на подконтрольные им репозитории 2) изолировать свои инфраструктуры, монополизировать возможность исключения и взлома других 3) макаки всегда побегут за обещанной морковкой туда, куда им сказали, что там будет лучше, и они готовы перевернуть всё, что угодно, лишь бы защищать то, чего никогда не получат.
сорян но ты несешь полный бредты всегда можешь сделать свой уютненький сервачек и использовать свои репозитории
так же как можешь скачать код ядра (или другого опенсорсного проекта) и компилять в свое удовольтвие
но путь гентушника не всем подходит, и мало кто хочет это делатьну и оскорбление людей которые не хотят выпиливать напильником молоток и цельного куска железа, а воспользоваться готовым - это уже хорошо показывает уровень расто-хейтеров
> напильником молоток и цельного куска железа, а воспользоваться готовыми что там за готовый молоток? чисто работа с памятью и сборщик мусора? получается, не напильником, а напильниками разной зернистости и в рукавицах, не нужно преувеличивать.
я не хейтер раста, я хейтер фанатиков и тех, кто пишет слово "сишечка", ибо если бы разбирался такой чепушила в прогании, то на Си бы не гнал, и Раст бы использовал, одно другому не мешает.
> сборщик мусораА в ржавчине есть сборщик мусора???
лично я пишу на Си, а не на Расте потому, что для этого всё сделано и всё заточено -- библиотеки, биндинги, примеры, литература. А господа переписывальщики ради своего готового молотка делают заново заводы и фабрики для возможности пользоваться этим молотком.
(или другими словами, ничего не делают, а только шумят)
Смешно такое читать. В ЧПУ всех современных станков нет раста. А что там есть, тебя удивит.
Смешно такое читать. Когда очередной растохейтер даже не понял на что отвечает.
И смело предполагает что все вокруг него такие же дурачки как и он сам.
Да! Установщик останавливался когда открываешь крышку!
А ещё он умел паять только радиодетали поверхностного монтажаА паяльником и феном можно почти что угодно напаять
> и тут приходит молодой смузихлем, который рассказывает про новые ЧПУ которыенаписаны на С, но смузихлёбу ведь главное умным казаться
> и ты понимаешь что 1) ты так можешь лишишься работы 2) ты неосилятор и не сможешь разобраться в новом
>
> вот тут у тебя может начать гореть и начнешь хейтитьИли, ты смотришь, кто стоит за языком, есть ли у него будущее, если есть спецификация языка, гарантируящая что язык не будут ломать время от времени, ну и банальная нужность, - есть ли смысл убивать время на изучение комбинаций спец символов, если это можно сделать на другом инструменте и конечно же работа должна ценится больше чем альтернативы
За языком стоят все те же, что и за другими языками: богатые дяди и тёти.
Вместо спецификации - RFC, потому что так быстрее и эффективнее.
Если что-то ломается, появляется новая редакция, при этом ты можешь по-прежнему пользоваться старой.
Убивать время на изучение, конечно, есть смысл. Во-первых, это позволяет решить основную проблему Си и Плюсов - уменьшение количества ошибок работы с памятью, чьё присутствие очень дорого обходится конечному пользователю. Во-вторых, это расширяет кругозор.
> Вместо спецификации - RFC, потому что так быстрее и эффективнее.В мордакниге тоже так думали "We moving fast, we breaking things", теперь однако поумнели, неспроста ведь?
> Если что-то ломается, появляется новая редакция, при этом ты можешь по-прежнему пользоваться
> старой.А не проще пользоваться старым, проверенным временем правилом:
строить, строить на базе предыдущего, вместо:
попробовал, сломал, опять попробовал, сломал - имперический обезьяний метод решения проблем.Если оставаться на старых редакциях, это означает - прекратить использование, в силу банальной несовмесимости
> Убивать время на изучение, конечно, есть смысл.
Сорри, жизнь слишком коротка... к сожалению
> Во-первых, это позволяет решить основную проблему Си и Плюсов - уменьшение количества ошибок работы с памятью, чьё присутствие очень дорого обходится конечному пользователю.Это все хорошо (по поводу памяти, хотя в плюсах давно есть смартные указатели) но зачем такая криптографическая семантика в языке? Смесь JS & perl & regex c плюсами...
> Во-вторых, это расширяет кругозор.
Ну, если кто-то готов платить, то оно да, - Я за расширение кругозора
Только вот как насчет поддержки написанных продуктов на расте, который может быть совместим с предыдущими версиями языка, а может и нет, т.к. гарантии нет, но если работодателю пофиг на супорт, то оно конечно, можно и поиграться, но я б в такой компании работать бы не хотел, это как у вордпресс девелоперов, сбагрил и гудбай, - "однодневки"
> В мордакниге тоже так думалиИ что, если кто-то где-то о чём-то думал? Причём здесь обсуждаемый ЯП? Не стОит натягивать сову на глобус, это плохой приём вести полемику.
> А не проще пользоваться старым, проверенным временем правилом
Если бы это было всегда проще, все бы так и поступали. Но мир чуть сложнее, чем представление некоторых о нём.
> Если оставаться на старых редакциях, это означает - прекратить использование, в силу банальной несовмесимости
Нет, не означает. Каждый модуль может находиться в своей редакции.
> Сорри, жизнь слишком коротка... к сожалению
Никто не запрещает продолжать пытаться есть кактусы, однако есть нюанс...
> но зачем такая криптографическая семантика в языке
Вопрос из области вкусовых предпочтений. Я не могу отвечать на такие.
> Только вот как насчет поддержки написанных продуктов на расте, который может быть совместим с предыдущими версиями языка, а может и нет, т.к. гарантии нет
Повторяю. Гарантия совместимости - в редакциях.
> приходит молодой смузихлем, который рассказывает про новые ЧПУ которые добавляют ограничений (ну выключается станок, как только дверцу открываешь)А также этот новый станок с ЧПУ:
- создан разработчиками, далёкими от токарного дела, поэтому у него очень неудобный и нестандартный пульт управления;
- работает только при наличии подключения к Интернету;
- делает только ТО и ТАК, как указали его разработчики (диктует политику, а не предоставляет механизм) - можешь выточить на нём болт, но не можешь гвоздь - потому что "это небезопасно и можно пораниться";
- постоянно меняется: если ты научился на нём вытачивать нужные тебе детали, то через некоторое время этот способ перестаёт работать;
- очень долго вытачивает даже простые детали, при этом так нагружает электросеть, что другим станкам не хватает электричества.> 2) ты неосилятор и не сможешь разобраться в новом
Да разобраться-то нет проблем, и не такое осиливали, только вот с учётом вышеперечисленного особого желания как-то не возникает...
Найдите в интернете растмастдай для первого ознакомления.
Это статья от того чувака, который сказал что раз в расте есть тип со счётчиком ссылок — то это язык со сборкой мусора? kekw
Да, вы можете писать программы без сборки мусора, если очень захотите. Но, во-первых, в случае Rust это будет тяжко, ведь язык накладывает на вас многочисленные ограничения. Во-вторых, даже если ваша программа не будет его использовать — ваши зависимости будут, и почти наверняка, ведь использовать его очень легко. Наконец, сборщик мусора просто-напросто встроен в Rust, он есть в вашей программе независимо от того, используете вы его или нет.
std::shared_ptr передаёт привет
Ты уверен, что каждый плюсовик не забывает включить умные указатели, когда они нужны?
Боже упаси писать на стандартах крестов ниже хотя бы 14 и без умных указателей.
Т.е 30 лет "развития" С++ - коню под хвост?
классы-холдеры указателей со счётчиком ссылок (то, что у смузихлёбом "умные указатели") применялись за десятилетия до с++14
> Наконец, сборщик мусора просто-напросто встроен в RustИ с каких это пор раст стал GC ?
Можно прув пожалуйстаЕсли вы про гавкание барров чекера, то АФАИК - он не влияет на компилированный код а работает только при компиляции
Хейтить системд стало немодно (да и аргументов уже не осталось), поэтому экспертам опеннета пришлось искать новую цель.
Критика системд есть в комментариях новостей о системд, аргументов полно и вообще это всё идет вагонами как это glibc (от которого зависит Rust) хочет стать зависимым от systemd и вместе они будут ездить засорять систему. Бьем точечно.
> (от которого зависит Rust)Справедливости ради, его можно все же подружить с муслями
Может. И зовут этого человека Андрей Столяров. Хотя сам он Rust вроде не уважает, но слова его подходят здесь как нельзя лучше: сфера айти захвачена дураками; но чтобы работать с дураками, нет необходимости самому становиться дураком...
Самокритичненько. Не напомните - какой язык программирования разработал Столяров, а то я что-то запамятовал.
Большинство опеннет-экспертов далеки от программирвания. Это модно, хэйтить раст.
Большинство опеннет-экспертов далеки от программирвания. Это модно, топить за раст.
Да ладно, не имеет значения. Большинство эксертов сишечки, хающие раст, даже никчемный lpt-драйвер для принтера не могут на сишечке написать.
Как будто "эксперты" раста смогут написать lpt-драйвер для принтера на... да на чем угодно.
Ну так сторонниики раста не мнят себя экспертами, вот в чем отличие! А сишники, прикидываются дидами из 1950-х, рассуждают о программировании, а на деле - ничего!
Посмотри на новости про него. Повода к новостям, как таковых нет. А новости есть.Если кому-то будут говорить, "Жри! Жри! Жри!", то какую реакцию вы ожидаете?
Пардон, но в новостях про раст никого не заставляют использовать РАСТ. Это же очевидно.
> Пардон, но в новостях про раст никого не заставляют использовать РАСТ. Это
> же очевидно.Если повода для новости нет, а новость есть - то это и есть ор: "Жри! Жри! Жри!".
Ну определение "повода" для новости - понятие исключительно субъективное.
> Ну определение "повода" для новости - понятие исключительно субъективное.Субъективно особенно, когда кто-то в порядке изучения языка попробовал написать модуль, который загружается, но еще не рабочий - а про это новость.
Ну так, альфа-версия. Проходите мимо, можно не читать. Так подумать - так вас заставляют читать?!!
> Ну так, альфа-версия. Проходите мимо, можно не читать. Так подумать - так
> вас заставляют читать?!!Э... Если вы так относитесь к читателям новостей, то какой реакции ожидаете?
Я не знаю. Предпочтения у каждого читателя разные, сложно сказать. Не нравятся новости о расте - можно не читать и не тратить время на обсуждение.
> Я не знаю. Предпочтения у каждого читателя разные, сложно сказать. Не нравятся
> новости о расте - можно не читать и не тратить
> время на обсуждение.Что бы понять, что новость не стоит выеденного яйца, ее приходится прочитать. И когда обнаруживаешь что новость фувло, то естественная реакция: "Да, вы з...али".
Для вас - новость не стоит выеденного яйца.
Для других людей - паршивенькая, но сойдёт.
А ещё для других - нормальная новость.
А ещё для других - новость то крутая.Всё очень индивидуально.
> Для вас - новость не стоит выеденного яйца.
> Для других людей - паршивенькая, но сойдёт.
> А ещё для других - нормальная новость.
> А ещё для других - новость то крутая.
> Всё очень индивидуально.Поэтому делая такие новости вы помаленьку накапливаете тех, кто входит в первую категорию в качестве недоброжилателей. И чем больше таких новостей, тем больше недоброжилателей.
Поэтому для таких новостей должны быть специфичные для них места. Другие сайты и новостные группы. А не общего назначения.
Ну, или терпите.
Мне всё-равно, какие новости публикуются здесь, на опеннете. Я не публикую здесь новостей. Если мне не нравится или безразлична какая-нибудь новость - я прохожу мимо.
> Мне всё-равно, какие новости публикуются здесь, на опеннете. Я не публикую здесь
> новостей. Если мне не нравится или безразлична какая-нибудь новость - я
> прохожу мимо.Очевидно, что не все такие. Для некоторых людей заметные внешние попытки воздействовать не сознание вызывают отторжение.
Попытки воздействовать на сознание происходят и от сторонников раста и от хейтеров. Многим людям попытки воздействовать на сознание криками о "преимуществах" сишечки и уничижением раста - тоже не нравятся. Каждый может смотреть на это со стороны.
> Попытки воздействовать на сознание происходят и от сторонников раста и от хейтеров.
> Многим людям попытки воздействовать на сознание криками о "преимуществах" сишечки и
> уничижением раста - тоже не нравятся. Каждый может смотреть на это
> со стороны.Есть новости в которых расписывалось бы преимущество использования Си?
Ну он же старый, новых версий нет давно. Значит, и новостей нет. Сторонники плюсов, могут также постить новости о новых с++N стандартах. Но они новостей не делают, видимо не хотят.
> Ну он же старый, новых версий нет давно. Значит, и новостей нет.
> Сторонники плюсов, могут также постить новости о новых с++N стандартах. Но
> они новостей не делают, видимо не хотят.Для это есть другие места, более подходящие для таких новостей.
"В комитете по стандартизации обсуждается...".
Тут вряд ли кому-нибудь будет интересно.
Новости о событиях в языках программирования с открытым исходным кодом подходят под тематику опеннет, данного ресурса. Не вижу проблем.
> Новости о событиях в языках программирования с открытым исходным кодом подходят под
> тематику опеннет, данного ресурса. Не вижу проблем.Формальный подход. Проблем нет. Терпите хейт.
Зачем тогда три абзаца о том какой он удобный и популярный?
Тебе то что? Для кого-то он удобный и популярный (речи нет, что для всех). Очевидно же. Тебе его никто не навязывает. Сишечка тоже удобная и популярная очень не для всех, а для единиц опеннет-экспертов.
Для новичков. Для тех, кто первый раз зашел на опеннет и первый раз видит новость про какой-то раст. Не все же такие, как ты - живут здесь десятки лет.
Насильное продавливаете языка, который по факту завязан на llvm. Карго культ с централизованным управлением. Неготовность работы для ядра (сейчас там просто закостыляли моменты). Дальше думайте сами кому это надо.
Чего ты так хейтишь llvm? Они тебе в штаны наложили?
Прекрасный, по настоящему свободный компилятор.И не надо тут заливать про корпов - достаточно посмотреть на "GCC steering committee members" и посчитать сколько там некорпов. И заодно глянуть в списох их донатеров.
> Чего ты так хейтишь llvm? Они тебе в штаны наложили?Где ты увидел хейт?
> Прекрасный, по настоящему свободный компилятор.
Завязанность на 1 компилятор - это плохо. Должен быть выбор, потому что если завтра llvm внедрит что-то странное, то должен быть запасной вариант. Поэтому одно из условий внедрения раста должна быть его поддержка как минимум в gcc. А для этого нужен стандарт, которого у раста нет.
>Поэтому одно из условий внедрения раста должна быть его поддержка как минимум в gcc. А для этого нужен стандарт, которого у раста нет.И вот снова растохейтер врет не моргнув глазом про нербходимость стандарта.
Покажи ка мне стандарт на Go, потому как gccgo я тебе показать могу.
> Покажи ка мне стандарт на Go> потому как gccgo я тебе показать могу.
Уже несколько людей заметили, что стандарт заменяется RFC - практически то же самое, только разбито на части и бесплатно для всех желающих. Поддержка как минимум в gcc не за горами. Ты это, из криокамеры вылезай уже.
> Уже несколько людей заметили, что стандарт заменяется RFC - практически то же
> самое, только разбито на части и бесплатно для всех желающих. Поддержка
> как минимум в gcc не за горами. Ты это, из криокамеры
> вылезай уже.
> в gcc не за горами.
> из криокамеры вылезай уже.У тебя проблема с причинно следственными связями: если я в криокамере, то поддержка уже должна быть, а ее нет. Ну для растомана не удивительно.
Это у тебя проблема с логикой в частности и понимаем написанного вообще. Я написал, что "поддержка не за горами". Это означает, что она на подходе, но ещё не реализована в полной мере.Впрочем, кому я объясняю. Растохейтерам что в лоб, что по лбу.
> Это у тебя проблема с логикой в частности и понимаем написанного вообще.
> Я написал, что "поддержка не за горами". Это означает, что она
> на подходе, но ещё не реализована в полной мере.Растофанатик пытается в оправдание. Поддержки нет. Вот когда будет, тогда и пиши. А пока твой посыл с криокамерой это демагогия.
> Насильное продавливаете языка, который по факту завязан на llvm.Вот только вчера попробовал из учебника простую программу скомпилить. Потребовал установить gcc. Clang вообще не установлен. В каком месте он завязан?
> Карго культ с централизованным управлением.
Что мешает написать что-то типа
[dependencies.my_lib]
path = "../my_lib"
да, в Go тоже есть директива replace, но ей никто не пользуется, даже IDE автоматизированы для скачки с нужных похабов
> даже IDE автоматизированы для скачки с нужных похабовВ Го можно прекрасно обходится без "нужных похабов" и делать либы полностью локальными и при
желании переключатся с локалных на "похабы" чере workspace
собственно, мешает то, что ты непосредственно либо то заимпортишь, а всю гроздь её зависимостей -- скриптик придется писать
> Что мешает написать что-то типаНекомпетентность. Большинство хейтеров даже не знают о существовании такой возможности.
А если им рассказать что ты можешь не использовать crates, а развернуть свой private registry... то они вообще от шока отойти не смогут.
> А если им рассказать что ты можешь не использовать crates, а развернуть
> свой private registry... то они вообще от шока отойти не смогут.Ты только на бумаге об этом можешь писать. Или ты готов показать свой приватный регистр?
Слово "приватный" в словосочетании "приватный регистр" тебе о чем говорит?
Ну пожалуйста, попробуй подумать!Ну и если догадаешься, попробуй ответить на предыдущий вопрос - какой смысл задавать вопрос, зная что ответа на него тебе не дадут просто из-за базового свойства сущности private registry?
> Слово "приватный" в словосочетании "приватный регистр" тебе о чем говорит?
> Ну пожалуйста, попробуй подумать!Private означает частный, в данном случае независимый. Английский бы тебе подучить надо. И совсем не означает скрытый. Он может быть публично доступен. Но у тебя просто ничего нет, это же очевидно.
> Private означает частный, в данном случае независимый.Ты ещё составителям Oxford dictionary посоветуй английский подучить. А то у них вишь какое определение есть для слова "private":
of a conversation, activity, or gathering) involving only a particular person or group, and often dealing with matters that are not to be disclosed to others.
"this is a private conversation"Similar: confidential, strictly confidential, secret, top secret, classified
Если ты не видишь слона - это не означает, что его в природе нет. Просто поразмысли на досуге.
>> Private означает частный, в данном случае независимый.
> Ты ещё составителям Oxford dictionary посоветуй английский подучить. А то у них
> вишь какое определение есть для слова "private":
> of a conversation, activity, or gathering) involving only a particular person or
> group, and often dealing with matters that are not to be
> disclosed to others.
> "this is a private conversation"
> Similar: confidential, strictly confidential, secret, top secret, classified
> Если ты не видишь слона - это не означает, что его в
> природе нет. Просто поразмысли на досуге.Сделай милость, не пиши мне больше. Твоя демагогия мне не интересна.
Так и запишем. Растохейтер слился. Впрочем, я не удивлён.
>> Насильное продавливаете языка, который по факту завязан на llvm.
> Вот только вчера попробовал из учебника простую программу скомпилить. Потребовал установить
> gcc. Clang вообще не установлен. В каком месте он завязан?Кто-что портребовал? Ссылки в студию. Давай покажи как ты собираешь раст без llvm. Но думаю, что ничего ты не собираешь, а скачиваешь бинари баш скриптом, даже не зная что там.
>> Карго культ с централизованным управлением.
> Что мешает написать что-то типа
> [dependencies.my_lib]
> path = "../my_lib"Покажи пример проектов, которые так делают. Если их нет, то это означает ровно то, что я написал: завязанность всего и вся на централизованный хаб. Такая же фигня как в python или nodejs.
Это в попнесорсе так. Потому что там всем пофиг.
В нормальной разработке - свой проприетарный код код коммитится в свои приватные репы.
А если используется открытый - то он форкается и тоже заливается в свою репу, возможно открытую.
Чтобы никакой отбитый разраб не наложил в открытый код какую-то подляну.И версии прибиваются, никакого автообновления.
А когда нужно продвинуть версию, делается ревью изменений.
>Покажи пример проектов, которые так делают. Если их нет, то это означает ровно то, что я написал: завязанность всего и вся на централизованный хаб.Вот тебе пример проекта на раст без централизованных привязок и даже без cargo:
https://github.com/torvalds/linux/tree/master/rustИ как оно быть таким убогим? ты сейчас переобуешся еще раз и выдвинеш новые условия?
>>Покажи пример проектов, которые так делают. Если их нет, то это означает ровно то, что я написал: завязанность всего и вся на централизованный хаб.
> Вот тебе пример проекта на раст без централизованных привязок и даже без
> cargo:
> https://github.com/torvalds/linux/tree/master/rustТам от раста, что осталось, ты хоть смотрел? Зачем там привязки?
> И как оно быть таким убогим? ты сейчас переобуешся еще раз и
> выдвинеш новые условия?Ты сам за собой следи. Привел пример даже не проекта, а интеграции в сишный код. Давай покажи, чем вы растоманы хвастаетесь: рипгрепом? Там тоже нет cargo?
>>ты сейчас переобуешся еще раз и выдвинеш новые условия?
>Там от раста, что осталось, ты хоть смотрел? Зачем там привязки?что и требовалось доказать. переобувальщик переобулся и выдвигает новые условия.
>Привел пример даже не проекта, а интеграции в сишный код.
и занимается демагогией. какая неожиданность! (нет)
Видите ли, написание интеграции одного ЯП с другим ему уже не проект. что еще расскажеш в свое оправдание, клоун?
>>>ты сейчас переобуешся еще раз и выдвинеш новые условия?
>>Там от раста, что осталось, ты хоть смотрел? Зачем там привязки?
> что и требовалось доказать. переобувальщик переобулся и выдвигает новые условия.Слиться решил? Ну ладно засчитаем. Раз по делу нечего сказать.
>>Привел пример даже не проекта, а интеграции в сишный код.
> и занимается демагогией. какая неожиданность! (нет)
> Видите ли, написание интеграции одного ЯП с другим ему уже не проект.
> что еще расскажеш в свое оправдание, клоун?Клоун? Твое имя? Не приятно познакомиться. Таким как ты руку обычно не жмут, и вообще не здороваются. Опущенец.
> Покажи пример проектов, которые так делают.Не все проекты можно показывать каждому желающему.
> Если их нет, то это означает ровно то, что я написал: завязанность всего и вся на централизованный хаб. Такая же фигня как в python или nodejs.
Это означает всего лишь то, что ты сову на глобус пытаешься натянуть. Правда, не очень удачно выходит. А ещё у тебя с логическим мышлением явные проблемы.
>> Покажи пример проектов, которые так делают.
> Не все проекты можно показывать каждому желающему."У меня есть проекты на расте, но я вам их не покажу" - удобно (для тебя).
>> Если их нет, то это означает ровно то, что я написал: завязанность всего и вся на централизованный хаб. Такая же фигня как в python или nodejs.
> Это означает всего лишь то, что ты сову на глобус пытаешься натянуть.
> Правда, не очень удачно выходит. А ещё у тебя с логическим
> мышлением явные проблемы.Интересно ты тролишь или действительно настолько туп?
> "У меня есть проекты на расте, но я вам их не покажу" - удобно (для тебя).Лично у меня пока ничего нет. Я пока только изучаю этот язык программирования. Однако же я вполне могу себе представить людей, у которых они есть, вон, как у господина выше.
> Интересно ты тролишь или действительно настолько туп?
Интересно другое - как ты юлить пытаешься, когда тебя макнули мордочкой в твоё же дермецо.
>> "У меня есть проекты на расте, но я вам их не покажу" - удобно (для тебя).
> Лично у меня пока ничего нет. Я пока только изучаю этот язык
> программирования.С этого и надо было начинать. Хотя это было ясно с самого начала.
> Может кто-нибудь внятно объяснить откуда столько хейта к языку?По одной простой причине - из-за кампании по втюхтванию этого языка везде и всюду и параллельной кампании по дискредетации языка Си. Очевидно, что это всё не само собой происходит, а под чьим-то руководством и с какой-то целью, предположительно - взять под контроль Linux и СПО.
Да тут и без кого-то хватает не имеющих отношения к программированию бездельников, которым все мешают хорошо жить и прятать свои постыдные делишки гипотетическими уязвимостями лично в их квартирке.
Ахаха, серьезно??
Раст не нужен чтобы Си дискредитировать. Да и вообще си дискредитировать... куда уже?
Достаточно открыть очередную новость про очередную сишную дырень и убедиться что сишники до сих пор не научились нормально кодить.
А причём тут Си? Существуют тысячи сложнейших программ, написанных на Си, которые работают, как швейцарские часы. Что далеко ходить, всё оборудование - от магистральных маршрутизаторов до аппаратов искусственного дыхания на сишных прошивках крутится, много было сбоев из-за этого? Так что не надо тут сказки, что "сишники не научились кодить". Просто похоже у кого-то нет желания думать, тестировать, отлаживать, а нужна только кнопка "сделать всё хорошо".
> а нужна только кнопка "сделать всё хорошо".Под этим соусом и продвигают раст. "просто пишите код, а компилятор позаботится о всем остальном". Это как умный дом, в котором живет глупый человек.
> Под этим соусом и продвигают раст. "просто пишите код, а компилятор позаботится
> о всем остальном". Это как умный дом, в котором живет глупый
> человек.Так именно что не просто пишешь, а пишешь по строго заданным правилам иначе компилятор бьет по рукам.
Увы, но СПО, Линукс и прочие RISC-V, к сожалению, легко причесать под нужды, и причёсывается. Достаточно кому надо куда надо наклеить шильдик "свобода" или "безопасность", и рабы и трусы туда побегут бороться
хм... по твоей логике "не-рабы" любят дырки в коде, use-after-free, выходы за границы массива, повышение привелегий и прочий проходной двор
объясняют они это тем что диды кал кушали, и все остальные должны кушатьони не любят свободу и особенно свободные лицензии типа бзд, мит, мпл
они любят только раковые лицензии заражающие код
возможно они просто терпилы, как думаешь?
Ты ничего не понял из того, что я написал. Но это и не удивительно. Кал сыпется из твоей головы. А деды делали продукт, а не указывали кому что и как нужно делать и не обсуждали чужие труды как маменькины женоподобные анонимы, в проблемах которых вечно виноваты другие, начиная с мамки, которая виновата в том, что не сделала аборт, а они самые умные и прогрессивные.
> дырки в коде, use-after-free, выходы за границы массива, повышение привелегий и прочий проходной дворСи это язык для работы с железом! Не Раст! Если нужно убрать такое на корню, надо делать другие процы, а не костыли вроде Раста, т.к. для работы с адресами, а с железом именно так все и биндится, твои unsafe неизбежны! А если тебе надо софт повыше уровнем написать, то нечего брать Си, но есть другие языки получше с развитой инфраструктурой и опытом.
> Си это язык для работы с железом! Не Раст!Раст прекрасно предоставляет такие же возможности. Иначе на нем не могли бы писать загрузчики, bare-metal os и тд.
> твои unsafe неизбежны
Никто не предлагает убирать такое на корню. Именно для этого в раст есть unsafe.
Что плохого в том, чтобы "разделить" код на тот который возможно проверять автоматически, и который невозможно?
Я понимаю, что для большинства хейтеров это красная тряпка и начинается "у вас 1000 строк unsafe кода". Но с другой стороны - "у нас ВСЕГО лишь 1000 строк unsafe кода", остальное покрывается гарантиями компилятора.
Еще он кажется предоставляет возможность залететь на вендорлок вон того сервиса индексов.
я не удивлен, что вы добровольно готовы подчиниться корпоратам, которые вместе с пряником в виде плюсов держат за собой и кнут
В треде выше анон упомянул GCC steering committee members.
Эте кто рецензирует/пишет/управляет разработкой GCC.
Ну так посмотри на кого они работают:
IBM, Red Hat, CodeSourcery, SUSE, Google, SiFive, какой-то OAR Corporation.
Это не корпораты ли?
Там из нейтралов только какой-то Meteorologisch Instituut и два чела без указания места работы.
Обрати внимание, я про СПО тоже писал, и GCC туда же. Но фанатики почему-то считают одно другого лучше
> и параллельной кампании по дискредетации языка СиНикто никакой кампании не ведет, си сам себя (через своих "икспертов") очень успешно дискредитирует бесконечными багами при работе с памятью. С такими своими "возможностями" никаких кампаний дискредитации не нужно.
> дискредитирует бесконечными багами при работе с памятьюЭто всё раздуто - никаких проблем, приведшим к сколь либо серьёзным последствиям, нет. То, что много ошибок обнаруживаются говорит только о хорошо отлаженной в настоящее время технологии обнаружения ошибок и о большом количестве людей, работающих над этим. "Не ошибается только тот, кто ничего не делает".
Да-да-да, раздуто, да-да-да, проблем никаких. Тебе хоть известно, сколько стОит секунда (!) простоя какого-нибудь международного банка или платёжной системы? И почему никакого Си и близко нет в космической, атомной промышленности? А про взломы всякие крупных корпораций тоже не знаешь?> хорошо отлаженной в настоящее время технологии обнаружения ошибок
Ну да, ажно через 15 лет ошибки продолжают в коде находить. Настолько хорошо отлажена технология.
> и о большом количестве людей, работающих над этим.
Миллионы леммингов, ага.
Откуда только берутся подобные "эксперты". Просто концентрированное сборище какое-то на опеннете.
> Тебе хоть известно, сколько стОит секунда (!) простоя какого-нибудь международного банка или платёжной системы?Реальные примеры серьёзных сбоев из-за Си в студию.
> И почему никакого Си и близко нет в космической, атомной промышленности?Всё там есть, вся промышленность под Linux/UNIX работает, которые написаны на Си.
> Откуда только берутся подобные "эксперты". Просто концентрированное сборище какое-то на опеннете.Да ты вообще в теме не шаришь, как я погляжу.
> Реальные примеры серьёзных сбоев из-за Си в студию.Сбой в СУБД в крупнейшем банке в мире. Каком именно - не скажу (NDA). СУБД написана на C.
> Всё там есть, вся промышленность под Linux/UNIX работает, которые написаны на Си.
Только это "всё" не учавствует в управлении критически важным оборудованием. Только в качестве инфраструктуры.
> Да ты вообще в теме не шаришь, как я погляжу.
Ты поменьше в зеркало смотри ;)
> Каком именно - не скажу (NDA)."Знаю, но не скажу", понятно. Но даже если и так - весь Интернет сейчас на Си-шных СУБД крутится, и ничего - Гугл работает, не падает. Так что то, что "крупнейший банк" не создал сбоеустойчевую инфраструктуру - это не проблема Си.
> Только это "всё" не учавствует в управлении
То есть как это "не участвует"? Операционная система - это основа основ, она всем базовым оборудованием управляет, поверх которого уже что-то прикладное строится. Сбой ОС приведёт к сбою всего, что на этой инфраструктуре работает, поэтому более чем участвует.
> Ты поменьше в зеркало смотри ;)
А, так ты в зазеркалье живёшь, тогда это всё объясняет)
>> Реальные примеры серьёзных сбоев из-за Си в студию.
> Сбой в СУБД в крупнейшем банке в мире. Каком именно - не
> скажу (NDA). СУБД написана на C.Все крупнейшие СУБД написаны на С или С++. На расте нет ничего.
> Может кто-нибудь внятно объяснить откуда столько хейта к языку?....большая нить свёрнута, показать (91)
Судя по всему, внятно так и не обьяснили ...
> Судя по всему, внятно так и не обьясниличто тут объяснять - агрессивное навязывание языка противоестественного для большинства людей. Был такой инструмент терменвокс но не прижился потому что слишком сложен, а электрогитара прижилась потому что это всем известная гитара. Поэтому Go прижился а Rust никогда не будет майнстримом и точка.
> навязывание языка противоестественного для большинства людейЛюди со слабыми когнитивными способностями всегда в большинстве, с этим не поспоришь. Но почему технический прогресс на них должен равняться? Эволюцию ведь никто не останавливал.
> а Rust никогда не будет майнстримом и точка.
Уже становится постепенно. Не так быстро, как хотелось бы, но поезд набирает обороты.
> Люди со слабыми когнитивными способностями всегда в большинстве, с этим не поспоришь.Во!
Вот оно - чувство превосходства, голубая кровь...
Удачи, - прогрессо толкатель...Человеческих аргументов для дискусии - не нашлось, перешел на оскорбления, а все туда же, "в прогресс", а сам то по сути кто?
> Вот оно - чувство превосходства, голубая кровь...Это не чувство превосходства. Это констатация фактов, которые, увы, далеко не всегда лицеприятны. Или ты не знал, что умных людей гораздо меньше, чем остальных?
> Человеческих аргументов для дискусии - не нашлось
Если бы же тут была человеческая дискуссия. Тутошние "эксперты" не дискутировать приходят, а изливать на публику свою неудовлетворённость жизнью.
> а сам то по сути кто?
А сам по сути человек, трезво оценивающий свои способности. Если я понимаю, что я не гожусь для пения в опере (нет ни голоса, ни идеального слуха), я туда и не лезу. Как-то так.
Нет никакого хейта. Это тролли всё. Ты вчитайся в бред их аргументов, они состряпаны бредом от первого слова до последнего, чтобы триггерить в других чувство "в интернете кто-то не прав".
>Для сокращения задержек, возникающих из-за загрузки полного индекса, в Sparse вместо доступа к индексу с использованием Git задействована прямая загрузка по HTTPS только необходимых индексных данных, охватывающих зависимости конкретного проекта. Для отдачи индексных данных задействован новый сервис index.crates.ioОооо,да. Сначала установка через curl и bash, теперь просто подключения куда-то в интернет через https, да еще и сервис на который завязана все инфраструктура. Безопасность так и прет.
О, да, очередной эксперт по безопасности вылез, который не в состоянии её обеспечить для внутренней разработки. Подскажу эксперту, ибо сам вряд ли допрет: всё отключается или переключается на использование внутренних серверов.
А в то же время финансовая область, кроме крипты, продолжает использовать проверенный и надежный C++
https://www.efinancialcareers.com/news/2023/03/rust-jobs-in-...>The programming language Rust has a cult following in the finance industry. Some tout it as a C++ killer, but that might be wishful thinking. Rust ranks 19th on the TIOBE index; C++ is regularly in the top four.
>“Rust isn’t used much in finance now, except for in crypto firms." says Joshua Friedman, a recruiter who covers technology hiring at GQR Global Markets in New York, "There’s a feeling of ‘Why gut everything just to use the new version of a tech stack?’"Согласен, что раст это интересный эксперимент, но думаю со временем его лучшие наработки будут перенесены в более популярные языки, в тот же C++.
>думаю со временем его лучшие наработки будут перенесены в более популярные языки, в тот же C++Наивный :)
> проверенный и надежный C++вернее, проверенно ненадежный С++. Но с отличной возможностью заменить одного винтика-разработчика на другого, ибо плюсовиков подавляюще больше растовиков. Конечно начальники разработки и хедхантеры будут очень ценить такое преимущество.
"Для работы на платформе Android теперь требуется как минимум NDK r25 (API 19), т.е. минимальная поддерживаемая версия Android повышена до 4.4 (KitKat)."Ну они конечно впечатляют - большиснтво разработчиков давно уже не то что 4.4 перестали поддерживать, а даже и Андроид 5 и 6.
Если Rust такой идеальный язык -- почему он не используется в геймдеве? Тот же Lua, с его массой проблем и фич есть везде где нужен скриптинг, но если в нём чуть ошибиться с написанием будет дико весело отлаживать (хрен найдёшь).
https://github.com/bevyengine/bevy
А причём тут скриптовый язык Lua? Типа если шипованные колёса такие крутые, то почему не используются летом? Вот лыжи с их массой проблем используются во всей Якутии!Чувак, ты здоров? Всё у тебя хорошо?
> Типа если шипованные колёса такие крутые, то почему не используются летом? Вот лыжи с их массой проблем используются во всей Якутии!так rust-то почему не используется в геймдеве ?
Потихоньку начинают применять:Ein: https://www.resolutiongames.com/blog/calling-rust-from-c-in-...
Zwei: https://github.com/dimitri-br/runity
Drei: https://www.youtube.com/watch?v=L7M_vbo1N2g
Была какая-то POC песочница а ля раст на расте, но они емнип свалили на плючы в итоге. Жалкое зрелище, теперь у них хотя бы есть какие-то шансы (впрочем, любые песочницы хлам по определению).
Я, видимо, ошибся, на видео было поинтереснее, или то была другая игра. В любом случае, брать малопопулярный язык для разработки любого продукта это суицид с коммерческой точки зрения.
Когда будет в GCC?
Никогда, ибо Руст - это проделки лукавого
Обещают что в 13ю версию попадет.
>Когда будет в GCC?Когда великий Столлман одобрит.
Вы слоупоки - фронт gcc уже комитнули в gcc.
Вообще, это выпуск описания языка Раст. Ну, или если очень хочется, то стандарта такого-то номера. Если кто-то нездоровый на голову решит, что этот стандарт надо поддерживать, то он выпустит компайлер с поддержкой этого стандарта "номер такой-то". Сам по себе этот "релиз" нах никому не упал без компайлера, линкующего и генерящего исполняемый файл.
Проблема в сборщиках дистрибутивов и програмистах:> Безопасная работа с памятью обеспечивается в Rust во время компиляции
А кто с дистрибутивов Linux/BSD при сборке проверяет безопасность кода:
CFLAGS="-Wall -Wformat -Wformat-security -Werror=format-security -Werror=implicit-function-declaration -mcmodel=large -mfunction-return=thunk-inline -D_FORTIFY_SOURCE=3 -fPIE --param ssp-buffer-size=1 -fstack-protector-all -fstack-clash-protection -fexceptions -mcet -fcf-protection -fno-plt -fPIC"LDFLAGS="-Wl,--as-needed -Wl,-z,now -Wl,-z,relro -Wl,-pie
Сегодня в дистрибутиве Gentoo официально запретили принимать баги при сборке, связаные с:
-Wformat -Wformat-security -Werror=format-security
А когда-то в Gentoo это был баг, который патчили и апстрим уведомляли.Вместо переписывания на Rust, лучше бы вылизали текущий код C. В основном там не много. Много правок будет только в коде графических и видео библиотек использующих mmx,sse*,avx*, потому, что у них функциональность и производительность кодеков официально ставится приоритетнее безопасности.
CXXFLAGS="${CFLAGS} -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -DPIC"CPPFLAGS="${CFLAGS} -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -DPIC"
Флаги зависят от версий gcc. В профиле Hardened Gentoo некоторые флаги включены во внутренние спецификации и их дополнительно выставлять не надо.
Отчего-то они так часто выдавливают новый релиз?А, понял: проектирование для слабаков же!
У них фиксированные даты релизов. Хорошо это, или плохо - каждый решает для себя сам.
Минорный релиз каждые 6 недель, по расписанию, с 2015 года так.
релиз ради релиза?! это уже диарея какая-то...
Фиксированный график релизов ради ритмичной доставки улучшений и исправлений, очевидно же.
> Отчего-то они так часто выдавливают новый релиз?
> А, понял: проектирование для слабаков же!Это смузихлебтсво. Если нет релизов, то они думают, что не развивается. По теме https://github.com/xmonad/xmonad/issues/43
> Для размещения библиотек поддерживается репозиторий crates.io.если закрыть доступ к crates.io, то исчезнет возможность сборки любого ПО, написанного на расте?
>> Для размещения библиотек поддерживается репозиторий crates.io.
> если закрыть доступ к crates.io, то исчезнет возможность сборки любого ПО, написанного
> на расте?Не закрыть, а ограничить по спискам. Плати денежку и качай.
Чего не хватает расту, так это низкоуровневых функций вроде getch, scanf и тд
> низкоуровневых
> scanfФункция интерпретирующая в рантайме программу низкоуровневая. Так и запишем.
> getch
Это из conio.h? Обёртка над биосовским прерыванием? Ты из криокамеры вылез? Дос с биосом отканселили лет двадцать назад.
А как интерпретируемый в райнтайме влияет на её низкоуровневость?
Представляешь, ты в рантайме считываешь ввод иначе никак не получится. Прикинь?
Дело в реализации, а не во времени выполнения.
> задействован новый сервис index.crates.io.Vendorlock?
Даже в последний релиз Слаки раст включили, да со всем ансамблем - с дебаггерами и тд
В Слаку 15 его влючили ради фаерфокса. Во время исталляции системы я не установил себе ни Раст, на Огненную Лису, так что в моей Слаке его нет.
Дебаггер и Cargo тоже ради фаерфокса идут в комплекте?
Не видел там их при установке
А ты флаг ставил - установка пакетов для разработки? Я ставил.
Я при систему ставил в режиме, который выводит описание каждого отдельного пакета с возможностью его либо включить, либо отключить. Вот там я и отмечал звездочками то, что мне надо.
>Дебаггер и Cargo тоже ради фаерфокса идут в комплекте?Да. В Слаке 1 сырец = 1 пакет.