The OpenNET Project / Index page

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



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

"Релиз языка программирования Rust 2024 (1.85) "  +/
Сообщение от opennews (??), 21-Фев-25, 16:56 
Опубликован релиз  языка программирования общего назначения Rust 1.85, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Кроме штатного номера версии 1.85 выпуск обозначен как Rust 2024, что знаменует стабилизацию изменений, предложенных за последние три года. Редакция языка "Rust 2024" станет основой для наращивания функциональности в последующие три года, по аналогии с тем, как выпуск Rust 2021 стал базисом для развития языка в прошедшие три года...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62769

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

Оглавление

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

2. Сообщение от Аноним (2), 21-Фев-25, 16:56   –9 +/
К сожалению, try блоки так и не добавили. Сколько лет уже с такой мелочью тянут.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #12, #22, #69, #70, #84, #109, #137, #228, #234

5. Сообщение от Bottle (?), 21-Фев-25, 16:59   –3 +/
Спецификации как не было, так и нет до сих пор, вместо этого "ну типа, держитесь на старой версии, что баг, что нет - неважно, мы/они не определились".
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #18, #64, #74, #76, #143

6. Сообщение от Аноним (60), 21-Фев-25, 16:59   +1 +/
> Реализован второй уровень поддержки платформы powerpc64le-unknown-linux-musl. Второй уровень поддержки подразумевает гарантию сборки.

А причем тут раст, если это делается исключительно средствами LLVM?

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

7. Сообщение от Аноним (7), 21-Фев-25, 17:00   +/
Чем отличается от c++ с трёх летним циклом стандартов?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19

9. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 17:01   +6 +/
Сможешь описать, кратко, какая функциональность будет привнесена try блоками?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #11, #14

11. Сообщение от Жироватт (ok), 21-Фев-25, 17:04   +/
Чтобы если у падает растовый код, то падал осмысленно, а не в панике.
Хотя...
Может боятся, что будет try{ unsafe{ try{ ... } } } ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #23, #30

12. Сообщение от Жироватт (ok), 21-Фев-25, 17:06   +/
По хорошему, надо бы еще в хруст добавить монады.
Язык без монад - слишком примитивный и непригодный для использования язык.
Только монады спасут вашу память от проверяльщика боровов, который спасает её от указателей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #24, #27, #130, #136, #167

13. Сообщение от Аноним (13), 21-Фев-25, 17:06   –5 +/
Почему на российском рынке больше востребован Го чем Раст?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28, #66, #68, #138

14. Сообщение от Аноним (2), 21-Фев-25, 17:09   –2 +/
Смешивание в одной функции работу с разными библиотеками, возвращающими разные ошибки.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #46, #135

17. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 17:13   +4 +/
О! Раст-бинго работает!
Как раз в этом тренде перечислял список гениальных вопросов по новой версии: https://www.opennet.dev/openforum/vsluhforumID3/136086.html#161

Но нам, конечно очень интересно, в очередной раз, послушать про стандарты С и С++, с извечной оговоркой: "ну да, их никто полностью не поддерживает, но зато есть бумага!"

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #55, #203

18. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 17:13   –1 +/
Кстати, а как ты умудрился написать комментарий на этом сайте? Ведь нет же стандарта на интернет! Он как-то работает, а стандартов - нетути. Загадка!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #36, #58, #114

19. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 17:14   +2 +/
Как собрать приложение на C++ из исходников, если приложение состоит из компонентов, которые поддерживают разные версии стандарта?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #35, #61

21. Сообщение от Уууууъъъ (?), 21-Фев-25, 17:16   –5 +/
Мне не нравится, что релизы Rust выходят так часто. C C++ все ясно — он обновляется раз в несколько лет.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #25, #29, #119

22. Сообщение от Аноним (22), 21-Фев-25, 17:17   +/
Много чести. Проще игнорировать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

23. Сообщение от Соль земли (?), 21-Фев-25, 17:23   +9 +/
Rust итак обязывает обрабатывать все возможные ситуации поведения кода. Добавить смысла можно через match возможных значений.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #92

24. Сообщение от Аноним (24), 21-Фев-25, 17:23   +8 +/
Хорошая идея. Завалить раст мусором фич!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

25. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 17:25   +11 +/
Релизы раста: выходят раз в несколько лет
Релизы C++: выходят раз в несколько лет

Аноним с опенета: релизы раста выходят слишком часто, то ли дело С++!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #40

26. Сообщение от Соль земли (?), 21-Фев-25, 17:28   +4 +/
Теперь можно писать

[package]
edition = '2024'

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

27. Сообщение от Аноним (-), 21-Фев-25, 17:30    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

28. Сообщение от r2d0email (?), 21-Фев-25, 17:30   +20 +/
Действительно, ведь го должен быть востребованнее больше всего в Голланди, а rust в Russia.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #53, #117

29. Сообщение от Аноним (-), 21-Фев-25, 17:32   +/
Ой, знал бы ты как часто веб-технологии часто обновляются. Их хоть каждый день можно учить и всё-равно знания будут устаревшими.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

30. Сообщение от Аноним (-), 21-Фев-25, 17:35   +4 +/
> Чтобы если у падает растовый код, то падал осмысленно, а не в панике.

Так он осмысленно падает. Даже в лог может записать где и что.
А вот продолжать выполнение программы после паники нельзя - никто не знает что произошло, где память в ансейфе попортили, т.е. в общем стейт неконсистентный.

А если стейт все еще консистентный, то это не паника и вы что-то не так сделали в обработке ошибки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #60, #104

31. Сообщение от Уууууъъъ (?), 21-Фев-25, 17:38   +2 +/
Мне не нравится, что надо его ставить через rustup, с Golang всё проще!

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz

export PATH=$PATH:/usr/local/go/bin

Мне не нравится, что Rust и его экосистема на моём лэптопе занимает большое пространство, Golang меньше и шустрее!

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33, #37, #121

32. Сообщение от Аноним (-), 21-Фев-25, 17:38   +2 +/
При чем тут llvm, если llvm только перегоняет llvm-ir в машинные коды?
А сам llvm-ir генерирует rustc через цепочку преобразований.

Ну и уровень поддержки - это в первую очередь тестирование.
А оно делается на стороне раста, а не llvm.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #110

33. Сообщение от Аноним (-), 21-Фев-25, 17:41   +/
> с Golang всё проще!

А как в Golang решается вопрос с несколькими разными версиями го?
Напр. тебе нужен go 1.24 для текущего проекта, но еще нужен go 1.15 для старого.
Есть утилита для выбора и удобного переключения?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #161, #230

35. Сообщение от Аноним (35), 21-Фев-25, 17:43   +/
В большинстве случаев - просто собрать эти компоненты в своей версии стандарта. Как вариант - можно собрать в последней версии. Изменения C++, ломающие обратную совместимость, довольно редки, и на практике пости не роляют.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #38

36. Сообщение от Аноним (36), 21-Фев-25, 17:44   –1 +/
Ну так тут одна версия сайта. А раст это микс.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #87, #100

37. Сообщение от Уууууъъъ (?), 21-Фев-25, 17:44   +/
Для того, чтоб управлять несколькими версиями Go есть https://asdf-vm.com/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

38. Сообщение от MT (ok), 21-Фев-25, 17:46   +/
> пости не роляют

?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #42

39. Сообщение от Аноним (39), 21-Фев-25, 17:47    Скрыто ботом-модератором+3 +/
Ответить | Правка | Наверх | Cообщить модератору

40. Сообщение от Аноним (-), 21-Фев-25, 17:48   +3 +/
> Релизы C++: выходят раз в несколько лет

