The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.47, opennews (ok), 08-Окт-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


55. "Выпуск языка программирования Rust 1.47"  –4 +/
Сообщение от Аноним (51), 09-Окт-20, 04:17 
1. Не хуже аналогов с шаблонами. Первый раз долго, конечно, если надо все зависимости собрать.
2. На всех основных есть.
3. Зайди на crates, их дохрена, сложно для какой-то целевой задачи не найти крейт. Конечно, можно, но сложно. Были случаи, когда для раста нашелся хороший крейт продакш уровня, а на плюсах дряхлая кривая либа
4. Что? Всё есть, и на хорошем уровне:
- IntelliJ Rust
- Rust Analyser (интеграция в разные редакторы)
- rls, но он хуже
- дебаггер даже в vscode есть
- Формат кода есть в стандартной поставке

Раст в сравнении с Си и правда замечательный :)
Да всё на фоне Си великолепно, если подумать
Он приятнее уже сейчас, дом построен, сдан, а сишник накачался клеем и думает, что у него есть дом.
Сишники просто не хотят терять свою значимость, вот и кричат. Хорошо, что местные комментаторы ничего не решают, иначе бы до сих пор не лошадях ездили :)

По безопасности:
1. Вот именно, что блоки. Лучше БЛОКИ unsafe, чем ВООБЩЕ ВЕСЬ КОД. К тому же, unsafe тоже проверяется и сам по себе безопаснее C. Наиболее оптимальный подход.
2. Нужная. C от обилия уязвимостей мирового уровня это всё не спасло.
Но да, при обсуждения Раста иногда в первую очередь вспоминают безопасность, но это скорее бонус, на мой взгляд, чем киллер-фишка.

Хорошего дня!

Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск языка программирования Rust 1.47"  –1 +/
Сообщение от Аноним (212), 09-Окт-20, 05:01 
Почему на расте невозможно целиком написать законченный продукт? Мозила уже 10 лет пилит-пилит и не может допилить FF на расте, как ни ткни куда - "ой, это ещё не переписали".
Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (97), 09-Окт-20, 11:56 
Можно источник, где они говорили, что собираются всё-всё переписать?
Какой в этом смысл? Это не практично, это дорого.
Они избрали верный путь и пишут на расте именно новые модули.
Ответить | Правка | Наверх | Cообщить модератору

118. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от анонн. (?), 09-Окт-20, 13:49 
> Почему на расте невозможно целиком написать законченный продукт?

Почему на опеннете анонимам невозможно целиком написать хоть немного продуманный комментарий?

> Мозила уже 10 лет пилит-пилит и не может допилить FF на расте, как ни ткни куда - "ой, это ещё не переписали".

Т.е. сначала им нужно было угнать машину времени, чтобы релизнуть раст в 2010
>> 15.05.2015 · Today we are very proud to announce the 1.0 release of Rust

а затем уговорить Гугл отказаться от подминания рынка под себя методом "все остальные в догоняющих", пока они не перепишут у себя весь движок?
От оно чё.
МСу на самом деле небось тоже раст помешал оставаться на собственном движке, а не менеджменту надоело тратить сотни миллионов, просто чтобы не отстать от Гугла?


Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

59. "Выпуск языка программирования Rust 1.47"  +6 +/
Сообщение от Ivan_83 (ok), 09-Окт-20, 06:08 
1. Чтобы собрать раст нужно собрать llvm и потом ещё раст, это как бы дольше чем просто один llvm.
2. i386, amd64 и всё?
3. Не знаю что такое крейт, но сильно сомневаюсь что на расте уже есть ffmpeg со всеми кодеками или OpenCV, боюсь даже банальной замены OpenSSL может полноценно не найтись.
4. Те примерно один компелятор, одна IDE, а анализатор и форматер - то что досталось на халяву от llvm - "очено богато". И я поверю на слово что это есть хотя бы в единичных работающих экземплярах.
5. Я так и не услышал причин переходить на раст.

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

Безопасность, безопасность, безопасность - у тебя фобии?
Грохнется прога, переполнится стёк и тп - и что?
Отладчиком чтоли пользоватся не умеешь и корки разгребать?

А давай на вашем расте в течении 50 лет тоже будут писать всякие начиная от школотронов и заканчивая специалиастами с многолетним опытом, напишут штук 5 операционок, пару офисных пакетов, 3-4 браузерных двигла, кучу дров, тонны прикладного софта, это всё поработает у пользователей лет 40, а потом ты придёшь и будешь рассказывать что у вас на расте никаких уязвимостей нет и быть не может.

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

Просто про культуру и акценты.
Я вот лично нейтрально относился к Abode Flash Player в начале 200х, годов с 2010 он начал напрягать тем что постоянно требовал обновления чтобы затыкать зиродеи в бизапасности. Ну ещё напрягали корявые сайты и реклама на нём.
Но при этом не возможно отрицать что именно он всёс огромный вклад в развитие и технологий и культуры. Именно он позволил смотреть и анимацию по диалапу и какие то игры а потом и видосики прямо в браузере, не было бы ютуба без фарш плеера.
При этом никто там никаких дыр в нём лет 10 не искал, не было никаких проблем с безопасностью - оно никому не было нужно. Потому оно так и разрабатывалось - лишь бы фичи да скорость.
Это потом пошла мода искать дыры и там каждый месяц было 1-8 зиродеев с автоматичеким выполнением кода.

И я могу припомнить ещё кучу "дыр" которые были просто потому что никто не думал что это будет использовано как то во зло а не так как задумано.
В Outlook Express можно было у письма делать фоновую музыку (типа музыкальной открытки), а потом кто то догадался туда вместо wav/midi прикладывать exe - оказалось оно тоже "воспроизводится".
Любимая тема с макросами в офисе - далеко не сразу злодеи догадались использовать их для шуток а потом и гадостей, а ведь как было удобно придумано.

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

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


Пока что у вас там накорябано полторы библиотеки и пара приложений и дальше дело как то медленно идёт.

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

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

80. "Выпуск языка программирования Rust 1.47"  –3 +/
Сообщение от Аноним (77), 09-Окт-20, 10:37 
Не буду лишний раз цитировать, но половина написаного тобой - кипение, бред и признание некомпетентности.
Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск языка программирования Rust 1.47"  +4 +/
Сообщение от Ivan_83 (ok), 09-Окт-20, 10:41 
Те аргументов у вас нет?
Ответить | Правка | Наверх | Cообщить модератору

294. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Michael Shigorinemail (ok), 11-Окт-20, 19:14 
Просто к сведению: автор #80 соизволил брякнуть неаргументированное с укуртелекома.  Если Вы будете его сподвигать на внятные логичные высказывания и обоснование своей позиции -- ему это может буквально стоить жизни, поскольку разрушение контейнеризации сознания в условиях массированной пропаганды, переворачивающей наблюдаемое с ног на голову, некоторым не получается выжить без соглашения с тем, что и чёрное -- это белое, и белое -- это белое.

PS: в смысле коротнуть в его бошке может...

Сам же прокомментирую Ваше высказывание так: безопасностью "не заморачивались" или раздолбаи, или когда считали, что какой-либо фронт априори прикрыт (например, "это изолированная машина", которая через пяток лет вдруг стала связной).  Да и вред от дырок в девяностых был по большей части профессионально-подковыристый, внимание организованного криминала (и следом монетизацию) тема информационной безопасности привлекла уже в нулевых.

Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск языка программирования Rust 1.47"  –1 +/
Сообщение от Аноним (173), 09-Окт-20, 12:04 
Чувак, посмотри код, который требуется на С, чтобы запустить что-то полезное, например быстро сделать http-сервер.
А, вам древним, такие технологии не нужны, я понял... У вас наверное в компе до сих пор HDD стоит, т.к у SSD много проблем.
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

144. "Выпуск языка программирования Rust 1.47"  +1 +/
Сообщение от Совершенно другой аноним (?), 09-Окт-20, 15:38 
Чтобы быстро сделать http-сервер, можно взять библиотеку libevent - там он есть встроенный - как я понял Вы намекаете, что в Rust-е он есть, а в C - нет?
Ответить | Правка | Наверх | Cообщить модератору

226. "Выпуск языка программирования Rust 1.47"  +1 +/
Сообщение от Ivan_83 (ok), 10-Окт-20, 00:48 
Чтобы на си запустить http сервер - я просто соберу nginx, lighttpd, apache, ngunit... да их сотни.
У меня и собственный код есть для этого.

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

Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

102. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (51), 09-Окт-20, 12:33 
1. https://rustup.rs/
2. https://doc.rust-lang.org/rustc/platform-support.html
3.
> Не знаю что такое крейт