Ну так это сейчас. А аноним возможно знает только про переход с C++03 на C++11.
Пссс... там еще есть 14, 17, 20, 23 и будущий 26. И не сложно заметить некую закономерность в этих числах - новый стандарт каждые 3 года.

А теперь попробуй посмотреть на rust editions - 2015, 2018, 2021, 2024.
Что мы тут видим? Ну, постарайся подумать!

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

42. Сообщение от Аноним (42), 21-Фев-25, 17:52   +/
у человека фаерфокс, а там код на расте так вмешивается в свою критику
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

43. Сообщение от Аноним (43), 21-Фев-25, 17:58   +/
Не надо нам эти ваши ни Rust 1.85, ни Rust 2024.
Rust 2502 - чётко и понятно.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #52

46. Сообщение от pashev.ru (?), 21-Фев-25, 18:00   +/
cargo add thiserror
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #78

49. Сообщение от Аноним (49), 21-Фев-25, 18:13   +1 +/
Дабы тема не разросталась как предыдущая (не ну реально! я уже устал ржать с убогих)
я перечислю все недостатки RUSTа и претензии к нему сразу:

* ужасный синтаксис
* каждая версия компилятора несовместима с предыдущей
* есть unsafe, значит не безопастный
* ничего хорошего на нём не пишут
* писать на нём в 1000 раз медленнее чем на [вставить язык]
* вот когда [что угодно] напишут, тогда и поговорим
* вместо того чтобы писать новое, только переписывают
* вместо того чтобы переписывать, лучше бы что-то новое написали
* программы на расте компилируются часами! для него нужен суперкомпьютер
* вы портите растом наши прекрасные сишные проекты (и мы теперь не можем в них разобраться, плак-плак)
* а вы видели какой CoC у раста?!
* это все заговор NSA для внедрения закладок!!11
* если софт станет надежным - мы попадем в рабство, тк не сможем ломать свои телефоны и boot
* раст привязан к централизованному карго и от него невозможно отвязаться!!11 а потом они еще и двухфакторку!
* я непонимать раст, поэтому уверен, что там закладки, верните понятную дыряшку!

За подборку передавайте свои плюсики Карлос Сношайтилис [1] и участнику пожелавшему остаться неизвестным [2]
[1] opennet.ru/openforum/vsluhforumID3/132732.html#5
[2] opennet.ru/openforum/vsluhforumID3/132732.html#83

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #57, #72, #90

52. Сообщение от Аноним (52), 21-Фев-25, 18:44   +/
В 2502 всё ещё помнят про Rust?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #107, #185

53. Сообщение от Аноним (13), 21-Фев-25, 18:54   +/
Возможно Голандию и назвали в честь Го, кто знает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

55. Сообщение от Маняним (?), 21-Фев-25, 18:56   –2 +/
>"ну да, их никто полностью не поддерживает,

gcc/clang, неа? Они ещё поддерживают переключение между стандартами. А также компиляторы имеют вменямые мейджер версии, которые можно свободно включать в реквайерментс, как и версию стандарта.
> но зато есть бумага!"

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #126

57. Сообщение от Аноним (57), 21-Фев-25, 18:57   –4 +/
Я так и не вкурил, как мне обработать массив, созданный в другом объекте. Бесконца морочиться со сменой владения? Но тогда производительность будет ниже плинтуса.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #59, #77, #91, #122, #158, #162

58. Сообщение от Аноним (58), 21-Фев-25, 19:00   +4 +/
Как это нет стандарта на интернет? Больше тысячи рфсишек, иетф тот-же.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #75

59. Сообщение от Ан Оним (?), 21-Фев-25, 19:06   +/
Безопасность... безопасность ...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

60. Сообщение от Аноним (60), 21-Фев-25, 19:11   +1 +/
> Даже в лог может записать где и что.

Это прям в ядре самого языка такое? А если у меня нет открытого TTY?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #63

61. Сообщение от Александр (??), 21-Фев-25, 19:13   –2 +/
Легко. Собираешь а разные библиотеки, потом линкуешь вместе
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #89

63. Сообщение от Аноним (63), 21-Фев-25, 19:18   +12 +/
Пиши в файл, раз tty нет. Что, и файлов нет? Тогда мигай диодом: три коротких, три длинных, и снова три коротких. И сопроводительной документации напиши, мол, когда так мигает — запомните что вы делали и звоните по номеру 1-800-VSYO-UPALO-MAMA-POMOGITE.

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

64. Сообщение от Аноним (63), 21-Фев-25, 19:21   +4 +/
Отсутствие спецификации как-то не помешало на сишке операционные системы писать в прод, параллельно с развитием этой самой сишки. Авось и Расту не помешает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #205

66. Сообщение от Аноним (66), 21-Фев-25, 19:30   +/
На го написано много проектов, а на расте ни одного большого проекта нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #118

68. Сообщение от Аноним (68), 21-Фев-25, 19:35   +1 +/
Потому что большая часть разработки это плюс-минус перекладывание JSON по HTTP для чего Golang идеальный инструмент
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #188

69. Сообщение от Аноним (69), 21-Фев-25, 19:37   –2 +/
1. unwrap() или expect("message") не обрабатывает ошибку и приводит к панике, если она возникает;
2. "?" бросает ошибку выше по стеку;
3. match my_result {...} позволяет её обработать прямо здесь.

try-catch - это другая модель обработки ошибок, её сделают в другом языке. В этом языке такая модель, которую я описал выше.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #99

70. Сообщение от Аноним (70), 21-Фев-25, 19:44   +/
а они там не нужны, вместо них Result, просто надо писать в несколько другом стиле, постоянно работая "цепочками" из map/and_then/... над Result-ами, а unwrap только в самом конце. Результат тот же (unwrap там, где нужен catch), даже гибче (обработка не ограничена путем по стеку, Result можно передать куда-то и там unwrap-нуть).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

71. Сообщение от pavel_simple. (?), 21-Фев-25, 19:45   +3 +/
> let &[ref x, mut y] = &[(), ()];

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #80, #95, #106, #112, #123, #139

72. Сообщение от Аноним (72), 21-Фев-25, 19:46   –1 +/
> каждая версия компилятора несовместима с предыдущей

Ну и зачем так делать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #93

74. Сообщение от Аноним (70), 21-Фев-25, 19:50   +4 +/
Пока компилятор только один, в спецификации нет никакого смысла.

Ну напишет кто-то спецификацию, которой единственный существующий компилятор в чем-то не соответствует. И что? Кому станет легче от того, что спецификация есть, и можно смело говорить, что это баг, а не фича? Код от этого компилироваться правильно начнет?

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

75. Сообщение от Аноним (70), 21-Фев-25, 19:51   +3 +/
Вот именно, больше тысячи. И ни одна не соблюдается на 100%.

Впрочем, у RFC статус рекомендаций

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #79

76. Сообщение от Аноним (-), 21-Фев-25, 19:57   +3 +/
> Спецификации как не было, так и нет до сих пор,

Хорошего кексперта издалека видно.

Спецификация есть в виде RFC.
Это распространенный метод, например куча интернет стандартив именно ста стандартизированы.

Стандарта ИСО (на который так фаломорфируют сишники) - нету.
Но он пока и не нужен.

Напомню что С появился в 78, а стандарт сделали в 89.
И спокойно переписали юникс без каких либо стандартов.

> вместо этого  "ну типа, держитесь на старой версии, что баг, что нет - неважно, мы/они не определились".

Хватит пороть чушь. Ты же только позоришься.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #101, #166