Как можно спорить о Расте и не знать, что такое крейт? "Крейт - это двоичный файл или библиотека" https://doc.rust-lang.ru/book/ch07-01-packages-and-crates.html

> на расте уже есть

Я надеюсь, что речь не о глупом переписывании известных проектов ради переписывания, а о биндингах?

> ffmpeg

https://crates.io/search?q=ffmpeg

> OpenCV

https://crates.io/crates/opencv

> банальной замены OpenSSL

т.е. речь всё же была о ЗАМЕНЕ НА РАСТЕ? Ох. Переписывания ради переписывания - глупейшая вещь на свете, если это не сделано для обучения, for fun или приносит _ощутимою_ пользу. Впрочем, есть криптолибы на чистом Расте, например: https://crates.io/search?q=dalek
+ https://crates.io/crates/openssl

4.
> один компелятор

*компИлятор
В контексте звучит так, будто это плохо. Один официальный компилятор от создателей языка - это огромнейший плюс. К примеру, сейчас с C++20 творится полнейшая жесть, к концу 2020 не все компиляторы еще реализовали главные фичи, т.е. использовать их можно только в узкой среде (https://en.cppreference.com/w/cpp/compiler_support).
В Расте же как добавили async/await, так все и перешли :)
После боли с C++, возможность использовать новые фичи по мере выхода их в стейбле (а при желании и раньше) только радует

> одна IDE

Сейчас концепция языковых серверов предполагает, что специализированные IDE не нужны, и в большинстве случаев анализаторов более чем хватает. Хотя создатели IntelliJ Rust пошли своим путем самурая и анализируют своими силами.

> анализатор и форматер - то что досталось на халяву от llvm

Наркоман что ли?) При чем тут llvm?
https://github.com/rust-lang/rustfmt
https://github.com/rust-analyzer/rust-analyzer
https://github.com/rust-lang/rls

> И я поверю на слово что это есть хотя бы в единичных работающих экземплярах

Что есть?

> так и не услышал причин переходить на раст

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

> довольно простым и доступным

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

> Безопасность, безопасность, безопасность - у тебя фобии?

Я вроде как раз говорил, что безопасность - максимум бонус к остальным плюсам языкам :)

> Отладчиком чтоли пользоватся не умеешь и корки разгребать?

Ага, OpenSSL это сильно помогло https://ru.wikipedia.org/wiki/Heartbleed
А ведь таких ошибок большинство https://www.zdnet.com/article/microsoft-70-percent-of-all-se.../
https://habr.com/ru/post/506598/

> и поскольку ржавчина туда не может

Эм, почему?

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

169. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (161), 09-Окт-20, 18:07 
> Я надеюсь, что речь не о глупом переписывании известных проектов ради переписывания, а о биндингах?

Ну вот опять, вы вообще ничего не понимаете? Вы сами пишете про безопасность rust и сами же используете C библиотеки с usafe. О какой безопасности вообще может идти речь пока все C библиотеки не переписаны на rust?

Ответить | Правка | Наверх | Cообщить модератору

187. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (187), 09-Окт-20, 19:00 
Всё-таки это крупные библиотеки мирового уровня и переписывать их, скажем так, не очень целесообразно. И биндятся они ко многим языкам, чем раст-то хуже?
Но всё делается, вон в соседних ответах ринг и далека упоминали для крипты
Ответить | Правка | Наверх | Cообщить модератору

171. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ordu (ok), 09-Окт-20, 18:12 
>> банальной замены OpenSSL
> т.е. речь всё же была о ЗАМЕНЕ НА РАСТЕ? Ох.

https://github.com/briansmith/ring

У него проблемы с переносимостью -- не знаю как сейчас, но полгода тому назад мне не удалось скомпилять для mips'а, работы по написанию кроссплатформенных реализаций алгоритмов чисто на rust'е (без асма и C) велись, но не знаю чем кончилось, не следил.

openssl использовать из rust'а можно разве что совсем уж от безысходности.


Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

225. "Выпуск языка программирования Rust 1.47"  +1 +/
Сообщение от Ivan_83 (ok), 10-Окт-20, 00:43 
1. 2. С таким же успехом можно на гугл было послать.

3. Не знаю что такое крейт и знать не хочу, бесполезное знание :)
В том то и смысл: раз вы не переписываете на расте - значит у вас 99,99% исполняемого кода выходит unsafe - о чём после этого с вами говорить? Зачем вообще этот 0,001 нужен?

4. А вот у языка си никаких проблем с компиляторами нет, хотя их сильно больше трёх.
И можно даже самому свой написать, что часто и происходит, особенно при заходе на новую архитектуру.
Как вы со своим растом собираетесь на новую архитектуру заходить?
Опять за вас сишечка всё бутстрапить будет?)

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

Так у меня есть комфортный мир сишечки, в которой я бог.
Я могу херачить в ядро операционки, я могу править кучи библиотек, практически вся мировая инфраструктура держится на си коде как на фундаменте.
У меня собирается код написанный за последние лет 40 без особых проблем, и ещё лет через 50 ничего не изменится.
Зачем мне ваш раст?
Не, я понимаю плюсовиков им тролить ещё как то с трудом можно, но до сишечки вы и близко не дорасли со своими проблемами.

Я вам уже писал, что до 2010 года о безопасности вообще никто не думал, цель была в фичах и производительности.
Упомянутая вами венда тянет свою историю с 80 годов, к моменту появления раста у них там написаны терабайты кода где этой безопасностью никто не интересовался.
Зачем вы занимаетесь этим манипулированием?

Ошибки случаются, и раст не гарантирует их отсутствие.

Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

241. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (51), 10-Окт-20, 05:56 
1, 2. А что, я должен перепечатывать всю инфу ради тебя?) Просто кидаю ссылки, где можно ознакомиться с вопросами и это сделано лучше, чем я мог бы вкратце написать.

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

> раз вы не переписываете на раст

Много чего переписывается. Ты сайт крейтов смотрел? Посмотри, поанализируй.
Один Actix Web чего стоит, один из быстрейших веб-серверов вообще.
Но ты спрашивал о конкретных либах, я ответил по конкретным либам.
Либы уровня ffmpeg, качественные и хорошие, нет смысла переписывать, логично же.
К тому же, ты эти либы и так ежедневно используешь и одна 100% сейф-реализация погоды в одной программе не сделает.
Суть как раз в том, что сейф-код пишет прикладной программист, использующий эти либы.

> А вот у языка си никаких проблем с компиляторами нет, хотя их сильно больше трёх

Извиняюсь, но Си после Плюсов и Раста - это неудобная примитивная штука. Когда приходится работать с кусками кода на Си, это всегда не сильно радует.
Если не хочется разочароваться в Си, то лучше не пробуй Раст. В нем и структуры можно сериализовать одной строкой (https://serde.rs/), и к любой структуре, включая примитивные типы, добавлять свои функции (let i = 5; i.pow(3); i.opennet();, накидал простенький пример: https://cutt.ly/lguO4qm). Это из того, что произвело вау-эффект после плюсов в свое время. В общем, не надо, не советую пробовать Раст, серьезно.

> Не знаю что для вас IDE, ... а для меня...

Странно было бы думать, что этого нет.

> Так у меня есть комфортный мир сишечки, в которой я бог

А потом окажется, что там куча UB и уязвимостей :)
Если серьезно, никто не приуменьшает достоинства C, пускай даже это от отсутствия альтернативы в свое время. Но C и C++ - великолепные языки, которые построили мир.
Но в почти 2021 хочется постепенно переходить на что-то более удобное, при этом не скатываясь в какой-нибудь питон

> Зачем мне ваш раст?

А зачем флудить в теме о Расте?)

> Зачем вы занимаетесь этим манипулированием?

т.е. то, что безопасностью никто не интересовался - повод сейчас забивать на безопасность?

> Ошибки случаются, и раст не гарантирует их отсутствие

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

Ответить | Правка | Наверх | Cообщить модератору

247. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ivan_83 (ok), 10-Окт-20, 08:48 
> и к любой структуре, включая примитивные типы, добавлять свои функции (let i = 5; i.pow(3); i.opennet();,

А зачем это в реальном мире?
Всмысле вот где это в FreeBSD/Linux/xfce4 может быть нужно и для чего?
Обычный синтаксический сахар, которым обмазывают маструбирующие, которые не хотят решать проблемы реального мира.

Ответить | Правка | Наверх | Cообщить модератору

279. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (279), 11-Окт-20, 10:56 
Аргумент уровня "когда больше нечего сказать" :)
Ну да, зачем машины на наших дорогах, когда есть лошади. Я и так могу ездить. Машины не решают проблемы реального мира!
Сахар с zero cost abstraction - это хорошо. Это нужно, поскольку уже есть. И это удобнее на практике, чем сплошная процедурка в C и его наследство в C++.