77. Сообщение от чатжпт (?), 21-Фев-25, 19:59   +2 +/
Производительность будет ниже при копировании данных, смена владения ничего не стоит
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #88

78. Сообщение от Аноним (2), 21-Фев-25, 20:02   –3 +/
Это тут причем? thiserror структурированные ошибки превращает в строковые, уничтожая возможность их последующего анализа. Весьма узкоспециализрованная штука.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #116, #146

79. Сообщение от Аноним (-), 21-Фев-25, 20:03   +1 +/
> Вот именно, больше тысячи. И ни одна не соблюдается на 100%.

Всю тысячу посчитал?

> Впрочем, у RFC статус рекомендаций

Прям так и написано? "Вот РФЦ раста, но можете их не выполнять" ?
Или ты просто сочиняешь сказки?

ps и не надо пугать RFC, я начитался всяких начиная от
rfc822 - который, кстати
STANDARD FOR THE FORMAT OF
ARPA INTERNET TEXT MESSAGES
[1]

до RFC 1122, который тоже Status: INTERNET STANDARD [2]

[1] datatracker.ietf.org/doc/html/rfc822
[2] rfc-editor.org/info/rfc1122

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #102

80. Сообщение от Аноним (60), 21-Фев-25, 20:14   +2 +/
согласен, но тут не хваает  апострофов
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71

82. Сообщение от Аноним (39), 21-Фев-25, 20:35   +/
При использовании Rust можно будет оставить в прошлом такие проблемы, как обращение к памяти после её освобождения, выход на границу буфера (частично), некорректное освобождение ресурсов при обработке ошибок и забытые проверки возвращаемых кодов ошибок, что позволит мэйнтейнерам сосредоточиться на реальных ошибках, таких как состояния гонки и проблемы с логикой, а не рассеивать при рецензировании внимание по мелочам.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #113

83. Сообщение от Нуину (?), 21-Фев-25, 20:40   +/
Опять до тучи изменений, притом даже в базовом синтаксисе. Зачем такой язык в ядре?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #85, #124, #155

84. Сообщение от Илья (??), 21-Фев-25, 20:41   +1 +/
> К сожалению, try блоки так и не добавили. Сколько лет уже с такой мелочью тянут.

А должны? Это же ООП в чистом виде, если ты их хочешь, тебе скорее в c# или kotin. На мой взгяд траями можно всю концепцию раста разломать

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #97, #153

85. Сообщение от Аноним (39), 21-Фев-25, 20:55   –1 +/
Крепись, ядро УЖЕ переписываются с небе9опасного С на безопасный раст.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #86, #148, #208

86. Сообщение от Нуину (?), 21-Фев-25, 20:59   +/
> Крепись, ядро УЖЕ переписываются с небе9опасного С на безопасный раст.

Точно безопасный? https://github.com/Speykious/cve-rs

Точно-точно? https://github.com/rust-lang/miri/?tab=readme-ov-file#bugs-f...

Ну не может такого быть же. Все говорят же безопасный, а тут такое https://github.com/rust-lang/rust/issues/25860

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #96, #98

87. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 21:00   +2 +/
Браузеров много, сайтов много, всё работает, стандартов нет. Как так?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #94

88. Сообщение от Аноним (57), 21-Фев-25, 21:01   –3 +/
Как так ничего? Инструкция есть, но тактов процессора не потребляет? Магия поди.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #111, #115

89. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 21:02   +1 +/
Тремя компиляторами? Легко?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #207, #235

90. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 21:04   +/
Спасибо! Совсем забыл про этот пост ))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

91. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 21:11   +2 +/
"владение" – это понятие уровня разбора AST, даёт возможность компилятору применить специфические оптимизации. В худшем случае код будет аналогичен коду на С, но если компилятор найдет определенные паттерны – схлопнет в более оптимальный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

92. Сообщение от Аноним (-), 21-Фев-25, 21:14   +4 +/
> Rust итак обязывает обрабатывать все возможные ситуации поведения кода.
> Добавить смысла можно через match возможных значений.

И как ты корректно panic() в хрусте обрабатывать собрался? В ядре по этому поводу некую хтонь try* сделали. Когда оно таки может быть - null - и надо - проверять. Чем это от сишки отличалось - я так и не понял, семантика та же самая, чуда не произошло.

А try видимо - чтобы попробовать вот что-то такое менее #$%нуто делать. Но читать дохлых страусов ДО того как кодить - видимо не модно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #217

93. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 21:16   +1 +/
> Ну и зачем так делать?

Вот именно: зачем так делать? Но в большинстве ЯП нельзя использовать в одной кодовой базе конструкции из разных редакций стандарта языка. Например, стало слово "await" ключевым – всё, весь код, где были переменные с этим именем, перестает компилироваться.

Хорошо что в расте не так.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72 Ответы: #226

94. Сообщение от Аноним (36), 21-Фев-25, 21:17   +4 +/
Как нет? HTML 5 как пример.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

95. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 21:17   +1 +/
Это ты ещё на С/С++ не писал, похоже...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #134, #164

96. Сообщение от Аноним (39), 21-Фев-25, 21:18    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

97. Сообщение от Аноним (-), 21-Фев-25, 21:19   –1 +/
> А должны? Это же ООП в чистом виде, если ты их хочешь,

Чего такого объектного в try/catch? Это просто попытка выполнить некий блок, с каким-то действом если "ну значит не прокатило". Само по себе это никак не обязано быть завязано на объекты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84 Ответы: #144

98. Сообщение от Карлос Сношайтилис (ok), 21-Фев-25, 21:20   –2 +/
> Точно безопасный?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86 Ответы: #120

99. Сообщение от Аноним (-), 21-Фев-25, 21:21   +/
> try-catch - это другая модель обработки ошибок, её сделают в другом языке.
> В этом языке такая модель, которую я описал выше.

А почему try в experimental фичах тогда УЖЕ висит? Не далее как вчера кто-то тут ссыль пульнул - и там разрисованы кейворды и проч были. И указание что - вот - try - experimental. Т.е. оно у них уже по идее есть?!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #147

100. Сообщение от Аноним (-), 21-Фев-25, 21:22   +/
> Ну так тут одна версия сайта. А раст это микс.

Не, это соль. Вон тут гражданин - с подходящим ником как раз.

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

101. Сообщение от Аноним (60), 21-Фев-25, 21:24   +/
> Напомню что С появился в 78, а стандарт сделали в 89.
> И спокойно переписали юникс без каких либо стандартов.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #131

102. Сообщение от Аноним (-), 21-Фев-25, 21:24   +/
> до RFC 1122, который тоже Status: INTERNET STANDARD [2]

Мне больше RFC 1149 нравится. Ну а что, стандарт интернета. Регламентирует IPoAC.

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

104. Сообщение от Аноним (104), 21-Фев-25, 21:33   –1 +/
> продолжать выполнение программы после паники нельзя

Почему нельзя ограничить панику только той частью кода, которая выполняет одну конкретную задачу? Прибили тред (или фибер, или что там у раста), выдали варнинг, почистили память, позакрывали или вернули в пул всё, что было открыто - а всё остальное продолжает работать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #132, #168

106. Сообщение от Аноним (106), 21-Фев-25, 21:47   +1 +/
Вы, видимо, перла никогда не видели, а ваш "опыт" базируется на том, что краем уха слышали об однострочниках и регулярках. Сам по себе перл имеет очень читабельный синтаксис.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #159

107. Сообщение от Аноним (43), 21-Фев-25, 21:55   +/
Это ещё ладно.
А вот если бы руст релизился каждый день, то был бы Rust 250220.
И главное сортировать нормально.
Не эти ваши:
Rust 1.1
Rust 1.10
Rust 1.11
Rust 1.2