> FreeBSD/Linux/xfce4

Странная выборка. Чисто ради интереса, почему именно эти проекты?

Ответить | Правка | Наверх | Cообщить модератору

284. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ivan_83 (ok), 11-Окт-20, 12:55 
Выборка - то что у меня на десктопе (кроме линуха) и куда я лазаю и что то исправляю :)

Изначально там был большой пост-ответ, но по неаккуратности он был заменён вот тем коротким ответом.

В этом длинном посте я подробно разбирал что одна из основных фишек си это его примитивизм. Те там минимум родных ключевых слов.
Следствия:
- легко изучать: 10 страниц чтения и ты всё знаешь
- практически не образуются диалекты.
Вот именно диалекты являются следствием того что каждый тянет в стандарт свякую сахарную красоту, не важно зерокост там или нет.
Диалекты плохи тем, что вот вроде бы все люди пишут на с++, но одни и теже мысли у них выражаются сильно по разному: кто то пишет в си стиле, кто то на шаблонах, кто то ещё на чём то.
В итоге чтобы понять проект требуется понять автора и знать стандарт на 800+ страниц целиком.
В мире си диалектов почти нет, в том плане всегда всё сводится к одному и тому же базовому набору си. Есть конечно же глиб, нгинх да и любая библиотека так или иначе это небольшой диалект и расширение грамматики, но там всегда можно заглянуть под капот и понять что это значит. Кроме того обычно это не распространяется далеко за пределы, такми образом разбиратся приходится только когда это нужно в явном виде. В случае же с++ можно открыть 10 рандомных проектов и половину не понять.
Из этого вытекает высокий порог вхождения в языки с богатой грамматикой.
Второым следствием является что Issues больше чем MR у таких проектов :)

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

И особенный ад получается когда растоманы тащаят свои поделия в сишные проекты, типа ядра линуха или месы или ещё какие то системо образующие библиотеки.
Поймите, вы втащите туда свой раст и будете ходить довольные, а куча народу мало того что будет матерится при сборке, так ещё и самостоятельно исправить/добавить что то не сможет из за этого.
Кто будет дальше развивать проект? Растоманы? - чёто я сомневаюсь.
Притом ещё раз, си просто примитивный, обычно можно легко прочитать и понять что там написано, это означает больше воозможность получить не issue а сразу MR с патчем.

Ответить | Правка | Наверх | Cообщить модератору

309. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (279), 12-Окт-20, 10:32 
Эти проекты изначально на другом языке. Раст уместен, но только для новых модулей

> фишек си это его примитивизм

Он примитивный, простой, но сложный в обращении.

> легко изучать: 10 страниц чтения и ты всё знаешь

А потом еще N лет, чтоб писать более-менее без UB :)
В процессе возьмешь несколько крупных либ и вся разница нивелируется, поскольку у них куча велосипедов из-за того, что в языке этого нет (начиная от GString). Или будешь писать свои велосипеды, от чего другим людям не станет легче в процессе разбора кода. И тебе тоже, если нужно вносить правки в существующие проекты, где уже есть другие велосипеды, и в свою очередь изучать их.
Впрочем, это касается программирования в целом, но и C этого не лишен.

> знать стандарт на 800+ страниц целиком

Это где такое нужно?

> там всегда можно заглянуть под капот

В C++/Rust тоже можно, проблемы? В любом случае, это всё тоже кривая обучения, которую нельзя исключать.

> В случае же с++ можно открыть 10 рандомных проектов и половину не понять

Ну если совсем не следить за новинками (= не развиваться), то в принципе да

> Но когда каждый всё это тащит в стандарт - получается ад

В идеале - должно получаться лучшее решение. Это как с std::string, который до C++11 многие компании велосипедили у себя, а после - ситуация изменилась и особого смысла больше не несет.

> Кто будет дальше развивать проект?

В Линуксе у каждого модуля есть своей мейнтейнер. Нет мейнтейнера = модуль на ветер. И это не зависит от языка, куча новостей было об этом задолго мыслей о расте.

> мало того что будет матерится при сборке

При грамотной изначальной интеграции проблем не будет.

> Растоманы? - чёто я сомневаюсь.

А в чем проблема? Растоманы модуль и написали изначально