А то бывает сложно математикам вкурить, что кернель 6.8 древнее, чем 6.12.

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

109. Сообщение от laindono (ok), 21-Фев-25, 22:09   +3 +/
Эти блоки не нужны. Паники не являются исключениями не смотря на сходство.

Если схожий механизм необходим, то есть https://doc.rust-lang.org/stable/std/panic/fn.catch_unwind.html Впрочем, очевидно, он работает только если паники реализованы с раскруткой стека. Если паника реализована через аварийное завершение программы, то её невозможно поймать. В этом и заключается разница между исключениями и паниками кстати.

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

110. Сообщение от Аноним (60), 21-Фев-25, 22:16   +4 +/
А вот прям в новости написано буквально следующее: "Второй уровень поддержки подразумевает гарантию сборки. ". А сборкой под целевую платформу в расте кто занимается? Бинго! Это C++ный LLVM.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

111. Сообщение от Аноним (111), 21-Фев-25, 22:18   +3 +/
Оно при компиляции проверяется.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88

112. Сообщение от Аноним (57), 21-Фев-25, 22:44   +2 +/
вот так нада писать:

return [[([...[new TextDecoder().decode(new Uint8Array(this.#data.match(/.{3}/g)))][0]].reverse().join(''))][0]][0];

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

113. Сообщение от Аноним (57), 21-Фев-25, 22:47   –1 +/
а на очередную закорючку раста внимание не рассеивается?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #178

114. Сообщение от Аноним Анонимович Анонимов (?), 21-Фев-25, 22:59   +/
> Ведь нет же стандарта на интернет!

IEEE, ICANN, IANA, IETF, w3…

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #204

115. Сообщение от Аноним (202), 21-Фев-25, 23:06   +1 +/
> Как так ничего? Инструкция есть, но тактов процессора не потребляет? Магия поди.
>> смена владения
> Инструкция есть, но тактов процессора

Местные Ж(опо)Скритошники совсем не палятся, млин.


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

116. Сообщение от freecoder (ok), 21-Фев-25, 23:32   +4 +/
Совершенно неверно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

117. Сообщение от freecoder (ok), 21-Фев-25, 23:36   +2 +/
Или в Сербии (rs)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #225

118. Сообщение от freecoder (ok), 21-Фев-25, 23:40   +2 +/
Потому что в Rust принято поощрять использование свободных библиотек (крейтов) в зависимостях. Поэтому существует очень много небольших крейтов, которые Cargo умеет автоматически подтягивать к проекту и разруливать версии. Целевой проект при этом также получается маленьким, потому что он большую часть функционала берёт из многочисленных библиотек.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #145

119. Сообщение от freecoder (ok), 21-Фев-25, 23:44   +6 +/
Редакции Rust выходят раз в три года. Если для вас это слишком часто, то возможно вы просто стареете. А вот минорные улучшения языка выходят стабильно раз в шесть недель. И это сделано специально так, по графику, который позволяет держать в тонусе аудиторию опеннета.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #125, #128

120. Сообщение от Нуину (?), 21-Фев-25, 23:45   +/
>> Точно безопасный?
> Точно.
> А ссылки твои даже здесь, на опенете, уже разобрали по полочкам и
> ответили почему, несмотря на их наличие, Раст всё ещё точно-точно безопасный.

На вере далеко не уедешь.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98 Ответы: #193

121. Сообщение от freecoder (ok), 21-Фев-25, 23:45   +/
Вы правы, приведённую вами курдыберду запомнить проще, чем rustup update.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #141

122. Сообщение от freecoder (ok), 21-Фев-25, 23:48   +2 +/
Передавайте массив по мутабельной ссылке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #127

123. Сообщение от freecoder (ok), 21-Фев-25, 23:51   +2 +/
Это искусственный пример для демонстрации новой фичи паттерн-матчинга. В реальности вы такой код не увидите (ссылка на массив, два элемента которого являются пустыми кортежами).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #140, #160

124. Сообщение от freecoder (ok), 21-Фев-25, 23:54   +2 +/
А какие изменения в базовом синтаксисе вы имеете ввиду? ref и mut в паттернах? Так они с самого начала там, просто раньше было больше исключений, теперь всё выглядит более консистентно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #133

125. Сообщение от Аноним (202), 22-Фев-25, 00:01   +1 +/
> по графику, который позволяет держать в тонусе аудиторию опеннета.

Не вводите людей в заблуждение - график проплачивается спонсорами (Gazprom, Gasunie, BASF) в рамках исследования новых технологий получения биогаза. Ничего личного, just business.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119 Ответы: #129

126. Сообщение от Карлос Сношайтилис (ok), 22-Фев-25, 00:23   +4 +/
> gcc/clang, неа?

Неа. Ни тот ни другой не поддерживает все стандарты полностью. То есть стандарты существуют только на бумаге.

> В промышленной разработке софта бумага важнее всех растоманов вместе взятых.

Согласен целиком и полностью: бумаги важны. Но какое отношение это имеет к стандартам С/++?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #152

127. Сообщение от Аноним (-), 22-Фев-25, 00:27   +2 +/
> Передавайте массив по мутабельной ссылке.

Так его же позволят передать только в одно место!
А хочется в него писать сразу из разных функций.
И желательно из разных потоков. Всегда в так делаю и компилятор не ругается!

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

128. Сообщение от Карлос Сношайтилис (ok), 22-Фев-25, 00:29   –2 +/
> выходят стабильно раз в шесть недель [что] позволяет держать в тонусе аудиторию опеннета.

Надо чаще – раз в неделю, по пятницам. Как на этой неделе. Было бы прекрасно!

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

129. Сообщение от Аноним (-), 22-Фев-25, 00:29   +1 +/
> Не вводите людей в заблуждение - график проплачивается спонсорами
> (Gazprom, Gasunie, BASF) в рамках исследования новых технологий
> получения биогаза. Ничего личного, just business.

Так вот кто виноват в глобальном потеплении!
Я так и знал!

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

130. Сообщение от warlock66613 (ok), 22-Фев-25, 00:39   +/
А с монадами язык получается очень сложный. Я люблю Haskell, но я не вижу большой потенциальной пользы от монад в Rust.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

131. Сообщение от warlock66613 (ok), 22-Фев-25, 00:48   +5 +/
> С тех пор стандарты для ЯП стали обыденностью

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101 Ответы: #194

132. Сообщение от Аноним (-), 22-Фев-25, 01:24   +4 +/
> Почему нельзя ограничить панику только той частью кода,
> которая выполняет одну конкретную задачу?

А вы умеете изолировать память одной конкретной задачи от всех остальных?
Как вы будете гарантировать что вы не испортили что-то еще?
Это как раз та самая Unrecoverable Errors.

doc.rust-lang.org/book/ch09-01-unrecoverable-errors-with-panic.html
doc.rust-lang.org/book/ch09-03-to-panic-or-not-to-panic.html

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

Ну и в теории вы можете переписать panic handler.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104 Ответы: #142

133. Сообщение от Нуину (?), 22-Фев-25, 01:43   –1 +/
> В выражениях "if let" изменена область видимости временных значений
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124 Ответы: #179

134. Сообщение от Нуину (?), 22-Фев-25, 01:44   +1 +/
> С/С++

Это что за язык такой?

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

135. Сообщение от Zeke Fast (?), 22-Фев-25, 03:05   +/
anyhow?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

136. Сообщение от Zeke Fast (?), 22-Фев-25, 03:08   +1 +/
GAT-ы вам в помощь! Когда с лайфтаймами монадить научитесь, может и типы вам дадут :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

137. Сообщение от Аноним (137), 22-Фев-25, 03:24   +/
Не очень понятно, что такое "try блоки". Панику ловить и так есть функция. Обычные же ошибки обрабатываются через Result<T,E>.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

138. Сообщение от Аноним (137), 22-Фев-25, 03:28   +4 +/
В раст выше порог вхождения, а программисты на Го - это те же самые программисты на Жабе, хоп хоп и в продакшен. При этом и Го и Жаба платят за это потерей эффективности по ресурсам, но это обычно мало кого заботит.

Блин, ты конечно задал вопрос. Вон, люди до сих пор на прости господи Питоне коммерческие сервисы делают. Уж казалось бы, самое дно. А делают же. Потому что пофиг, деньги на железо есть, пользователей не так много, и так сойдёт.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #184

139. Сообщение от Аноним (137), 22-Фев-25, 03:37   +2 +/
Ты написал какой-то бред, и усмехаешься на тем, что это - бред. Молодец, показал этим растоманам, знай наших!

На самом деле по-нормальному это выглядит так:

    let [a, b] = [1, 2];
    println!("{}, {}", a, b);

Выведет:

    1, 2

То есть это деконструкция массива. Тоже самое можно делать с туплами. Очень удобно.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #149

140. Сообщение от rrgbv (ok), 22-Фев-25, 04:05   –1 +/
Это всё равно не отменяет того, что код на Rust действительно тяжело воспринимать на глаз и читать, по крайней мере мне. По ощущениям, язык задействует каждую клавишу клавиатуры, а комбинации различных символов иногда вызывают желание закрыть и больше никогда в эту сторону не смотреть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123 Ответы: #150, #182

141. Сообщение от Уууууъъъ (?), 22-Фев-25, 04:43   –2 +/
Если с памятью все в порядке, то, конечно, проще.

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

142. Сообщение от YetAnotherOnanym (ok), 22-Фев-25, 05:31   –4 +/
> А вы умеете изолировать память одной конкретной задачи от всех остальных?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132 Ответы: #170

143. Сообщение от Аноним (143), 22-Фев-25, 06:18   –1 +/
Мне кажется их из Мазилы выгнали в том числе. что спецификации не могли сформулировать.
Так и остался "Кружок реализаций того, что знают и видят"  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

144. Сообщение от Аноним (144), 22-Фев-25, 07:01   +1 +/
В тот же Forth ещё в стандарт 95 года добавлено было, а он сроду не объектно-ориентированный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97

145. Сообщение от Cucumber (?), 22-Фев-25, 07:12   –1 +/
> Разруливать версии

Только если первая значащая цифра версии не 0. Из-за этой херни в одном проекте может быть десяток дублей таких жирнючих крейтов как rand, openssl, rusttls, libc.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118 Ответы: #181

146. Сообщение от morphe (?), 22-Фев-25, 07:39   +1 +/
Ты перепутал его с anyhow, thiserror лишь упрощает создание идиоматических ошибок
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

147. Сообщение от morphe (?), 22-Фев-25, 07:42   +3 +/
Там смысл другой
try не про ловлю паник (для ловли паник есть catch_unwind)

try про создание ограниченного скоупа в котором оператор ? работает.

let result = try {
  fallible_op()?;
};
result получит ошибку от fallible_op, в то время как без блока try её только из функции вернуть выйдет

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

148. Сообщение от Аноним (148), 22-Фев-25, 09:07   +/
Ну чтож, дополним лозунг "Stable API is nonsece!" лозунгом "Stable syntax is nonsence!"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

149. Сообщение от Cucumber (?), 22-Фев-25, 09:50   +1 +/
Автор не остроумный, автор просто привёл минимальный пример переусложненного паттернматчинга, который действительно не получается понять и который был запрещён в новой редакции языка. А следом уже вот этот аналог, который так же делает паттерн-матчинг этого &массива совмещённый оборачиванием в ссылки неизменяемую и изменяемую.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139

150. Сообщение от Аноним (150), 22-Фев-25, 10:02   +1 +/
Не сложнее чем плюсы читать, но оба сложнее читать чем какой-нибудь go. С python двояко, м одной стороны выглядит просто, но с другой может за простотой быть скрыта большая магия, в которой тяжело разобраться с разбега если что-то пошло не так.

А вы с каким языком сравниваете?

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

152. Сообщение от Аноним (152), 22-Фев-25, 10:27   +/
> И никакие мисры для него придумывать не пришлось.

держи пустомеля

https://www.sae.org/standards/content/ja1020/

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

153. Сообщение от Аноним (-), 22-Фев-25, 11:29   +/
> Это же ООП в чистом виде

Такие заявления, которые причисляют к ООП фишки, которые ни разу ни ООП, я подозреваю звучат от людей, кто слаще C++ никакого ООП не едал. Именно такие, почему-то склонны называть ООП фишками исключения, параметризованные типы, перегрузку функций, ... короче любое свойство C++, которого нету в C.

try-catch это размотка стека, в этом нет ни наследования, ни полиморфизма, ни инкапсуляции, то есть ни одного из "китов ООП". И, я отмечу, что в расте размотка стека есть. Есть panic, есть catch_unwind. Да, при этом обработчики в catch_unwind не выглядят как перегруженные функции, и рантайм не занимается выбором функции, которая сможет проглотить тип выкинутого значения. И да, это подходит только для работы с критическими ошибками, не выйдет творить вещи, типа огромных вычислений, полагающихся на то, что какие-то ошибки (допустим деление на ноль) сгенерят исключение, и поэтому не проверяющих каждую операцию (что замедляет код), а выполняющих их без проверок, с обработкой ошибок где-то за пределами цикла с перезапуском вычислений.

> На мой взгяд траями можно всю концепцию раста разломать

Если делать как в C++, то естественно. Но можно было бы сделать что-нибудь попроще. Что-нибудь, что, например, не требовало бы от рантайма сопоставления типов исключения и обработчика. С panic/catch_unwind есть проблема, что они не гарантируют, что RAII отработает как надо. Плюс я не представляю, насколько это быстро или медленно.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84 Ответы: #236

155. Сообщение от mos87 (ok), 22-Фев-25, 11:32   +/
Запомни %USERNAME%! Это - не рак, это развитие!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #191

158. Сообщение от Аноним (-), 22-Фев-25, 11:38   +1 +/
> как мне обработать массив, созданный в другом объекте
> Я так и не вкурил

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

> Бесконца морочиться со сменой владения?

Во-первых, не очень ясно, что есть "смена владения", во-вторых, овнершипы -- это понятия из компайл-тайма, на производительность они не влияют.

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

159. Сообщение от Аноним (-), 22-Фев-25, 11:55   +1 +/
Мой опыт включает ковыряния в скриптах на перле, и допиливание их под мои нужды. Я не видел ни одного, который был бы написан если не совсем вменяемо, то хотя бы были бы заметны попытки автора прикинуться вменяемым.

> краем уха слышали об однострочниках и регулярках. Сам по себе перл имеет очень читабельный синтаксис.

О, нет, я ещё слышал философию перла, с которой Ларри его выпиливал. Будучи филологом, он решил, что чем больше синтаксических примочек, тем ближе к естественному языку, тем выразительнее язык. "There are more than one ways to do it", aren't there? Сколько там операторов в перле? Сотня наберётся? Почти любая пара символов из цифрового ряда клавиатуры набранная с зажатым шифтом -- это какой-нибудь оператор перла. Я не удивлюсь, если !@#$ -- это какой-нибудь оператор там.

Но помимо этого, что меня больше всего бесит в нём, это использование $ для переменных. Какая-то парша допотопных языков. Я могу понять такое решение в sh и последователях, но потому, что в большинстве случаев использования sh переменные попадаются реже, чем непосредственные значения. Скрипты обрастают этими $, но это расплата за то, что используя непосредственные значения в командной строке не нужно каждое заключать в кавычки. Но perl и php, которые как интерпретаторы практически не используются, зачем-то требуют и $ перед именами переменных, и кавычки вокруг непосредственных значений, и вот этого я просто не понимаю. Хотя, в отношении перла, у меня есть гипотеза, что всё дело в том, что в перле несколько сотен ключевых слов, и придумывая имя переменной сложно избежать совпадения с именем кейворда, про который ты никогда не слышал.

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

160. Сообщение от Аноним (-), 22-Фев-25, 12:05   –2 +/
> кортежами

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

> Это искусственный пример для демонстрации новой фичи паттерн-матчинга.

Это в расте называется "паттерн-матчингом"? Это же банальная деструктуризация (или как там эти любители переводить термины на русский называют destructuring?), когда структура разбирается на отдельные значения, которые биндятся к переменным.

> В реальности вы такой код не увидите (ссылка на массив, два элемента которого являются пустыми кортежами).

Я не думаю, что претензии к двум tits в квадратном бюстгалтере из правой части. Я думаю, он про левую.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123 Ответы: #177

161. Сообщение от OpenEcho (?), 22-Фев-25, 12:29   +/
> Есть утилита для выбора и удобного переключения?

https://go.dev/doc/manage-install

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

162. Сообщение от Аноним (137), 22-Фев-25, 12:30   +/
Всё это объясняется во первых строках официальных (и неофициальных) учебниках по Расту. Плюс ровно этот вопрос ты можешь задать любому бесплатному ИИ, и он тебе прекрасно всё объяснит с ответами на вопросы и примерами. Но, давай я тебе новый учебник напишу прям тут в каментах.

Если у тебя массив принадлежит структуре ("созданный в другом объекте" видимо про это), то варианты такие:

    struct MyObject {
        inner_array: [String; 2],
    }

    let obj = MyObject { inner_array: [
        String::from("hello"),
        String::from("world")
    ]};

    for array_element in obj.inner_array {
        println!("- {}", array_element);
    }
    for array_element in obj.inner_array { // второй раз нельзя
        println!("- {}", array_element);
    }


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

    let borrowed_array = &obj.inner_array; // "&" - ключевое
    for array_element in borrowed_array {
        println!("- {}", array_element);
    }
    for array_element in borrowed_array { // второй раз уже можно
        println!("- {}", array_element);
    }

Если тебе надо этот массив поменять, но занимаешь его в изменяемом режиме:

    let mut obj = MyObject { inner_array: [ // добавили "mut" на переменную хранящую саму структуру
        String::from("hello"),
        String::from("world")
    ]};
    {
        let borrowed_array = &mut obj.inner_array; // заняли внутреннее поле структуры в изменяемом режиме через "&mut"
        borrowed_array[0] = String::from("goodbye");
        borrowed_array[1] = String::from("opennet");
    } // компилятор дропнул "borrowed_array" при завершении блока, теперь можно опять занимать это поле структуры на чтение
    println!("{:?}", &obj.inner_array);

Результат:

    ["goodbye", "opennet"]

То есть ты не можешь один и тот же ресурс одновременно занять на запись и на чтение. Ты, разумеется, можешь читать из переменной "&mut", но пока она жива, ты не можешь создать ещё одну переменную, которая читает из того же поля структуры. Либо чтение, либо запись. Поэтому в целях демонстрации показал как "borrowed_array" дропается, что бы занять поле ещё раз, уже только на чтение с выводом в консоль.

Самый хороший учебник не требующий особых начальных знаний в программировании - официальная дока (The Rust Book).

Самый хороший неофициальнй учебник для упоротых сишников, которые сразу хотят создавать свои коллекции и решать проблемы с указателями - "Learn Rust With Entirely Too Many Linked Lists".

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

164. Сообщение от Аноним (167), 22-Фев-25, 14:45   –1 +/
В C++, разве что, угловые скобочки могут кого-то, незнающего про шаблоны, смутить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #174

166. Сообщение от Аноним (167), 22-Фев-25, 14:51   +/
>Напомню что С появился в 78

Чаво, -ть?

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

167. Сообщение от Аноним (167), 22-Фев-25, 14:54   +1 +/
А давайте ещё и турку к нему прикрутим.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

168. Сообщение от Аноним (-), 22-Фев-25, 15:31   +1 +/
> Почему нельзя ограничить панику только той частью кода, которая выполняет одну конкретную задачу?

Почему нельзя? Есть catch_unwind. Со своими особенностями правда, он не гарантирует, что разматывая стек, он может снимать со стека не-растовые фреймы, и RAII он тоже не гарантирует. Я в детали не вдавался, мне как-то нужды нет, но всякие там рантаймы типа tokio вполне устойчивы к тому, что какой-нибудь гринтред паниканёт.

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

170. Сообщение от Аноним (170), 22-Фев-25, 17:31   +/
Если ты имеешь глобальную кучу и все задачи имеют к ней доступ, то любая из них может похерить кучу. Все эти теоретические изыски, когда сферические части программы выполняются в вакууме, сугубо теоретичны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142 Ответы: #173

173. Сообщение от Аноним (104), 22-Фев-25, 18:10   +/
> любая из них может похерить кучу

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170 Ответы: #202

174. Сообщение от Аноним (174), 22-Фев-25, 18:16   +2 +/
> В C++, разве что, угловые скобочки могут кого-то, незнающего про шаблоны, смутить.

https://blog.reverberate.org/2013/08/parsing-c-is-literally-...

Синтаксис шаблонов в C++ ущербен by design.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #164 Ответы: #176

175. Сообщение от Ан Оним (?), 22-Фев-25, 20:06   –3 +/
Rust - язык повышенной надёжности, в своей области он, может быть и хорош, но для задач обычной надёжности программировать на нём слишком накладно будет. И уж, конечно, в любительских проектах общественной разработки ему не место.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #180, #189

176. Сообщение от Нуину (?), 22-Фев-25, 22:31   +/
>> В C++, разве что, угловые скобочки могут кого-то, незнающего про шаблоны, смутить.
> https://blog.reverberate.org/2013/08/parsing-c-is-literally-...
> Синтаксис шаблонов в C++ ущербен by design.

В приведенной статье речь не про синтаксис, а про разбор. Как это в расте реализовано или зиге?

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

177. Сообщение от freecoder (ok), 22-Фев-25, 23:12   +3 +/
> Лол, таплы теперь кортежи?

Всегда ими и были ) А вы, похоже, не учили информатику в университете/институте, иначе бы вопросов таких не возникало.

> Это в расте называется "паттерн-матчингом"? Это же банальная деструктуризация (или как
> там эти любители переводить термины на русский называют destructuring?), когда структура
> разбирается на отдельные значения, которые биндятся к переменным.

Да, это сопоставление с образцом (паттерн-матчинг), а не как вы выразились "банальная деструктуризация". Представьте себе. После let идёт паттерн и синтаксис его такой же, как и в match (и как в if let, while let, for и прочих места, где используется сопоставление).

> Я не думаю, что претензии к двум tits в квадратном бюстгалтере из
> правой части. Я думаю, он про левую.

А что не так с левой? Она зеркально повторяет правую в части & и [].

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #212

178. Сообщение от freecoder (ok), 22-Фев-25, 23:14   +1 +/
> а на очередную закорючку раста внимание не рассеивается?

Нет. Рассеивается только у тех, кто не выучил Rust.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113 Ответы: #183

179. Сообщение от freecoder (ok), 22-Фев-25, 23:15   +1 +/
>> В выражениях "if let" изменена область видимости временных значений

Так это не синтаксическое изменение же.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #190, #201

180. Сообщение от freecoder (ok), 22-Фев-25, 23:17   +/
Если вы такое пишете, то возможно это именно вам не место в проектах общественной разработки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #175

181. Сообщение от freecoder (ok), 22-Фев-25, 23:20   +1 +/
Обычно если дубли и есть, то их 2-3 штуки. Ни разу не видел десяток. openssl и libc вряд ли вам позволит компилятор иметь несколько версий в рамках одного проекта, потому что они не нативно растовые, зависят от внешних Си-библиотек.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #145

182. Сообщение от freecoder (ok), 22-Фев-25, 23:25   +2 +/
Всё-таки вопрос: вы знаете Rust или нет? Просто язык-то на самом деле довольно простой и логичный. Если вы знаете синтаксис сопоставлений с образцом, то никаких затруднений подобный код вызывать не должен. А вот если не знаете - то действительно может быть сложно разглядеть систему. Я думаю ваше суждение - это суждение человека со стороны. Тогда как разработчики на Rust, знающие синтаксические правила этого языка и семантику, никаких затруднений не испытывают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #140

183. Сообщение от Аноним (137), 23-Фев-25, 03:59   +1 +/
Не совсем так.  Есть люди, которых напрягает количество разных символов.  Не смысл, который за ними, а просто количество символов.  Их например топорщит от угловых скобок, а от квадратных не топорщит.  Такая вот фигня в голове.  Я только пока ещё не понял - это по жизни так, или вопрос привычки.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #178 Ответы: #192

184. Сообщение от Анониматор (?), 23-Фев-25, 09:12   +1 +/
У гошки порог несравненно ниже, чем жабы. Это просто прокачанная сишка, его учить надо 2 дня всего. Но платят больше, потому что спрос выше предложения.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #138

185. Сообщение от Анониматор (?), 23-Фев-25, 09:17   +1 +/
в 2502 никаких языков уже не будет. ИИ будет писать в своих машинных кодах, а твои потомки будут работать батарейками. Я это в одном документальном кино видел
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

188. Сообщение от Прохожий (??), 23-Фев-25, 12:38   +/
Далеко не идеальный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

189. Сообщение от Прохожий (??), 23-Фев-25, 13:13   +2 +/
>программировать на нём слишком накладно будет

Библиотек уже много написали. Так что нет, слишком накладно не будет, хотя некоторые неудобства всё же могут быть с непривычки. Например, относительно высокий порог вхождения (но это одноразовые расходы), сложная семантика (по сравнению с Си, Голэнгом), длительная компиляция (с этим постоянно борются разработчики компилятора).
Зато в итоге получите качественный и быстрый в исполнении код.

>И уж, конечно, в любительских проектах общественной разработки ему не место.

Почему? Там много людей со слабыми когнитивными способностями? Или по какой ещё причине?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #175 Ответы: #195

190. Сообщение от Прохожий (??), 23-Фев-25, 13:15   +1 +/
Такое часто бывает среди здешних (и не только) "экспертов", увы, когда люди путают синтаксис с семантикой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #179

191. Сообщение от Прохожий (??), 23-Фев-25, 13:24   +/
Несмотря на то, что в вашем сообщении содержится неприкрытый сарказм, это действительно развитие. Просто идёт оно немного по-другому, не так, как многие диды привыкли. Есть и минусы, конечно. Но плюсов всё-таки больше. Почему так? Потому что современное ПО (ядро ОС) не упрощается, а усложняется. Уже 40 миллионов срок (да, с драйверами, я помню). И это ведь не предел. Си просто изначально не разрабатывался с учётом такой сложности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155 Ответы: #196

192. Сообщение от Прохожий (??), 23-Фев-25, 13:32   +2 +/
Думаю, это вопрос исключительно привычки. Просто в их практике квадратные скобки, скорее всего, встречаются намного чаще угловых. Новые символы - это дополнительная когнитивная нагрузка. Против дополнительной когнитивной нагрузки борется наша лимбическая система, потому что это большой расход энергии (в те времена, когда лимбическая система формировалась, еда была дефицитной). Но, как только мозгу примелькаются новые символы, он к ним привыкнет, создадутся новые связи, человек перестанет испытывать раздражение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #183

193. Сообщение от Прохожий (??), 23-Фев-25, 13:34   +/
Причём здесь вера? Вам же написали, что разобрали по полочкам.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120 Ответы: #206

194. Сообщение от Аноним (194), 23-Фев-25, 14:41   +/
> Ну вот можете считать

Стандартом языка надо считать базис, а все остальное - диалекты.

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

195. Сообщение от Аноним (196), 23-Фев-25, 15:22   +/
>Там много людей со слабыми когнитивными способностями?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #189 Ответы: #223

196. Сообщение от Аноним (196), 23-Фев-25, 15:32   +/
Тормозное развитие. Вирт ещё в 80-х годах придумал надёжные языки для системного программирования (Модула и Оберон) (и ещё Аду придумали), а фирмы только сейчас начали думать что надо бы использовать что-то понадёжнее С. Модула и Оберон - это, конечно, только концепции, но они указывали куда надо двигаться. Кое-как фирмы что-то слепили из Ады и Zonnon'а (то есть Rust). Позор фирмам!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #191

201. Сообщение от Нуину (?), 23-Фев-25, 20:54   +/
>>> В выражениях "if let" изменена область видимости временных значений
> Так это не синтаксическое изменение же.

Еще хуже. В "стабильном языке", который тащят в ядро в минорной версии меняют семантику if let? Молодцы. Видимо без изменений в псевдодеятельности скучно, а созанием продуктов всем лень заниматься.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #179 Ответы: #210, #211

202. Сообщение от Аноним (202), 23-Фев-25, 21:42   +/
> Почему-то у Армстронга и компании ещё в 80-е годы прошлого века получилось
> спроектировать архитектуру языка так, чтобы этого избежать.

Почему-то опеннетные эксперты скромно умалчивают, что этот язык выполняется в VM ...

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

203. Сообщение от Bottle (?), 23-Фев-25, 22:58   +/
> О! Раст-бинго работает!
> Как раз в этом тренде перечислял список гениальных вопросов по новой версии:
> https://www.opennet.dev/openforum/vsluhforumID3/136086.html#161
> Но нам, конечно очень интересно, в очередной раз, послушать про стандарты С
> и С++, с извечной оговоркой: "ну да, их никто полностью не
> поддерживает, но зато есть бумага!"

О да, Дегенератос Инцестис никогда ничему не учится, опыт Python 2 и Python 3 вместе с Перлом, Башем, Мейком и Паскалем ничему не научил.

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

204. Сообщение от Bottle (?), 23-Фев-25, 23:08   +/
ECMAScript, CSS, HTML, XML, SVG, JPEG...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114

205. Сообщение от Bottle (?), 23-Фев-25, 23:10   +/
Оно и не удивительно, почему Юникс сдох.
Потому что когда спецификация сочиняется на ходу, программы долго жить не будут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

206. Сообщение от Нуину (?), 23-Фев-25, 23:13   +/
> Причём здесь вера? Вам же написали, что разобрали по полочкам.

Каким полочкам? На мои ссылки никто не ответил. Баг про обман борова висит с 2015 года.

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

207. Сообщение от Bottle (?), 23-Фев-25, 23:14   +/
Для этого существует C ABI. Знаю, что для Дегенератос Инцестиса это сложно, но да,  такая штука существует.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #221

208. Сообщение от Bottle (?), 23-Фев-25, 23:24   +/
А когда небезопасный LLVM перепишут на безопасный Раст,который безопаснее Ады?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

210. Сообщение от freecoder (ok), 24-Фев-25, 08:39   –1 +/
Такое ощущение, что вы новость не читали. Речь о вышедшей новой редакции языка Rust.

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

211. Сообщение от BroneKot (?), 24-Фев-25, 09:05   –2 +/
Так это разрешительная семантика, а не запретительная. Какие в этом проблемы?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #201

212. Сообщение от Аноним (-), 24-Фев-25, 09:19   +/
> А вы, похоже, не учили информатику в университете/институте, иначе бы вопросов таких не возникало.

Да, специализировался в математике, а остальное добирал книгами. Нисколько не жалею, российская "информатика" сугубо провинциальна, ноль оригинальных работ, и "звёзды" типа Столярова, она не может дать ничего, чего нет в книгах. Если не считать, отмороженных переводов типа tuple -> кортеж, которые мне всё равно не нужны. Годяться только на то, чтобы поржать над ними.

> Да, это сопоставление с образцом (паттерн-матчинг), а не как вы выразились "банальная деструктуризация".

Может быть.

> А что не так с левой? Она зеркально повторяет правую в части & и [].

Это не ко мне вопросы, к анониму выше, у него были претензии, не у меня.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #177 Ответы: #213, #215

213. Сообщение от Анончоус (?), 24-Фев-25, 10:35   +/
В математике есть раздел "Реляционная алгебра", где tuple переводится, как кортеж.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #212 Ответы: #214, #219

214. Сообщение от freecoder (ok), 24-Фев-25, 10:49   +/
> В математике есть раздел "Реляционная алгебра", где tuple переводится, как кортеж.

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

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

215. Сообщение от freecoder (ok), 24-Фев-25, 11:01   +/
> Да, специализировался в математике, а остальное добирал книгами. ... Если не
> считать, отмороженных переводов типа tuple -> кортеж, которые мне всё равно
> не нужны. Годяться только на то, чтобы поржать над ними.

Весьма сомнительно, что вы "специализировались в математике", так как не владеете математической терминологией:

https://diskra.ru/reshenie_zadach/?lesson=1&id=2
https://www.booksite.ru/fulltext/1/001/008/065/003.htm

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #212 Ответы: #220

216. Сообщение от Аноним (216), 24-Фев-25, 11:06   +/
Фигня все это, через несколько лет в си и си++ затащат новыми стандартами все основные примочки раста и все как сидели так идальше будет сидеть на сях... Потому что тяжело ломать стереотипы, порой даже нереально. Например от самой медленной раскладки QWERTY так и не ушли, а уж почти целый век канул...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #222

217. Сообщение от Соль земли (?), 24-Фев-25, 11:33   +/
Нафиг этих страусов. Лучше читать сгенерированный на ассемблере код.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92

219. Сообщение от Аноним (-), 24-Фев-25, 16:21   +/
> В математике есть раздел "Реляционная алгебра"

Не сталкивался с ней в русском переводе.

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

220. Сообщение от Аноним (-), 24-Фев-25, 16:27   –1 +/
Там дано определение вектора, и названо "кортежом". Потом излагается то, что я думаю шло в первые месяцы первого курса на высшей алгебре. Но в начале зачем-то использовано слово "кортеж"? В чём глубинный смысл сего дияния? Это рассеянские информатики пытались отмежеваться от алгебры, и заявить о том, что они не такие как все?

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

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

221. Сообщение от Аноним (-), 24-Фев-25, 16:48   +/
> Для этого существует C ABI.

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

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

222. Сообщение от warlock66613 (ok), 24-Фев-25, 23:41   +/
В Си это точно не затащат, а в C++ в самом лучшем случае в 29 стандарте будет, а потом ещё пока в компиляторах реализуют…
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #216 Ответы: #224

223. Сообщение от warlock66613 (ok), 24-Фев-25, 23:47   +1 +/
Так Rust наоборот снижает когнитивную нагрузку. Тебе не надо постоянно думать, что у тебя ссылка (указатель) протухнет вдруг неожиданно, что в многопотоке что-то сломается и т. д.

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

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

224. Сообщение от Facemaker (?), 25-Фев-25, 10:42   +/
Интересно, что это пишут люди, преувеличенно шарахающиеся от ясного и несложного синтаксиса Rust. Многоэтажные навороты современного C++ их при этом не смущают. https://ders.by/cpp/norefs/norefs.html
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #222 Ответы: #227, #233

225. Сообщение от Аноним (225), 25-Фев-25, 13:14   +/
А вот Zig пока, похоже, ни в какой стране не востребован.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117 Ответы: #229

226. Сообщение от Аноним (225), 25-Фев-25, 13:20   +/
Там он продолжит компилироваться, но безопастно?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

227. Сообщение от Аноним (225), 25-Фев-25, 13:24   +/
Многоэтажный C++ предлагает шаблоны, а что предлагает Rust заместо них?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #224 Ответы: #231, #232

228. Сообщение от голос_из_леса (ok), 25-Фев-25, 18:31   +/
Правильные пацаны (go, rust) не используют пережитки прошлого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

229. Сообщение от голос_из_леса (ok), 25-Фев-25, 18:34   +/
Zimbabwe вас ждет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #225

230. Сообщение от голос_из_леса (ok), 25-Фев-25, 18:39   +/
go mod и вооще проблем нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

231. Сообщение от Facemaker (?), 25-Фев-25, 18:56   +/
>Многоэтажный C++ предлагает шаблоны, а что предлагает Rust заместо них?

Вы совсем, что ли, не в теме?

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

232. Сообщение от warlock66613 (ok), 25-Фев-25, 18:57   +/
Смотря чего вы хотите от шаблонов. Если вычисления времени компиляции — то макросы и build.rs.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #227

233. Сообщение от warlock66613 (ok), 25-Фев-25, 19:20   +/
Забавный текст по ссылке. Интересно что автор по сути так и не объяснил чем плохи ссылки (и хороши указатели).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #224

234. Сообщение от Славик (ok), 26-Фев-25, 10:46   +/
Растик позиционируется как замена "С" а не "С++" ибо в последнем нет проблем, которые решает раст.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #237

235. Сообщение от Славик (ok), 26-Фев-25, 10:57   +/
Одним компилятором с ключиком говорящем в каком стандарте компилировать данный модуль.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

236. Сообщение от Илья (??), 26-Фев-25, 15:28   +/
> try-catch это размотка стека, в этом нет ни наследования, ни полиморфизма, ни инкапсуляции

а есть какие-то языки, которые вбрасывают не полиморфные исключения?


> нелокальные goto

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

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

237. Сообщение от Аноним (-), 26-Фев-25, 15:44   +/
> Растик позиционируется как замена "С" а не "С++" ибо в последнем нет проблем, которые решает раст.

Жаль гугл об этом не знает, и делает всякие MiraclePtr (неудачно).
А в AOSP заменяет си и плюсы и новый код пишет на на расте.
Надо срочно им сообщить, что у плюсов нет проблем))


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #234 Ответы: #238

238. Сообщение от Славик (ok), 26-Фев-25, 20:39   +/
И чё? Причём здесь какие-то гуглы? Они могут накалякать всё шо хош.  Для корпораций раст подходит больше ибо себестоимость разработки меньше ибо квалификация (стоимость) программеров меньше. И фсё.  Будешь строчить за чашку супа.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #237


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

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




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

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