> так ещё и самостоятельно исправить/добавить что то не сможет из за этого

Или из-за того, что не захотят развиваться?)

Ответить | Правка | Наверх | Cообщить модератору

233. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ivan_83 (ok), 10-Окт-20, 01:48 
Я тут из интереса посмотрел...

1. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
офигеть рекомендация!!!!!!
запустить неведомо какой шел скрипт из инета у себя.

2. Хороший список, только там везде или * или ?
Но можешь попробовать найти хоть что то где сишечка не работает :)

Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

242. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (51), 10-Окт-20, 06:10 
1. Это официальный способ установки, проблемы? https://www.rust-lang.org/ru/learn/get-started
С таким подходом, и правда лучше не продолжай смотреть Раст. А то еще узнаешь, что все-все либы автоматически качаются с https://crates.io/ вместе со всеми зависимостями и инфаркт схватит :)

2. Ну лично мне хватает линукса/винды/андроида/мака/аойси. Вообще, https://www.rust-lang.org/ru/what/embedded

Ответить | Правка | Наверх | Cообщить модератору

245. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ivan_83 (ok), 10-Окт-20, 08:08 
А потом у вас будет как с NPM, где каждый васян накидал бэкдоров.
Ответить | Правка | Наверх | Cообщить модератору

280. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (279), 11-Окт-20, 11:10 
Либы C тоже мейнтейнят васяны из дистрибутивов. При этом совершенно необязательно программисты и совершенно необязательно смотрят код лично.
Либы C тоже качаются с гитхаба / из интернета.
Шанс бэкдора в любой либе C/C++ не меньше.

Разница лишь в автоматизации процесса от создателей языка и в отсутствии C/C++ единого пакетного менеджера. Собственно, плюсом Раста вижу наличие конкретных создателей со всеми вытекающими, а не разрозненное нечто + действительно хорошая документация (rust book).

+ Например, можно иметь в проекте либу A с зависимостями B 1.0 и G 2.3 и либу Q с зависимостями B 2.0 и G 3.4. В мажорных версиях будет изменение API и либа A просто не соберется с новыми B и G.
В Расте же собирается и работает. И всё в одном проекте. Гибкость, которой не хватает основным пакетным менеджерам Линукса.

Ответить | Правка | Наверх | Cообщить модератору

286. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ivan_83 (ok), 11-Окт-20, 13:09 
Поздравляю, вы выкопали себе могилу :)

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

2. У нас, как правило, десятки либ/имплементаций для одного и того же. По крайней мере для чего то простого типа веб сервера или парсера json.
Даже если оно как то минует п1, то вероятность выбора такой либы из десятка - низка, по сравнению с безальтернативными вариантами которые у вас.

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

Ответить | Правка | Наверх | Cообщить модератору

308. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Аноним (279), 12-Окт-20, 10:09 
1.
> При этом поскольку процесс ручной

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

> приходится убеждатся что либа адекватная прежде чем она качается/клонируется и интегрируется в проект

Можно банально зайти на сайт крейтов и отследить все зависимости. Или посмотреть в cargo tree.
При этом ничего не мешает всё так же зафризить проверенную версию и контролировать лично, тогда как в дистрах, даже LTS, либы время от времени обновляются.

> это пререкладывается на маинтернеров

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

2.
> чего то простого типа веб сервера или парсера json

Да дoxpeна всего.
https://crates.io/search?q=web%20server
https://crates.io/search?q=json

> безальтернативными вариантами

Очень безальтернативно. Ты хоть как-то проверяй факты перед их озвучкой. А то так и другой информации, выдаваемой за факты, веры не будет.

Просто есть стандарты де-факто, которые делают что-то лучше других. В C и других языках ситуация аналогична.
Serde.rs - одна из таких либ, пускай и не всё так однозначно https://github.com/serde-rs/json-benchmark
Ну и многие используют Actix, поскольку он в топах https://www.techempower.com/benchmarks/

3. Ну такое. Порядок зависит от разработчика, а не каких-то там стимуляций.
Я понимаю плюсы и минусы разных подходов. Сам на конкретно C чего-то колоссального не делал, но C++ использую регулярно. И Карго - как раз то, чего не хватает в C++. Модули уже завезли в C++20 (почти, еще не во всех компиляторах и никто не использует - еще одна проблема C++), возможно, когда-нибудь и пакетные менеджеры станут стандартом хотя бы де-факто

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру