The OpenNET Project / Index page

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



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

"Выпуск языка программирования Rust 1.55"  +/
Сообщение от opennews (??), 09-Сен-21, 20:21 
Опубликован релиз языка системного программирования Rust 1.55, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...

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

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

Оглавление

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

4. Сообщение от Hermanemail (?), 09-Сен-21, 20:41   +16 +/
Язык недалёкого будущего. Отлично развивается!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #109, #123, #137, #166, #179, #386, #409

5. Сообщение от user90 (?), 09-Сен-21, 20:44   +5 +/
> недалёкого будущего

В том-то и дело. Сляпали - и так пойдет!))

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

13. Сообщение от Аноним (13), 09-Сен-21, 20:49   +2 +/
FreeBSD на PowerPC?
В природе есть такие реальные конфигурации?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27, #151

15. Сообщение от Enamel (ok), 09-Сен-21, 20:51   +/
Ну что сказать
Хороший релиз хорошего современного языка с хорошим синтаксисом.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #39, #77, #142

17. Сообщение от Аноним (127), 09-Сен-21, 20:51   +/
Неплохо, но утомляет его постоянно компилировать ради полутора в принципе заменимых библиотек. С svg только беда.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20, #26, #46, #400

18. Сообщение от zo0Memail (ok), 09-Сен-21, 20:52   –5 +/
Уррра!!!
Жалко, синтаксис не как у Python.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #67, #181

20. Сообщение от Enamel (ok), 09-Сен-21, 20:54   –3 +/
В плане, кого компилировать? Раст что ли?
На рабочем компе не нужно компилировать Раст
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #25, #130

23. Сообщение от slava_kpss (ok), 09-Сен-21, 21:08   +1 +/
Сишка лучше этого модного недоязычка
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28, #30, #37

24. Сообщение от uis (ok), 09-Сен-21, 21:08   +1 +/
Компилятор увеличился на очередной гигабайт...
Он собирается дольше LibreOffice'а, а им ещё лису собирать
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #272, #382

25. Сообщение от uis (ok), 09-Сен-21, 21:09   +3 +/
Какой оптимистичный взгляд на мир
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

26. Сообщение от uis (ok), 09-Сен-21, 21:09   +/
Пользуюсь старой версией из принципа. Точнее уже форком старой версии.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #33

27. Сообщение от uis (ok), 09-Сен-21, 21:11   +3 +/
Даже гента на powerpc существует.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #36, #189

28. Сообщение от Аноним (28), 09-Сен-21, 21:23   +4 +/
Чем лучше, например?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #31, #34

29. Сообщение от Аноним (29), 09-Сен-21, 21:24   +/
Спасибо за руст! Отличный руст!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #119

30. Сообщение от Аноним (30), 09-Сен-21, 21:26   +/
При этом будет забавно, если он полностью вытеснит сишку
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #32

31. Сообщение от Enamel (ok), 09-Сен-21, 21:31   +2 +/
Качественные UB, красивые segmentation faultы
Что ещё для счастья надо?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

32. Сообщение от Аноним (13), 09-Сен-21, 21:31   +2 +/
Не, ну это вряд ли.
Существуют тонны легаси (говно)кода который никто не будет переписывать пока он не станет ненужным вообще. В лучшем случае обернут в какую-то обертку, как сейчас виртуализируют проги на коболе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

33. Сообщение от Аноним (13), 09-Сен-21, 21:33   +3 +/
А в чем принцип если новая работает лучше старой? Назло кондуктору?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #384

34. Сообщение от Аноним (-), 09-Сен-21, 21:34   +1 +/
> Чем лучше, например?

Чем раст.

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

35. Сообщение от hohax (?), 09-Сен-21, 21:36   +1 +/
Надо переписать раст на раст.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #41, #94

36. Сообщение от Аноним (13), 09-Сен-21, 21:40   –2 +/
Да никто не спорит что что-то где-то всегда может быть. Вот дум вообще не фотоаппарате запустили, и что?
powerpc64le, если я правильно понимаю, это POWER8 и новее. Сервера, кластеры и т.д. Кто туда в здравом уме bsd будет ставить. При официальной поддержке линукса. Ну, кроме ситуации "а вот смотрите что мы по приколу сделали".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #43, #53

37. Сообщение от Аноним (-), 09-Сен-21, 21:41   +/
Алгол вообще тру.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

38. Сообщение от Аноним (38), 09-Сен-21, 21:46   –3 +/
Карго культ в действии... прорыва нет но вы держитесь
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #89

39. Сообщение от Хан (?), 09-Сен-21, 21:48   +5 +/
Жирнишь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

41. Сообщение от Аноним (46), 09-Сен-21, 21:51   +/
конпелятор давно на хрусте
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #47

42. Сообщение от Хан (?), 09-Сен-21, 21:51   –1 +/
Без ООП это лучший язык для хэллоуворлдов
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #45

43. Сообщение от Аноним (43), 09-Сен-21, 21:52   –1 +/
Есть же воркстейшены от Raptor CS
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

45. Сообщение от Неиллюзорная Машина Локалхоста (?), 09-Сен-21, 21:54   –2 +/
Там ещё и goto нет!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #49

46. Сообщение от Аноним (46), 09-Сен-21, 21:54   +1 +/
Зачем его самому собирать? rustup update скачает готовые бинари
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #91, #118, #173

47. Сообщение от Хан (?), 09-Сен-21, 21:54   –2 +/
Ага канешн, когда LLVM успели переписать с C++ на ржавого?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #59

49. Сообщение от Хан (?), 09-Сен-21, 21:56   –1 +/
Goto нужен в глубоко вложенных циклах, без него что выпрыгнуть из вложенного цикла нужно такой костыль городить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #69, #74, #87, #318

50. Сообщение от Растофанатик (?), 09-Сен-21, 21:56   +5 +/
Мне кажется я теряю веру в Раст. Окружающие говорят что дыры не зависят от языка, а зависят от программиста, который пишет на языке. Пожалуйста скажите что они не правы.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #56, #57, #58, #60, #79, #240

53. Сообщение от Растофанатик (?), 09-Сен-21, 21:58   +3 +/
Как 20 лет на сервер поставили FreeBSD так она там и стоит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #117, #349

56. Сообщение от Аноним (56), 09-Сен-21, 22:03   +1 +/
Ищи единомышленников на Stack Overflow.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

57. Сообщение от Аноним (46), 09-Сен-21, 22:03   +2 +/
К сожалению от языка тоже зависят. Вопрос в процентном соотношении этих дыр. и если можно автоматизировать отлов любой части это нужно делать. Статические анализаторы отчасти решают некоторые проблемы(и обязательно должны использоваться), но к сожалению некоторые они пропускают(например мутации итерируемых контейнеров)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #64

58. Сообщение от Хан (?), 09-Сен-21, 22:04   +5 +/
В C++ если не писать в Си-стиле, юзать ООП ипользоваться STL, можно забыть и про утечки и про сегфолты и макаронный код

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

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

59. Сообщение от Аноним (46), 09-Сен-21, 22:05   +/
а при чем тут llvm. его никто в здравом уме не будет переписывать, потому что зачем
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #82

60. Сообщение от пох. (?), 09-Сен-21, 22:05   +1 +/
Конечно неправы! Вы видели хоть одну дыру в коде на расте, например, в ядре линукса?
Или в той же openssl? Или вон в хроме? А в сишном коде - тыщи их!

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

62. Сообщение от Хан (?), 09-Сен-21, 22:10   +4 +/
Нет кода, нет дырей...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

64. Сообщение от морошка ягодка такая (?), 09-Сен-21, 22:10   –1 +/
А в расте без приседаний получится менять текущий итератор?

Скиньте код, пожалуйста?

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

66. Сообщение от Аноним (46), 09-Сен-21, 22:12   +8 +/
В этом сообщении как раз вся мякотка. Можно писать. а можно не писать. А на ржавом нельзя не писать. И готовые зависимости что важно тоже так же написаны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #68, #70

67. Сообщение от Аноним (46), 09-Сен-21, 22:14   +3 +/
Жалко, но он слишком низкоуровневый. Но сахара со временем скорее всего будет все больше и больше
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #73

68. Сообщение от Хан (?), 09-Сен-21, 22:15   –8 +/
Базаришь? Скажи это unsafe где безопасность раста не работает
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #97

69. Сообщение от Аноним (46), 09-Сен-21, 22:19   +2 +/
В расте оно есть https://doc.rust-lang.org/rust-by-example/flow_control/loop/...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

70. Сообщение от Хан (?), 09-Сен-21, 22:19   –4 +/
В чем смысл безопасности раста если взаимодействие с Си все в unsafe? По сути самый критичный к проблемам код
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #81, #99

73. Сообщение от Хан (?), 09-Сен-21, 22:23   –5 +/
Примерно как C# только без виртуальной машины
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #113, #210

74. Сообщение от лолшто (?), 09-Сен-21, 22:23   +/
Такой?

int x_max = 50;
int y_max = 50;
int z_max = 50;

for (int x = 1; x <= x_max; x++)
{
    for (int y = 1; y <= y_max; y++)
    {
        for (int z = 1; z <= z_max; z++)
        {
            if (z > 10)
            {
                x = x_max;
                y = z_max;
                break;
            }

            printf("%d %d %d\n", x, y, z);
        }
    }
}

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

75. Сообщение от Хан (?), 09-Сен-21, 22:25   –2 +/
Два верхних цикла с пустым телом? Дастишь фантастишь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #86

76. Сообщение от Хан (?), 09-Сен-21, 22:25   –2 +/
Синтетический код
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

77. Сообщение от BrainFucker (ok), 09-Сен-21, 22:25   +1 +/
> с хорошим синтаксисом.

Такой себе. У JavaScript и Python гораздо лучше. А из новых языков вон у Nim вроде норм.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #102, #158, #171, #304, #338

78. Сообщение от Аноним (113), 09-Сен-21, 22:30   +7 +/
Хороший язык, с С++ конечно же переходить не буду
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #401

79. Сообщение от Аноним (79), 09-Сен-21, 22:30   +5 +/
Rust помогает программеру писать корректный код. Но это не серебряная пуля. Головой думать всегда надо!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #101, #149

80. Сообщение от Аноним (13), 09-Сен-21, 22:35   +1 +/
Дело не в том что можно писать, а можно не писать.
А в том что по факту не пишут! Потому что... да куча отговорок - "медленно", "я так не привык", "и там сойдет"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

81. Сообщение от Аноним (13), 09-Сен-21, 22:43   +3 +/
Ну так это проблема си. Будет меньше си кода - будет меньше ненужных unsafe оберток.
Вызов си функции из любого, даже managed, языка - это потенциальная проблема и "unsafe" в терминах этого языка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70 Ответы: #84

82. Сообщение от Аноним (113), 09-Сен-21, 22:50   –1 +/
Но он же на плохом С++
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

83. Сообщение от лолшто (?), 09-Сен-21, 22:51   –2 +/
Господа, кто в теме глубоко разбирается: объясните чукче почему нужен именно отдельный язык Rust, а не Memory Safe C Compiler?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #85, #88, #100, #112, #360

84. Сообщение от Аноним (113), 09-Сен-21, 22:53   –1 +/
Очевидно, что программа на расте не должна вызывать функции ОС. Ни доступа к файлам и усройствам ввод/вывода, ни к сети и даже не выделять память
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

85. Сообщение от Аноним (113), 09-Сен-21, 22:54   +4 +/
У си слишком красивый синтаксис
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #198

86. Сообщение от лолшто (?), 09-Сен-21, 22:59   +/
> Два верхних цикла с пустым телом? Дастишь фантастишь

Это No Code Design Pattern
https://github.com/kelseyhightower/nocode

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

87. Сообщение от Nuzhnyemail (?), 09-Сен-21, 23:03   +1 +/
1. Хорошим тоном является не делать вложенность циклов больше 2.
2. throw также умеет выскакивать из любой вложенности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #122, #174

88. Сообщение от Аноним (88), 09-Сен-21, 23:08   +/
https://blog.logrocket.com/introducing-the-rust-borrow-checker/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #292

89. Сообщение от Vladimir Poliakovemail (?), 09-Сен-21, 23:08   –1 +/
cargo написан на Go
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #98, #111

90. Сообщение от Аноним (90), 09-Сен-21, 23:11   +5 +/
Собаки лают, караван идёт. Красивый язык, успехов команде.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #92

91. Сообщение от VladSh (?), 09-Сен-21, 23:13   +1 +/
Чтобы коммент написать, как минимум.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

92. Сообщение от Аноним (113), 09-Сен-21, 23:13   +2 +/
Разрабы D так же считают
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #203

93. Сообщение от Аноним (46), 09-Сен-21, 23:17   +1 +/
Нет, компилятор придет и скажет что так нельзя. В расте вообще все сведено чтобы максимальное число потенциальных UB не компилировались. https://play.rust-lang.org/?version=stable&mode=debug&editio... по-началу ошибка может показаться какой-то сумбурной, но немного разобравшись с правилами алиасинга все становится стройно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

94. Сообщение от анон (?), 09-Сен-21, 23:18   +/
вентилятор не надо переписывать, нужно на него ещё больше говна набрасывать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

95. Сообщение от Ingener (??), 09-Сен-21, 23:19   –2 +/
Паскаль тоже сляпали. Причем меньше людей.  И что? Паскаль впосле себе жив, и приятен. Но непопулярен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #124, #141, #337

96. Сообщение от СССР (?), 09-Сен-21, 23:21   –8 +/
"Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями и защищает от проблем" - это чепуха для молодых дурачков. Если уж совсем программист не внимательный или да проект очень большой в котором сплош и рядом указатели, то можно использовать умные указатели либо уже готовые, либо написать свой класс что весьма не сложно. Считаю что многократное упоминание в новостях о том что раст чтото там решает, является не более чем рекламным трюком, расчитанным на слабых людей.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #140

97. Сообщение от VladSh (?), 09-Сен-21, 23:21   –1 +/
Он как раз-таки работает. Просто возникнет ошибка, которая благодаря расту не завалит прогу с Access violation, и прога продолжит работать, ну кроме разве что этого забагованного куска по внешней зависимости.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #125

98. Сообщение от pashev.me (?), 09-Сен-21, 23:24   +/
Маски бесполезны. Особенно на аватарке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #105

99. Сообщение от Аноним (-), 09-Сен-21, 23:25   +4 +/
> В чем смысл безопасности раста если взаимодействие с Си все в unsafe?

"В чем смысл собирать с варнингами и прогонять статический анализ кода на Си, если оно все равно пропускает ошибки?"
В чем смысл этой унылой демагогии?

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

100. Сообщение от Аноним (46), 09-Сен-21, 23:29   +6 +/
Это как если бы у бабки был эцсамое.. Раст позволяет на писать код для очищения памяти(он его генерирует за программиста, причем можно явно понять в каком месте будет освобождена любая переменная и гарантирует что не будет утечек и doublefree, по крайней мере в unsafe-коде. Так же компилятор гарантирует что все ссылки всегда ссылаются на живые объекты и в расте в принципе не возможны null-pointer-exception'ы). Си можно было бы исправить, но из-за обратной совместимости это уже не будет си. С плюсами собсна то же самое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #103

101. Сообщение от СССР (?), 09-Сен-21, 23:29   –5 +/
каким таким образом он помогает? если быть точным то так называемая помощь она изза ограничений
А вот если говорить о чистой помощи то это подсказки в IDE.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #159, #276

102. Сообщение от Nils (??), 09-Сен-21, 23:30   +5 +/
Ты это серьёзно насчёт Javascript?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #146, #170, #315

103. Сообщение от СССР (?), 09-Сен-21, 23:33   –3 +/
чем вам умные указатели не угодили? ну если быть внимательным не вариант
После раста что будет? зменить мозк на чип? ну как же, мозг он то боится то отвлекается, то и меет свою точку зрения, что не безопасно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #107

105. Сообщение от Аноним (127), 09-Сен-21, 23:38   +11 +/
Комментаторы бесполезны. Особенно на опеннете.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98

106. Сообщение от Аноним (106), 09-Сен-21, 23:45   –3 +/
Хруст, он и в Африке хруст
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #320

107. Сообщение от Аноним (13), 09-Сен-21, 23:46   +3 +/
А где в чистом Си умные указатели? Стороннюю либу для этого тащить? Или свой велосипед писать?

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

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

109. Сообщение от Dzen Python (ok), 10-Сен-21, 00:11   +/
Именно, что недалекого. Язык становится таким же, как и программисты под него. Недалекие.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #131, #214, #348

110. Сообщение от Dzen Python (ok), 10-Сен-21, 00:13   +/
Простой вопрос, без троллинга.
Когда уже хрустики наконец начнут писать нормальный софт? Не полуавтоматом переписанные сишные утилиты, доказавшие надежность еще с 80х, не обертки над хттп или столбики для пинга, а нормальный софт для людей. Не копроративный, а нормальный.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #133, #175, #178, #218, #288, #298, #324

111. Сообщение от Аноним (111), 10-Сен-21, 00:25   +/
https://github.com/rust-lang/cargo

> Rust 94.5% Roff 5.0% Other 0.5%

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

112. Сообщение от Dzen Python (ok), 10-Сен-21, 00:31   +2 +/
Уже писал уже как-то:
Мемори-сейф-си требует квалификации программиста гораздо выше средней.

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

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

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

Все остальные аргумента хрустеров стоит рассматривать только в этом контектсе.

<\Нодискасс>

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

113. Сообщение от Аноним (113), 10-Сен-21, 00:35   +4 +/
Ты лжешь или не видел ни раста ни C#?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #126

115. Сообщение от СССР (?), 10-Сен-21, 01:09   –3 +/
> А где в чистом Си умные указатели? Стороннюю либу для этого тащить?
> Или свой велосипед писать?
> Внимательнее быть не вариант - такая уж багонутая прошивка у homo sapiens.
> Особенно на больших и запутанных проектах. Периодически невнимательные все вплоть до
> kernelописателей, а потом cve с получением рута исправляют.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107 Ответы: #139, #216, #251

116. Сообщение от СССР (?), 10-Сен-21, 01:12   –1 +/
> А где в чистом Си умные указатели? Стороннюю либу для этого тащить?
> Или свой велосипед писать?
> Внимательнее быть не вариант - такая уж багонутая прошивка у homo sapiens.
> Особенно на больших и запутанных проектах. Периодически невнимательные все вплоть до
> kernelописателей, а потом cve с получением рута исправляют.

и потом, вам для лэндинг-пэйджей зачем? вы вообще хоть чтото на с++ писали? )

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

117. Сообщение от Аноним (117), 10-Сен-21, 01:16   –1 +/
Работает - не трогай! ;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53 Ответы: #221

118. Сообщение от Аноним (117), 10-Сен-21, 01:22   +/
Вылезай из танка, дистры бывают ещё source based.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #121

119. Сообщение от Аноним (117), 10-Сен-21, 01:25   +/
Отличный хруст
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #273, #385

120. Сообщение от Наноним (?), 10-Сен-21, 01:55   +4 +/
Твоя теория не подтверждается: школьники и дебилы, обозлённые сложностью вхождения в Rust, плюются говном в сторону его синтаксиса и концепций, которые осилить у них не получается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #134

121. Сообщение от Аноним (121), 10-Сен-21, 02:12   +/
Вылезай из пещеры, в source based никто не мешает запускать бинари ,и да , rustup  спокойно работает в какой нибудь Генте ,и еомпилять не надо . Вауу
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118 Ответы: #184

122. Сообщение от Денис Попов (?), 10-Сен-21, 02:14   –1 +/
Ага умеет выскакивать в ядро, фига там контекст переключить, один хрен электрон
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

123. Сообщение от псевдонимус (?), 10-Сен-21, 02:25   +2 +/
Недалёкого от слова "недалёкий".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #127

124. Сообщение от Аноним (124), 10-Сен-21, 02:29   –3 +/
мaнямирок такой мaнямирок. легаси-хлам на дельфи != паскаль
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #155

125. Сообщение от Хан (?), 10-Сен-21, 02:36   –5 +/
В unsafe все проверки раста отлючены, это по сути тот же подход что и с unsafe в дотнете
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97 Ответы: #128

126. Сообщение от Хан (?), 10-Сен-21, 02:41   –4 +/
Подход один и тот же

У C# unsafe работает также само, все что внутри unsafe это неуправляемый дотнетом код

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

127. Сообщение от Аноним (127), 10-Сен-21, 02:45   +1 +/
Он так и сказал, в чём проблема?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123

128. Сообщение от Аноним (-), 10-Сен-21, 03:05   +7 +/
> В unsafe все проверки раста отлючены,

Почему ты такой балабол?
https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html
> It’s important to understand that unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks: if you use a reference in unsafe code, it will still be checked. The unsafe keyword only gives you access to these five features that are then not checked by the compiler for memory safety.
>

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

129. Сообщение от Зз (?), 10-Сен-21, 03:17   +/
Идейки-то неплохие у языка
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #152

130. Сообщение от Аноним (130), 10-Сен-21, 03:47   +4 +/
У него просто гента. Он всё компилирует.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #257

131. Сообщение от Аноним (131), 10-Сен-21, 04:14   +/
А ваша-то какая боль? Не нравится - не пользуйся. "Большим умом не блещешь ты, отнюдь..."
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #213

132. Сообщение от Аноним (134), 10-Сен-21, 04:54   –2 +/
>> Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п.

Они повторяют это, словно мантру. Из раза в раз. Что, вот прямо "избавляет и защищает"? Без исключений? Может чуть поумерить категоричность формулировок? Или для того, чтоб этот ваш Раст работал необходимо повторение мантр?

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

133. Сообщение от Nobody But Someone (?), 10-Сен-21, 05:13   –1 +/
Я слышал есть несколько крупных проектов. Из тех, что видел/изучал исходники сам - OpenEthereum (бывший Parity client) https://github.com/openethereum/openethereum.

P.S.

Не сторонник Раста, мне больше Го/Better-C (https://dlang.org/spec/betterc.html)/чистый С заходит.

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

134. Сообщение от Аноним (134), 10-Сен-21, 05:22   +/
Сириус? И именно поэтому т.н. корпы так радостно наяривают на сиё творение? Рассказывают про то, что большинство ошибок в их корпо-коде связаны с работой с памятью и как они хотят побыстрее внедрить Раст?

Судя по вашему комментарию, если у школотронов и есть мнение про Раст, то оно фанатично-одобряющее. А своеобразный синтаксис только добавляет налёта илитарнасти. Они это любят.

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

135. Сообщение от acroobatemail (??), 10-Сен-21, 05:38   –8 +/
Язык написан на c++. Вместо компилятора, llvm-приблуда. Ориентирован на студентов, ими же и продвигается. Имхо не взлетит.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #138, #231

136. Сообщение от Ordu (ok), 10-Сен-21, 06:11   +1 +/
На деле rust последнее время не радует обновлениями, сплошное шлифование напильником, никаких тебе новых блестящих фичей. Самое интересное теперь происходит в крейтах: https://static.stillinbeta.com/cold-iron/cold_iron/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #153, #156, #187

137. Сообщение от недалёкое всё (?), 10-Сен-21, 06:14   +1 +/
недалёкий язык
недалёких людей
недалёкого будущего
- всё верно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #165

138. Сообщение от Прохожий (??), 10-Сен-21, 06:15   +2 +/
Гугл, Майкрософт, Амазон уже используют язык. Они же, кстати, язык и продвигают. Все, кто этот факт игнорирует, похожи на страуса, прячущего голову в песок при приближении опасности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135 Ответы: #145, #207, #301, #336

139. Сообщение от An (??), 10-Сен-21, 06:55   –2 +/
+
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115

140. Сообщение от морошка ягодка такая (?), 10-Сен-21, 08:02   +5 +/
Когда вам компилятор даёт хоть минимальную гарантию хоть чего-то - надо брать.

Ошибки очень дорого чинить, особенно когда ваш код раскатывают на десятки окружений. Вы тратите часы (годы) на отладку, тратите время и нервы девопсов, менеджеров, клиентов, которые с горящей жопoй бегают по офису.

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

Посмотрите сообщение про итератор ниже

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

141. Сообщение от Брат Анон (ok), 10-Сен-21, 08:16   +15 +/
В отличии от Раста, который до сих пор сочиняется -- Паскаль был спроектирован.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #164, #317

142. Сообщение от Брат Анон (ok), 10-Сен-21, 08:17   +/
> с хорошим синтаксисом.

Юморист.

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

143. Сообщение от Брат Анон (ok), 10-Сен-21, 08:20   +3 +/
Прикинь, у Модулы-2/3, Оберона, Go -- точно такой же подход. С той лишь разницей, что Модула-2 появилась 36 лет тому назад.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126 Ответы: #266

144. Сообщение от Брат Анон (ok), 10-Сен-21, 08:21   +/
Товарищ жыыырно пошутил, а вы за пруфами полезли.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #111

145. Сообщение от Аноним (149), 10-Сен-21, 08:22   –1 +/
Они просто остатки команды наняли для своих нужд, лол. До раста им дела никакого нет. А ты продолжай распространять это бред.

Еще скажи что у дропбокса бекенд на раста. Хотя на самом деле у дропбокса бекенд на Go. И на срасте пара ненужных тулзовин в корпоративном гитхабе.

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

146. Сообщение от YetAnotherOnanym (ok), 10-Сен-21, 08:23   +2 +/
Он просто решил обогнать Эмальку по количеству жЫра.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102

147. Сообщение от Аноним (149), 10-Сен-21, 08:24   –6 +/
И что ты такого развернул на десять окружений на расте. Ты даже хеллоуворлд на расте еще не написал, а уже лезешь рассуждать про мифические ошибки. Ты отладку ни секунды пока еще не потратил.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #140

149. Сообщение от Аноним (149), 10-Сен-21, 08:27   –3 +/
Как этот ужасный синтаксис может помогать писать корректный код? Он не помогает, а мешает поэтому даже Фаерфокс не смогли запилить на Расте. Даже движек Servo не смогли доделать.

И самое забавное раст скомпилированный под продакшен не проверяет выход за пределы буфера. Это какой-то позор.

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

150. Сообщение от Аноним (157), 10-Сен-21, 08:27   –1 +/
>но у нас тут как бэ капитализм

бла-бла-бла, капитализьм польоха, угнетение, привилегии белых. Тху!

А  покажи ка пару хороших языков порожденных вне капитализма ?!

И еще напомню, угнетенной снежинке, что С родился внутри бессердечной капиталистической корпорации AT&T.
И призван он был быстрее клепать код (по сравнению с кучей ассемблеров).

>Вот тут и происходит конфликт интересов: прогер, могущий быстро и качественно писать на си, просит не просто много денег, но и серьёзные нематериальные и неденежные бенефиты, без которых - вся эта менеджерская мразота горько рыдает из-за отмененных рабства и крепостного права - он может просто тупо встать и тупо уйти в другую контору. Или даже работать на себя. Или присосаться к госкормушке. Или создать свою контору, СБиШ. Неважно. Так вот, мразота плачет и думает, как удешевить разработку и при этом уменьшить  вероятность ухода человека.

Вот тут в своем опусе меняй раст на С, а С на ассемблер и наслаждайся.

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

151. Сообщение от ryoken (ok), 10-Сен-21, 08:32   –1 +/
Где-то наверное есть :). После того как оно в своей дефолтной установке после запуска ядра не нашло свой root - больше не пытался смотреть :D. (PowerMac G5 Quad, PPC64)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

152. Сообщение от Брат Анон (ok), 10-Сен-21, 08:32   –1 +/
Идейки не плохие (хотя и ничего принципиально нового).
Но вот реализация откровенный шлак.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #129 Ответы: #194, #220, #353

153. Сообщение от Брат Анон (ok), 10-Сен-21, 08:34   –3 +/
Если у языка есть интересные фичи (и тем более продолжают появляться) -- это плохой язык.
Это означает, что язык не был спроектирован (имеет идеологию). Этот язык был сочинён (т.е. этот язык -- кустарщина).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136 Ответы: #176, #302

154. Сообщение от Аноним (157), 10-Сен-21, 08:35   +1 +/
>Они просто ... А ты продолжай распространять это бред.

Корпорации? Просто? Бредишь тут какраз то ты.

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

155. Сообщение от заминированный тапок (ok), 10-Сен-21, 08:47   +2 +/
Lazarus тебе привет передаёт
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124 Ответы: #186

156. Сообщение от Аноним12345 (?), 10-Сен-21, 08:56   –2 +/
идеи закончились
началась стагнация
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136 Ответы: #162

157. Сообщение от Аноним (157), 10-Сен-21, 09:20   +7 +/
```rust
fn main() {
    let arr = [0_u8;2];
    for n in 0..3 {
        println!("{}", arr[n]);
    }
}
```

```sh
Compiling playground v0.0.1 (/playground)
    Finished release [optimized] target(s) in 4.27s
     Running `target/release/playground`
thread 'main' panicked at 'index out of bounds: the len is 2 but the index is 2', src/main.rs:12:24
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

```
>И самое забавное раст скомпилированный под продакшен не проверяет выход за пределы буфера

Очередной ананимный балабол детектед

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

158. Сообщение от sfsdf (?), 10-Сен-21, 09:22   +/
> python

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #191, #219, #264, #313

159. Сообщение от Аноним (79), 10-Сен-21, 09:41   +4 +/
ну вот, навскидку:
1. модель работы с память в rust такова, что запрещает делать ошибки типа "чтение неинициализированной памяти", "висячие указатели", "утечка памяти (классическая)", "гонка конкуретного доступа к памяти"
2. rust "заставляет" программиста проверять ошибки, возвращаемые функцией (не забудешь, ага)
3. система типов более мощная, чем плюсовая, и, например, через паттерн newtype позволяет не складывать мандарины с выключателями (или метры с километрами, или рубли с копейками)
4. нормальный встроенный в язык механизм макросов позволяет творить чудеса, но ценой сложности реализации (впрочем, скрытой от того кто макрос потом используем). как пример - https://docs.rs/serde и https://docs.rs/inline-python
5. "карго-культ" и современная система модулей (crates) поощряет переиспользование кода (не надо писать велосипеды, бери готовое и пиши то что тебе нужно)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101 Ответы: #412

160. Сообщение от Аноним (79), 10-Сен-21, 09:42   +5 +/
программисты мозиллы (не путать с менеджерами!!) ухитрились не только написать на rust движок рендеринга веб-страницы (а это ОЧЕНЬ сложная штука), так ещё и встроить его в C++ код движка gecko, причём "на живую", в продакшене!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149 Ответы: #229

161. Сообщение от Аноним (164), 10-Сен-21, 09:43   +/
О да они же КОРПАРАЦИИ они не могут ошибаться. Там же боги работают, которые только и ждут как бы за свой счет создавать ненужно язычек. Зачем им доделывать то что не смогла Мозилла?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #154 Ответы: #169

162. Сообщение от Аноним (164), 10-Сен-21, 09:44   –1 +/
Мозилла разогнала разработчиков языка, им теперь ненужно отчитываться перед менеджерами.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #156

163. Сообщение от СССР (?), 10-Сен-21, 09:47   –8 +/
это не так
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #140 Ответы: #303

164. Сообщение от Аноним (164), 10-Сен-21, 09:49   +7 +/
Никлаус Вирт правильно сделал что не стал все пихать в Паскаль, а сделал новый язык Оберон, который как раст никому был не нужен и все могли спокойно использвать Паскаль.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141 Ответы: #250

165. Сообщение от Аноним (164), 10-Сен-21, 09:49   +3 +/
недалёкие комментарии недалёких людей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137

166. Сообщение от Аноним (166), 10-Сен-21, 09:56   +1 +/
>недалёкого будущего

Какие люди, такое и будущее.

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

169. Сообщение от Аноним (157), 10-Сен-21, 10:13   +3 +/
Разжую для неострых форумчан свою мысль.

Корпорации могут ошибаться и ошибаються. Но вот чего они точно не делают - это "просто", без причины кому-то раздают бабло. Если корпорация кому-то платит, то она однозначно расчитывает получить больше бабла (сократить издержки) в будующем.

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

170. Сообщение от Ненавижу SJW (?), 10-Сен-21, 10:27   –1 +/
А что не так, лол?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102 Ответы: #172

171. Сообщение от Аноним (172), 10-Сен-21, 10:30   +/
nim-у 15 лет в обед
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #342

172. Сообщение от Аноним (172), 10-Сен-21, 10:31   +/
===
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170 Ответы: #183

173. Сообщение от Аноним (172), 10-Сен-21, 10:32   +/
> rustup update скачает готовые бинари

линчевать за это и за make install

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

174. Сообщение от Аноним (172), 10-Сен-21, 10:37   +/
throw медленный
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

175. Сообщение от Аноним (175), 10-Сен-21, 10:46   +/
из того что сразу сходу вспоминается - vaultwarden или alacritty. из коммерческого - в новом 1password бэкенд на расте.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

176. Сообщение от Аноним (157), 10-Сен-21, 10:48   +3 +/
>Если у языка есть интересные фичи (и тем более продолжают появляться) -- это плохой язык.

Под твои критерии "хорошего" языка попал только Brainfuck. Пользуеш его в проде?

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

177. Сообщение от Аноним (180), 10-Сен-21, 10:49   –2 +/
Растофанатики ликуют. Интересно, когда изменят лицензию и переделают язык из зонда в свободный?!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #321, #329

178. Сообщение от Аноним (13), 10-Сен-21, 10:51   +1 +/
Операционка на 100500 loc? Такое просто не реально написать за настолько малый срок.
Но меньшие по размеру есть и вполне успешно используется. Servo, Firecracker, Rocket.
Плюс еще то что не открыто https://www.rust-lang.org/production/users.

> Не копроративный, а нормальный.

Ну расскажи мне какой нормальный софт ты написал хотя бы за год))
А вообще интересно было бы сравнить сколько софта на с/с++ пишется "копроративного", а сколько "нормального". Боюсь ситуация будет еще хуже.

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

179. Сообщение от Аноним (179), 10-Сен-21, 10:59   +1 +/
Прекрасное далёко, не будь ко мне жестоко
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

180. Сообщение от Аноним (180), 10-Сен-21, 11:00   +/
>Под твои критерии "хорошего" языка попал только Brainfuck

Ещё Python

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

181. Сообщение от Аноним (181), 10-Сен-21, 11:01   +/
Жду когда добавят совсестимсть с языком ждаваскрипт и можно будет фронтендеру писать для процессора, а сишечка станет не нужна
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #195, #270

182. Сообщение от Аноним (157), 10-Сен-21, 11:02   +2 +/
>Ещё Python

разве что python2. он недавно стал хорошим :)

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

183. Сообщение от Аноним (179), 10-Сен-21, 11:02   +/
Всего то лишь, и то как следствие отсутствия типизации. Или надо было больше ??*::()}{[] добавить?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #172 Ответы: #190, #262

184. Сообщение от ТотСамыйАноним (?), 10-Сен-21, 11:04   –4 +/
Сразу видно, что ты Gentoo в глаза не видел.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121

185. Сообщение от Аноним (13), 10-Сен-21, 11:05   +5 +/
Проблема в том что погромисты даже с супер квалификацией не умеют в мемори-сейф-си. Раз в год, но и они стреляют себе в ногу. Есть только те кто рассказывает что "все вокруг рукожопы, а вот у меня ничего не падает".
И это прекрасно видно по спискам CVE в ядре линукса и популярных либах.

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

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

186. Сообщение от _hide_ (ok), 10-Сен-21, 11:07   –3 +/
Давайте не будем говорить про язык программирования идеологического врага )))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155

187. Сообщение от Аноним (187), 10-Сен-21, 11:10   +4 +/
Все с Rust ок. Сейчас они сосредоточены над Edition 2021
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136 Ответы: #281

188. Сообщение от ТотСамыйАноним (?), 10-Сен-21, 11:12   +2 +/
Корпы наяривают на Go, JavaScript, Java. Rust лишь очень узкую нишу у них занимает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #134

189. Сообщение от Аноним (255), 10-Сен-21, 11:13   +/
>Даже гента на powerpc существует.

Гента-то не удивительно, она на широкоиспользуемом ядре основана, где поддержка POWER на должном уровне.

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

190. Сообщение от Аноним (255), 10-Сен-21, 11:15   +1 +/
>Или надо было больше ??*::()}{[] добавить?

Надо было их отступами заменить ;)

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

191. Сообщение от Аноним (255), 10-Сен-21, 11:18   –1 +/
Проблемы-то с пробелами возникают только при копипасте с некоторых сайтов. А так, в исхходном тексте, который ASCII, с чего бы им теряться?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #158

192. Сообщение от Аноним (134), 10-Сен-21, 11:18   –2 +/
А знаешь, почему нет такого количества CVE в проетах на Расте? Очевидно, потому, что его используют полтора землекопа. И если он распространится, то будет то же самое. Или накатывать патчи на бгоугодный растософт - это будет совсем другое?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #185 Ответы: #197

193. Сообщение от rustishishka (?), 10-Сен-21, 11:21   –3 +/
Хорошим признаком признания языка, признание его огромных плюсов по сравнению с C будет переписывание (полное, частичное) на него значимых проектов.

Пока ни OpenSSl, ни Nginx, ни Apache Web Server, ни PostgreSQL, ни Gnome, systemd, ни еще 100500 значимых проектов не заикаются об этом.

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

194. Сообщение от red75prime (?), 10-Сен-21, 11:21   +/
> Идейки не плохие (хотя и ничего принципиально нового).

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

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

195. Сообщение от Аноним (255), 10-Сен-21, 11:24   +/
И про Electron'чег не забудьте! Тоже пусть добавят совместимость.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #181 Ответы: #199

197. Сообщение от Аноним (13), 10-Сен-21, 11:32   +7 +/
Нет, тоже самого не будет. Во всех проектах есть логические ошибки - и в с, и в раст - недавняя проблема с парсингом ip4 в растовой stdlib прекрасный пример. И от них не спасешься (кроме возможно формальной верификации, но это стоит кучу денег).
Но такого количества безумных проблем с памятью в расте не будет by design.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #192 Ответы: #332

198. Сообщение от Аноним (255), 10-Сен-21, 11:36   +3 +/
Но у Си фатальный недостаток - он придуман не Грэйдоном Хором.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

199. Сообщение от Аноним (181), 10-Сен-21, 11:39   +/
Электрон на процессоре будет выполнятся быстрее, без замедления в виде прослойки из операционной системы гуи будут летать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #195 Ответы: #215

200. Сообщение от Ананоним (?), 10-Сен-21, 11:40   –1 +/
Вангую утечки памяти!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #202, #284

201. Сообщение от Аноним (255), 10-Сен-21, 11:47   –1 +/
Вот говорят, почему у Rust такой инопланетный синтаксис? А вот ответ: "Автор дал проекту название Rust, по его словам связанное с грибами семейства ржавчинные (англ. rust fungi)".
Лучше бы для названия выбрал из семейства псилоцибиновых.
Ответить | Правка | Наверх | Cообщить модератору

202. Сообщение от Аноним (255), 10-Сен-21, 11:50   +/
Это не баг, это защита от use-after-free.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #200

203. Сообщение от Аноним (255), 10-Сен-21, 11:54   –1 +/
Разрабы D хоть не призывают переписать ВСЁ
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92 Ответы: #402

205. Сообщение от Аноним (205), 10-Сен-21, 12:08   –2 +/
Ошибка в том что не взяли за основу синтаксис Питона
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #211

206. Сообщение от Аноним (255), 10-Сен-21, 12:13   +/
>Пока ни ... systemd, ни еще 100500 значимых проектов не заикаются об этом.

Подскажите кто-либо это Лёньке. Время настало!

PS А мы подождём ;)

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

207. Сообщение от acroobat (??), 10-Сен-21, 12:28   –1 +/
> Гугл, Майкрософт, Амазон уже используют язык.

Используют для привлечения студентов на рабочие места. И всё это под флагом прогресса технологий.

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

208. Сообщение от Филимон Руставед (?), 10-Сен-21, 12:29   +2 +/
_bittestandcomplement64 читатьудобнословнетуописатьвосторг

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

210. Сообщение от Аноним (210), 10-Сен-21, 12:37   –2 +/
Для начала, Rust использует LLVM
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #212, #222

211. Сообщение от Аноним (210), 10-Сен-21, 12:41   +4 +/
За синтаксис питона надо сразу грязными тряпками и тухлыми фруктами забрасывать... И автора, и последователей....
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #205

212. Сообщение от Аноним (255), 10-Сен-21, 12:43   –2 +/
Что является его недостатком.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #210

213. Сообщение от Аноним (-), 10-Сен-21, 12:43   +1 +/
> А ваша-то какая боль?

Та, что чуть пониже спины.
Очевидно же.

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

214. Сообщение от Аноним (-), 10-Сен-21, 12:45   –2 +/
>> Dzen Python
> Именно, что недалекого. Язык становится таким же, как и программисты под него.
> Недалекие.

А ты самокритичный!


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

215. Сообщение от Аноним (255), 10-Сен-21, 12:47   +/
>Электрон на процессоре будет выполнятся быстрее, без замедления в виде прослойки из операционной системы

И мелтдауниться будет точнее и производительнее.

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

216. Сообщение от freecoderemail (ok), 10-Сен-21, 12:47   +3 +/
Ага, появился ДВС - кучеры и конюхи сразу напряглись.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115 Ответы: #413

217. Сообщение от Аноним (255), 10-Сен-21, 12:51   +2 +/
Но за make install условно. Если вы предварительно сделали ./configure --prefix=your_path , то ничего страшного с целостностью вашей системы не произойдёт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #173 Ответы: #234

218. Сообщение от freecoderemail (ok), 10-Сен-21, 12:57   +/
Хватит ныть, переходи на Rust, пока не поздно. Поезд еще не ушел, есть вариант (для тебя) что-то достойное написать и запрыгнуть в последний вагон. Но это вечно длиться не будет, время уходит. Иначе - так и останешься у своего "разбитого корыта" и будешь что-то там брюзжать в оправдание самому себе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110 Ответы: #239

219. Сообщение от Аноним (-), 10-Сен-21, 12:57   +2 +/
>> Python disallows mixing tabs and spaces for indentation.


cat ind.py && python ind.py
def foo():
        print(0)
    print(1)
print(3)
  File "ind.py", line 3
    print(1)
           ^
TabError: inconsistent use of tabs and spaces in indentation

> так началось, тут пробел, тут табуляция
> и самое главное что если участок кода не выполняется, то о проблеме и не узнаешь.

... тут - опеннетный балабол.

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

220. Сообщение от freecoderemail (ok), 10-Сен-21, 12:59   +2 +/
Что конкретно там "шлак"? И как нужно сделать, чтобы было не "шлак"?
Ах, ну да, делать вообще ничего не надо: выбирайте породистых жеребцов, нанимайте хороших конюхов, умеющих правильно выгребать навоз, а автомобиль - это от лукавого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152

221. Сообщение от Аноним (221), 10-Сен-21, 13:01   +/
> Работает - не трогай! ;)

А то внедрившегося 10 лет назад трояна разбудишь...

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

222. Сообщение от Аноним (-), 10-Сен-21, 13:02   +/
> Для начала, Rust использует LLVM

А в огороде бузина?


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

223. Сообщение от Аноним (221), 10-Сен-21, 13:05   +/
Не знаю питон, но любопытно - а если в разных рядом лежащих файлах? (в одном всё пробелами, в соседнем скачанном - табами и всё в одном проекте)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #219 Ответы: #316

224. Сообщение от freecoderemail (ok), 10-Сен-21, 13:06   +/
Это просто широко используемые имена, не в Rust их придумали:
https://docs.microsoft.com/en-us/cpp/intrinsics/bittestandco...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #208 Ответы: #230

228. Сообщение от Аноним (164), 10-Сен-21, 13:18   +4 +/
У него уже управляющий сервер потух потому что админ ботнета закончил школу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #221

229. Сообщение от Аноним (164), 10-Сен-21, 13:19   –2 +/
Потому что Servo они дописать не смогли в силу ограниченности. Все уже давно знают эту историю. Это всего лишь повод отказаться от Раста везде где это возможно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #263

230. Сообщение от Филимон Руставед (?), 10-Сен-21, 13:21   +/
Что стало с идеей сделать сделать хоть чуть лучше, чем С ? Если вы создаёте новый язык (пусть даже с вырвиглазным синтаксисом) зачем тащить в него го..код ? Это же нечитаемо!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #224 Ответы: #343, #347

231. Сообщение от Аноним (-), 10-Сен-21, 13:21   +3 +/
> Язык написан на c++.

https://www.openhub.net/p/rust-lang/
> Languages
> Rust     98%
> Other     2%

Ыксперт ...


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

232. Сообщение от Аноним (164), 10-Сен-21, 13:24   +/
Для тех кто додумается мигрировать с хруста на c++ вот инструкция как на c++ делать borrow checker https://www.youtube.com/watch?v=Lj1GppqNr8c  Да C++ Core Check из Visual Studio не код, будет иметь мозг не хуже этого вашего храста.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #408

234. Сообщение от Moomintroll (ok), 10-Сен-21, 13:30   +/
> Если вы предварительно сделали ./configure --prefix=your_path , то ничего страшного с целостностью вашей системы не произойдёт.

Или make install DESTDIR=/my/fake/root

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

235. Сообщение от acroobat (??), 10-Сен-21, 13:36   –1 +/
Make sure you have installed the dependencies:

    g++ 5.1 or later or clang++ 3.5 or later

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

236. Сообщение от www2 (??), 10-Сен-21, 13:41   +1 +/
>А  покажи ка пару хороших языков порожденных вне капитализма ?!

Рефал, ДССП.

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

237. Сообщение от Аноним (-), 10-Сен-21, 13:48   +3 +/
> Make sure you have installed the dependencies:
> g++ 5.1 or later or clang++ 3.5 or later

В комментах опеннета опять стратровал чемпионат по самому унылому и тупому набросу?

https://gcc.gnu.org/install/prerequisites.html
> Perl version between 5.6.1 and 5.6.24

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

238. Сообщение от Аноним (210), 10-Сен-21, 13:49   –4 +/
> А в огороде бузина?

Может быть.

Но комментарий то относится к упомянутой выше .net машине. То же в отношении JVM. Какой смысл говорить, что Rust без виртуальной машины .net, если он на LLVM-машине?

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

239. Сообщение от Аноним (164), 10-Сен-21, 14:10   +/
Т.е. ты делишься инсайдом что Раст закрывают и надо скорее писать на нём? Хорошо что предпупредил можно даже не начинать пользоваться этим языком недоразумением.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #218

240. Сообщение от PetrG (ok), 10-Сен-21, 14:10   +/
Нет это не так работает. Сначала намеренно выбирать небезопасный по умолчанию инструмент а потом его безопасно использовать - это чтобы ЧСВ потешить? Есть люди которые голой ладонью гвозди забивают, но почему то мастера всегда молоток используют.

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

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

242. Сообщение от Аноним (242), 10-Сен-21, 14:12   +/
Пока в дистры не будут своевременно завозить релизы и ночные версии, и пока разработчики не перестанут пользоваться ночными фичами, язык так и останется проблематичным в использовании, а значит - ненужным. А снап свой пусть себе в одно место засунут.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #325

243. Сообщение от BratishkaErik (ok), 10-Сен-21, 14:15   +1 +/
Руст вытаскивает из unsafe всячину, Zig готовится к самокомпилированию – ляпота да красота
Ответить | Правка | Наверх | Cообщить модератору

244. Сообщение от PetrG (ok), 10-Сен-21, 14:16   +/
Кто "они"? Те кто пишет посты на Opennet про Rust и каждый раз копипастят 3 параграфа называя это новостью? Они к авторам языка отношения не имеют.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

246. Сообщение от Аноним (-), 10-Сен-21, 14:18   +/
> Но комментарий то относится к упомянутой выше .net машине. То же в
> отношении JVM. Какой смысл говорить, что Rust без виртуальной машины .net, если он на LLVM-машине?

Смысл - в неплохом детектировании опеннетных "Ыкспертов", которые не в кусе "маленькой разницы" между JVM/NET и LLVM, но Ценнейшее Мнение имеют.
А так - никакого, потому что никакой "виртуальноой машиной" а ля JVM/NET там и не пахнет ...


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

247. Сообщение от acroobat (??), 10-Сен-21, 14:21   –1 +/
Теперь смотри пререквизиты llvm и на чём он написан.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #237 Ответы: #254

248. Сообщение от Аноним (248), 10-Сен-21, 14:23   –3 +/
> Смысл - в неплохом детектировании опеннетных "Ыкспертов", но Ценнейшее Мнение имеют.

Ну детектировался. Помогло?

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

249. Сообщение от Урри (ok), 10-Сен-21, 14:25   +/
> Код для разбора чисел с плавающей запятой в стандартной библиотеке переведён на использование более быстрого и точного алгоритма Эйзеля-Лемира, применение которого решило некоторые ранее наблюдаемые проблемы с округлением и разбором чисел с очень большим числом цифр.

С точностью до наборот. Цитирую:

The Eisel-Lemire algorithm is very fast (Lemire’s blog post contains impressive benchmark numbers, e.g. 9 times faster than the C standard library’s strtod) but it isn’t comprehensive. There are a small proportion of strings that are valid numbers but it cannot parse, where Eisel-Lemire will fail over to a fallback ParseNumberF64 implementation.

VERY FASL BUT ISN'T COMPREHENSIVE.

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

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

250. Сообщение от Минона (ok), 10-Сен-21, 14:36   +/
из оберона вырос Oberon-2, Component Pascal, Active Oberon, Zonnon, Oberon-07.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #164 Ответы: #255, #269

251. Сообщение от VladShemail (?), 10-Сен-21, 14:43   +/
Если так рассуждать, то и другие проверки на уровне компиляции не нужны - нужно быть просто внимательным.

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

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

252. Сообщение от Аноним (-), 10-Сен-21, 14:49   –1 +/
>> Смысл - в неплохом детектировании опеннетных "Ыкспертов", но Ценнейшее Мнение имеют.
> Ну детектировался. Помогло?

Сказать-то что хотел, Ыкспертус?

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

253. Сообщение от VladShemail (?), 10-Сен-21, 14:56   +/
> Они просто остатки команды наняли для своих нужд

И что это за нужды такие? В туалет ходить? Что-то дороговато для таких нужд.

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

254. Сообщение от Аноним (-), 10-Сен-21, 14:56   +/
> Теперь смотри пререквизиты llvm и на чём он написан.

https://llvm.org/docs/GettingStarted.html#software
> GCC    >=5.1.0    C/C++ compiler1
> python    >=3.6    Automated test suite2

По твоей "логике" - очевидно что на перле с питоном.

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

255. Сообщение от Аноним (255), 10-Сен-21, 14:56   –1 +/
Если бы назвал Oberon-007, наверное, бы хайпанули :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #250 Ответы: #285, #286

256. Сообщение от Аноним (-), 10-Сен-21, 15:19   –2 +/
> Смысл - в неплохом детектировании опеннетных "Ыкспертов", которые не в кусе "маленькой
> разницы" между JVM/NET и LLVM, но Ценнейшее Мнение имеют.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #246 Ответы: #258, #274, #346

257. Сообщение от нах.. (?), 10-Сен-21, 15:44   +/
А, ну дык, хомячье всегда верин он трму дяде который ему копилит и бинари выдает. Он же дядя надежный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #130 Ответы: #306

258. Сообщение от нах.. (?), 10-Сен-21, 15:47   –1 +/
А ты такой не молодой и тооже в нашу кашку взел.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #256

259. Сообщение от InuYasha (??), 10-Сен-21, 15:51   –2 +/
"знать и учитывать" != "думать постоянно".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #251

260. Сообщение от acroobatemail (??), 10-Сен-21, 15:56   –2 +/
> По твоей "логике" - очевидно что на перле с питоном.

Лучше уж на питоне чем на с++.

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

261. Сообщение от InuYasha (??), 10-Сен-21, 15:56   –1 +/
Так это хорошо - хаос, бурления и срывы покровов! И пусть обновляют своё проприетарное почаще. )
Говорите так, будто можно что-то написать один раз и навсегда (* таки, на теоретическом уровне, можно было и это уже сделали Дейкстра с Кнутом, например), но по факту всё равно будут раз в полгода обновляться стандарты, протоколы и чужие софты, так что, сидеть без обновлений всё равно не уастся.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #185

262. Сообщение от tmplsr (?), 10-Сен-21, 15:58   +/
>Или надо было больше ??*::()}{[] добавить?

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

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

263. Сообщение от Аноним (79), 10-Сен-21, 16:02   +1 +/
к сожалению, у компании мозилла банально нет ресурсов (читай - денег), чтобы разрабатывать servo. для этого надо платить примерно 100 человек (в основном - разработчикам) в течение 3-4 лет, чтобы с нуля разработать движок современного "веб-барузера". и даже "помощи" в разработке со стороны языка rust здесь не хватит, там банально десятки миллионов строк кода

зато проект servo дал лисичке stylo и webrender, что тоже очень хорошо

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

264. Сообщение от tmplsr (?), 10-Сен-21, 16:06   +/
for i in range(1, 10): #{ begin block code
...
#} end block code
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #158 Ответы: #312

265. Сообщение от Ананимас008 (?), 10-Сен-21, 16:07   +/
>println

Чому не православный writeln?

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

266. Сообщение от Хан (?), 10-Сен-21, 16:10   –1 +/
А я с этим не спорю
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #143

267. Сообщение от Хан (?), 10-Сен-21, 16:18   –2 +/
Дядя Петя ты дурак? Кидаешь мне в ответку на утверждение  что в unsafe безопасность is off пруф с прямым указание что Rust в unsafe не обеспечивает безопасность работы с памятью?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #128 Ответы: #277

269. Сообщение от Аноним (269), 10-Сен-21, 16:44   +5 +/
В конце 70-тых французы от департамента обороны США получили контракт на разработку правильного и безопасного языка. В 1983 вышла ADA. В школе нам его упоминали как ответвление от Паскаля. Думал что язык АДА не используется и мертв.

Недавно, чисто случайно узнал что на современном ВЕРИФИЦИРУЕМОМ диалекте АДА в ЕС активно пишут софт. Написали матверифицированное ядро ОС системный и прикладной софт. И переписывают на ВЕРИФИЦИРУЕМОМ диалекте АДА лучшие решения и алгоритмы с C и Rust.

А местные рестораны в курсе языка ADA и то что люди переписывают софт с Rust на верифицируемый диалект ADA для пущей безопасности?

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

270. Сообщение от Аноним (-), 10-Сен-21, 17:07   +/
Не будь веб-макакой, осиль сишечку.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #181

271. Сообщение от Старший Аноним (?), 10-Сен-21, 17:10   –1 +/
Что все 3 разработчика?

ПС. тоже интересовался ADA - прямая дорога с PLSQL, но нарыл другую информацию

В основном ADA сейчас применяется в следующих областях:

1) в мин. обороны США  
2) в авиации, но применение сокращается
3) в электронике, но там тоже сокращается применение

Компилятор GNU ADA - не очень хорош, да и коммерческие компиляторы тоже ругают.
Проигрывает компиляторам C++ (но обеспечивает лучшую защищенность).

Разработчики уходят от этого ADA на C++

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

272. Сообщение от Аноним (-), 10-Сен-21, 17:11   +1 +/
Планирую перейти на "Beyond Linux From Scratch" брат твой коментарий меня глубоко печалит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

273. Сообщение от Аноним (-), 10-Сен-21, 17:12   –1 +/
Хруст в коленях или в позвоночнике.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119

274. Сообщение от Аноним (-), 10-Сен-21, 17:22   +/
> Вот чем плохо молодёжь в форумах - пользы от ваших комментариев почти
> ноль. На то, чтобы по существу написать ответ, знаний не хватает.
> Зато самомнение и агрессия.... И сразу переход на личности....

Вот чем плохи косящие под олдфагов "снежинки" - они совершенно не в курсе, что раньше _продолжающего_, несмотря на намеки, с умным видом нести ахинею - тыкали просто и без экивоков носом. Особенно тех, кто прятался за безликим анонимом.
Еще и считают, что им _базовые_ вещи должны разжевывать и в рот ложить, если уж они соблаговалили влезть в обсуждение.

> чтобы по существу написать ответ, знаний не хватает.

Не льсти себе о "знаниях". Если бы ты нормально спросил, а не продолжал упорно писать чешуйню - был бы нормальный ответ.
Ты ведь даже на страницу проекта не ходил, где первым же предложением разъясняется даже для далеких от темы:
> The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
> Despite its name, LLVM has little to do with traditional virtual machines. The name "LLVM" itself is not an acronym; it is the full name of the project.
>

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

276. Сообщение от Аноним (276), 10-Сен-21, 17:28   +/
Так в этом и смысл, что лишняя самодеятельность (т.н. свобода) в программировании не нужна
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101 Ответы: #415

277. Сообщение от Аноним (-), 10-Сен-21, 17:29   +3 +/
>>> (Хан) unsafe где безопасность раста не работает
>>> (Хан) В unsafe все проверки раста отлючены, это по сути тот же подход что и с unsafe в дотнете
>> unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks
> (Хан) Дядя Петя ты дурак? Кидаешь мне в ответку на утверждение  что в unsafe безопасность is off пруф с прямым указание что Rust в unsafe не обеспечивает безопасность работы с памятью?

А, так ты просто не умеешь в английский? Это многое объясняет


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

278. Сообщение от Аноним (-), 10-Сен-21, 17:31   +/
>признание его огромных плюсов по сравнению с C будет переписывание (полное, частичное) на него значимых проектов.

Это полохо. Как правило, вещи переписанные на Расте идут с пермиссивной лицензией. На сишке пишут. как правило с копилефтной лицензией. И это не удивительно. До появлния, LLVM единственным бурно развивающимся бекендом был GCC.

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

279. Сообщение от Аноним (157), 10-Сен-21, 17:41   –1 +/
если Рефал еще как-то похож на ЯП, то ДССП - это вообще какоето академическое убожество, которое морально устарело уже на момент создания.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #236 Ответы: #373

281. Сообщение от Аноним (281), 10-Сен-21, 18:08   +/
Так даже там вроде ничего особо интересного (ожидаемого).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #187

282. Сообщение от Хан (?), 10-Сен-21, 18:24   –3 +/
Разыменовывание raw указателей вызываеи ошибок работы с памятью?

Null-pointer и Access violation передают тебе пламенный привет

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

283. Сообщение от Хан (?), 10-Сен-21, 18:26   –4 +/
Учитывая что основная часть проблем связанных с Си кодом связана с работой с памятью через указатели, то Rust в unsafe менее безопасен чем C++
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #277

284. Сообщение от Хан (?), 10-Сен-21, 18:30   –1 +/
Там одни сегфолты, учитывая разыменовывание raw указателя
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #200

285. Сообщение от Аноним (285), 10-Сен-21, 18:40   +1 +/
> И переписывают на ВЕРИФИЦИРУЕМОМ диалекте АДА лучшие решения и алгоритмы с C и Rust.

Ну с Си понятно, много десятилетий существования, миллиарды строк кода и миллионы ошибок в нём, и, соответственно, "лучших решений" для переписывания там можно нарыть на сотни лет работы сотне разработчиков. А с раста они что взялись переписывать - рендерер мозиллы, Actix и фанатскую ОС Redox? Или просто основной репозиторий crates.io отсортировали в алфавитном порядке и начали весь переписывать? Или понавыдергивали из него куски? Очень любопытно по расту, просветите.

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

286. Сообщение от Аноним (285), 10-Сен-21, 18:41   +/
сорри, промахнулся, отвечал на коммент ниже
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #255

287. Сообщение от borg_da_cox (?), 10-Сен-21, 18:43   +/
Всякая хрень для попсовых программистов последнее время выходит. Для слабакок. Всякие питоны, расты и тому подобная попса. Епрст учите с++ это единственное, что стоит учить. Все остальное просто однодневная парша.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #296, #300, #308

288. Сообщение от Аноним (288), 10-Сен-21, 18:44   +/
Ну вы же не используете саблю для рубки дров, например? Rust как та сабля. Повесить на стенку и любоваться. Не для реальных вещей нужен топор, хоть щепки и летят, зато все быстро в топку... т.е. в продакшн :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110 Ответы: #340

289. Сообщение от Аноним (285), 10-Сен-21, 19:03   +/
> but it isn’t comprehensive

Про точность там где? Не покрывает все случаи, не "всеобъемлющ" - да.

> There are a _small proportion_ of strings...

Ну так в большинстве случаев работает как надо и в 9 раз быстрее. Наверное выигрыш в среднем выше, когда 100 раз выполнит в 9 раз быстрее, а на 101-ый откатится на стандартный С-алгоритм.

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

291. Сообщение от n00by (ok), 10-Сен-21, 20:03   +/
В примере недостаточно информации, что бы определить выход за границу во время трансляции? Или почему компилятор пропустил, Rust такое не ловит?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #157 Ответы: #314

292. Сообщение от Аноним (292), 10-Сен-21, 21:17   +1 +/
Прочитал, предполагалась реклама, но для меня оказалась антирекламой.

Цитата:
"The borrow checker can be tricky to understand and work with — so much so that it’s pretty common for newcomers to the Rust community to get stuck fighting the borrow checker. I’ve personally lost many hours of my life to this struggle."

Из этой статьи видно: передача вектора как аргумента в функцию, возможна тремя способами:
1) передачей владения,
2) копией всех данных вектора,
3) по ссылке.

Необходимость передачи владения при передаче аргумента в функцию - очень редко возникающая ситуация (в расте она выполняется по-умолчанию, в отличие от С/С++, которые делают копию).
Чаще всего нужно наоборот - вернуть созданный внутри функции объект наружу.
В примере из статьи этот метод не применим, т.к. вектор используется после вызова функции.
Копировать все данные тоже не вариант - не оптимально. Остается только передать по ссылке.

Подозреваю, что из-за этих ограничений при передаче объектов, использование ссылок в расте (ради оптимальности естественно) распространилось как эпидемия. И для поддержания порядка в этом "генераторе ссылок" понадобился borrow checker.

Для сравнения: С++ предлагает множество вариантов передачи аргументов, в том числе все аналоги раста.
Какой именно больше подходит в конкретном случае, определяется архитектурой приложения.
И можно сделать так, чтобы беспокоиться о ручном освобождении памяти/объектов не нужно было.
Аналоги раста:
1) передача владения - явное использование std::move():  void f(std::unique_ptr<T> arg); f(std::move(object))
2) копия - void f(std::vector<T> array); f(objectsWithCopy)
2) ссылка - void f(std::vector<T> const& objectsByRef); f(objectsNoCopy)

Беспокоиться о ручном освобождении объектов (и появившимся из-за этого невалидных ссылок) не нужно если пользоваться стандартными контейнерами и смарт-пойнтерами.

Еще пример удобного управления временем жизни объектов можно найти в Objective-C: "Autorelease Pool".
Этому механизму уже несколько десятков лет (https://ru.wikipedia.org/wiki/Objective-C#Autorelease-%...).
А набор из нескольких простых правил пользования им вполне сходен с правилами которые налагает раст. Отличие в том, что в Objective-C эти правила должны войти в привычку, но оставляют программисту свободу, а раст просто запрещает всё кроме 3-х перечисленных случаев.


Короче, я вижу, что borrow checker - это не очень нужная мне фича, т.к. я уже научился проектировать управление временем жизни объектов и проблем с этим не возникает. Для тех, кто этому не научился, borrow checker - это ложное обещание того, что компилятор решит эти вопросы за них, а он их не решает. Он налагает ограничения (как по мне, слишком жесткие) на владение и передачу объектов, и пока нубы этому не обучатся, будут выгребать "error[E0382]: borrow of moved value" и "I’ve personally lost many hours of my life to this struggle."

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

293. Сообщение от Аноним (293), 10-Сен-21, 21:36   +1 +/
Ну как, сколько %% FF переписали на раст? Менее 10%?! А ведь прошло 15 лет с 2006-го!
Ответить | Правка | Наверх | Cообщить модератору

294. Сообщение от Аноним (276), 10-Сен-21, 21:41   –2 +/
На Си пишут с любой лицензией. И да - пермиссив свободнее копилефта, пермиссив - будущее
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #278 Ответы: #309

295. Сообщение от Аноним (117), 10-Сен-21, 21:44   +/
ДССП - Для Служебного Системного Программирования
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #236 Ответы: #330

296. Сообщение от Аноним (276), 10-Сен-21, 21:44   –1 +/
Шаблонно и неинтересно. Серебряных пуль нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #287

297. Сообщение от Минона (ok), 10-Сен-21, 21:48   +/
Тоже мне новость.
У нас ПО для спутников пишут на Modula-2.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #269

298. Сообщение от Аноним (298), 10-Сен-21, 22:32   +/
https://github.com/topics/rust вот изучайте
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

299. Сообщение от Аноним (298), 10-Сен-21, 22:36   +/
Потому шо запись конкретно в stdout принято везде называть принтом. райт более абстрактый - для любого дескриптора/сокета
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #265 Ответы: #307

300. Сообщение от Аноним (298), 10-Сен-21, 22:37   –1 +/
осторожно. так можно проспать эволюцию)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #287

301. Сообщение от Александр (??), 10-Сен-21, 23:30   –1 +/
Такие времена. Им важно показать, что они поддеривают Diversity & Inclusion. А то могут и из насдака выгнать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #138

302. Сообщение от Ordu (ok), 10-Сен-21, 23:49   –1 +/
> Если у языка есть интересные фичи (и тем более продолжают появляться) -- это плохой язык.

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

> язык не был
> язык был

Какое мне дело до того, чем там язык был или не был в прошлом, когда у меня есть язык в настоящем, который является тем, чем является сейчас?

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

303. Сообщение от Аноним (276), 10-Сен-21, 23:56   +3 +/
Очень обоснованный ответ. Регулярно вас вижу в комментариях и никогда не понимал вашей позиции - "нет, это ограничения, не надо компилятор делать ограничивающим". Надо. Самодеятельность в программировании не нужна, нужно решение задачи. Поэтому потенциально опасные методики запрещаем.

Прогать на не-Тьюринг полном языке, кстати, мб весьма хорошая идея, в ФП-кругах во всю обсуждают. Там не-ТП языки с доказательством тотальности от компилятора. Жаль только пока многое из этого весьма лабораторно выглядит

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

304. Сообщение от Enamel (ok), 11-Сен-21, 01:11   –1 +/
>> с хорошим синтаксисом.
> Такой себе. У JavaScript и Python гораздо лучше

А при чем тут JavaScript и Python?
Это скриптовые языки, сравнивать с языком никакого уровня несколько странно.

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

305. Сообщение от Enamel (ok), 11-Сен-21, 01:11   –2 +/
>> с хорошим синтаксисом.
> Юморист.

В сравнении с C и C++, разумеется.
Но некоторых фишек и общей строгости не хватает и в других языках.

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

306. Сообщение от Enamel (ok), 11-Сен-21, 01:13   +1 +/
> А, ну дык, хомячье всегда верин он трму дяде который ему копилит
> и бинари выдает. Он же дядя надежный.

Да-да, хомячье всегда верит в исходные коды без проверок, да-да.

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

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

307. Сообщение от Аноним (-), 11-Сен-21, 08:12   +/
>Потому шо запись конкретно в stdout принято везде называть принтом. райт более абстрактый - для любого дескриптора/сокета

И да. и нет.
1. print - распечатать в смысле "вывести", куда угодно, в том чиле и на экран монитора; write - записать в исходник.

2. Это просто две разные традиции. Европейская Алголоподобное и Американское Си-подобное.

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

308. Сообщение от Аноним (-), 11-Сен-21, 08:17   –1 +/
Так люди и изучают Расты, Жабы и Питоны чтобы уйти от "Си плюс-плюс". В Мозилле когда-то поговаривали, что Раст заменит Си плюс-плюс. Один жабист мне сказал. что после перехода с Си плюс-плюс на Жабу, он стал мало писать. Наверно он имел ввиду компактность кода.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #287 Ответы: #357

309. Сообщение от Аноним (-), 11-Сен-21, 08:33   –1 +/
>На Си пишут с любой лицензией.

Основной компилятор у сишников - это GCC. со всеми вытекающими, "нутыпонел".

>И да - пермиссив свободнее копилефта, пермиссив - будущее

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

FSF и GNU не хейтят Раст. Они лишь видят опасную тенденцию, когда появляются ЯП с пермиссивной культурой. А Раст именно имеет пермиссивную природу.

Корпорации монополизирующие рынок должны обанкротится.

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

310. Сообщение от Аноним (310), 11-Сен-21, 08:51   +/
3 пользователя, но зато какие эти пользователи. На самом деле пользователей больше чем 3.

Речь шла не о АДЕ, а о ВЕРИФИЦИРУЕМОМ диааекте ADA: SPARK.

Гугли SPARK !

https://muen.sk

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

311. Сообщение от BrainFucker (ok), 11-Сен-21, 10:30   –1 +/
Синтаксис любых языков сравнивать это нормально. Никто не запрещает написать компилятор питона в машинный код, пусть даже если он будет не очень совместим с cpython, в том плане что существующие сложные питоновские программы он собрать не сможет, но на нём можно будет разрабатывать с нуля новое, даже низкоуровневое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #304

312. Сообщение от BrainFucker (ok), 11-Сен-21, 10:33   –1 +/
Так и делаю, кстати. https://mobile.opennet.ru/opennews/art.shtml?num=53987#29
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #264

313. Сообщение от BrainFucker (ok), 11-Сен-21, 10:38   +/
> Любые языки с блоками через пробелы / табуляции идут лесом. Нужно было тут чужой скриптик подменять, так началось, тут пробел, тут табуляция и самое главное что если участок кода не выполняется, то о проблеме и не узнаешь.

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

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

314. Сообщение от Аноним (157), 11-Сен-21, 10:39   +/
На мой взляд информации достаточно.
И если обратиться к массиву с константным индексом, то компилер ловит такое.
такое: arr[3] .

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

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

315. Сообщение от BrainFucker (ok), 11-Сен-21, 10:41   –2 +/
> Ты это серьёзно насчёт Javascript?

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

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

316. Сообщение от BrainFucker (ok), 11-Сен-21, 10:46   –1 +/
Так не ругается. Это и правильно, иначе это сильно усложнит возможность использования сторонних модулей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #223

317. Сообщение от anonymous (??), 11-Сен-21, 11:53   +/
Чем сочинение Rust-а -- не проектирование?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141

318. Сообщение от anonymous (??), 11-Сен-21, 12:00   +/
В Go, кстати, это решили goto-подобным break-ом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #372

320. Сообщение от anonymous (??), 11-Сен-21, 12:12   +1 +/
А Rust -- он и в Африке Rust, да. Кто про что...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106 Ответы: #356

321. Сообщение от anonymous (??), 11-Сен-21, 12:15   +/
Про что речь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #177

322. Сообщение от anonymous (??), 11-Сен-21, 12:20   +1 +/
Добавить бы immutables и borrow checker в Go. А так приходится в сторону Rust смотреть, хоть и сттабельность кода слегка пугает. Хотя, полагаю, это просто дело привычки.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #323, #355

323. Сообщение от anonymous (??), 11-Сен-21, 12:20   +1 +/
s/сттабельность/читабельность/ (автозамена)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #322

324. Сообщение от Роман (??), 11-Сен-21, 12:38   –1 +/
кажется мне что в целом "нормального" софта всё меньше и меньше, просто из-за того что всё идёт в веб и электрон пророк его. Написали, например, alacritty (эмулятор терминала), так этих эмуляторов как грязи, врядли закрыли важную проблему этим продуктом. Разве что для самообразования. Может кто-то и плеер напишет еще один, с такой же целью.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

325. Сообщение от Роман (??), 11-Сен-21, 12:47   +/
с огромной вероятностью продакшн уже на контейнерах, доставить что надо или даже скомпилить бинарник и покласть в реестр образов такой контейнер не вызывает особых проблем. Дистрибутивы уже нужны полутора землекомпам-админам.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #242

328. Сообщение от Аноним (-), 11-Сен-21, 15:18   +1 +/
>  а сожет это сильно бьет по скорости  компиляции, которая и так нешустрая.

This.
https://users.rust-lang.org/t/why-index-out-of-bound-is-not-...
Плюс, доступ к элементам конст-массива _таким_ образом - довольно "синтетичен" и мало употребляется в реальности (да и за такие употребления нужно бить по рукам).

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

329. Сообщение от Аноним (117), 11-Сен-21, 15:59   –1 +/
Сделать компилятор автономным, неоснованным на LLVM. Лицензию сменить на MPLv2, хотя бы (уж коль в Мозилле родился). Т.о., отмежеваться от Ябблокопрорашки и их шакалов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #177

330. Сообщение от Аноним (-), 11-Сен-21, 17:03   –1 +/
Гоподи какой унылый совок.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #295 Ответы: #374

331. Сообщение от Аноним (331), 11-Сен-21, 17:57   +/
Так а если я за корпорации и ответственный капитализм?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #309 Ответы: #358

332. Сообщение от нах.. (?), 11-Сен-21, 18:10   –3 +/
И вот сходу началось виляние.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #197

334. Сообщение от нах.. (?), 11-Сен-21, 18:16   –1 +/
> Ну расскажи мне какой нормальный софт ты написал хотя бы за год))

вас просили показать, а вы сразу кидать стрелки. Ржавые как всегда в своем репертуаре.

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

336. Сообщение от нах.. (?), 11-Сен-21, 18:20   –1 +/
Точно, 3 опсоса юзают, значит миллионы мух не ошибаются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #138

337. Сообщение от _kp (ok), 11-Сен-21, 19:15   –1 +/
Паскаль действительно сляпали, но до вмешательства Борланда, он не только не был приятен, а вообще непригоден к практическому использованию.
Борланд постарался в развитии и популяризации языка, но концептуальные рудименты и неудобства исходного языка дали о себе знать.
Надо было не стесняться и менять всю систему.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #369

338. Сообщение от _kp (ok), 11-Сен-21, 19:17   –1 +/
А что с синтаксисом у Яваскрипта не так, он позволяет как писать изящно, так не запрещает  прострелись себе мозг.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #341, #350

339. Сообщение от Аноним (13), 11-Сен-21, 19:31   +2 +/
Ты так туп что не смог осознать предыдущие 3 строки? Там есть пример трех больших открытых и ссылка на десятки закрытых, которые просто лень копипастить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #334

340. Сообщение от Аноним (157), 11-Сен-21, 20:07   +1 +/
>зато все быстро в топку... т.е. в продакшн :)

вот PHP кодерок и спалился ...

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

341. Сообщение от BrainFucker (ok), 11-Сен-21, 21:37   –2 +/
А я тут причём, синтаксис у JS норм, я об этом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #338

342. Сообщение от BrainFucker (ok), 11-Сен-21, 21:39   –1 +/
Но официально стабильным его вроде объявили только  то ли в этом, то ли в прошлом, толи в позапрошлом году.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #171

343. Сообщение от нах.. (?), 11-Сен-21, 22:48   –1 +/
И ответа от этого супермена защитничка не последовало. Типичные ржавые
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #230 Ответы: #345

344. Сообщение от Аноним (346), 11-Сен-21, 23:16   –4 +/
>Стабилизирована возможность указания незакрытых диапазонов в шаблонах ("X.." интерпретируется как диапазон, который начинается

интересная фича, жаль что в Kotlin такой нет.

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

345. Сообщение от Аноним (-), 11-Сен-21, 23:23   +/
> И ответа от этого супермена защитничка не последовало. Типичные ржавые

А что можно (и нужно ли?) ответить местному ламерью, которое об интринсиках ни ухом, ни рылом?
https://software.intel.com/sites/landingpage/IntrinsicsGuide...

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

346. Сообщение от Аноним (346), 11-Сен-21, 23:25   –3 +/
Разница в том что LLVM это Low Level Virtual Machine. Такая же виртуальная машина как и JVM, а сраст так же убог, тормозен и нечитаем как Java.
Все нормальные программисты пишут на ANSI C и только убогие говнокодеры пишут на этих поделках.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #256

347. Сообщение от Аноним (-), 11-Сен-21, 23:27   +2 +/
> Что стало с идеей сделать сделать хоть чуть лучше, чем С ?
> Если вы создаёте новый язык (пусть даже с вырвиглазным синтаксисом) зачем
> тащить в него го..код ? Это же нечитаемо!

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

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

348. Сообщение от Led (ok), 11-Сен-21, 23:35   +5 +/
>Язык становится таким же, как и программисты под него.

Ну вот "прям в точку", юзер с Python в нике:)

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

349. Сообщение от Led (ok), 11-Сен-21, 23:38   +4 +/
>Как 20 лет на сервер поставили FreeBSD так она там и стоит.

Хоть раз включать пробовал? Ну признайся - мы никому не расскажем.

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

350. Сообщение от Led (ok), 11-Сен-21, 23:42   +3 +/
>не запрещает  прострелись себе мозг.

Нельзя прострелить то, что у вэб-макаки отсутствует.

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

353. Сообщение от Led (ok), 12-Сен-21, 00:07   +8 +/
>реализация откровенный шлак.

И это говорит чудик на аватарке которого и то, и другое - шлак.

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

355. Сообщение от Аноним (117), 12-Сен-21, 00:34   +/
На Rust будете стабильно переписывать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #322

356. Сообщение от Аноним (117), 12-Сен-21, 00:38   –1 +/
Про хруст ржавчины.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #320

357. Сообщение от Аноним (113), 12-Сен-21, 00:40   +1 +/
и мало какать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #308

358. Сообщение от Аноним (117), 12-Сен-21, 01:01   +/
А я за малый и средний бизнес.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #331

359. Сообщение от Ordu (ok), 12-Сен-21, 10:52   +/
> Необходимость передачи владения при передаче аргумента в функцию - очень редко возникающая ситуация (в расте она выполняется по-умолчанию, в отличие от С/С++, которые делают копию).

Во-первых, не так уж и редко. Не надо судить по опыту C/C++, как часто это оказывается полезным: в C/C++ невозможно передать владение. Там это никто не использует не потому, что не нужно, а потому что нельзя.

Во-вторых, копия по-дефолту -- это нарушение принципа "zero-cost abstraction". Передача копии -- это дорого. Не всегда, но очень часто.

В-третьих, дефолты меняются. Вот для тех случаев, когда удобнее передавать копию, перед декларацией типа можно написать #[derive(Copy)], тогда макрос derive напишет для этого типа реализацию трейта Copy (это пустой трейт, там нету методов, т.н. трейт-маркер), а компилятор, видя что тип -- Copy, будет передавать копию, вызывая метод clone для создания этой копии. Например, если ты напишешь

let x: i32 = 2;
foo(x);
println!("{}", x);

То это сработает. Компилятор не начнёт ругаться на то, что println! использует x, откуда значение было перемещено в foo. Магия? Не, если ты передашь в функцию i32, то туда будет передана копия значения. И всё потому, что для i32 реализован трейт Copy, то есть, как бы, i32-значение при передаче из одного места в другое автоматически вызывает свой метод clone. То есть, тот вызов foo, как бы заменяется на foo(x.clone()) автоматически.

Но это, понятно, хорошо только для небольших типов. Часто для всяких enum'ов используется. Или для векторов длиной с небольшое целое число, например, длины 4. Ну и понятно, что std делает это для всех примитивных численных типов.


То есть, практически, разница лишь в том, что для объектов, которые дорого копировать, тебе придётся явно вызывать clone(), вместо того, чтобы создавать копию неявно передачей по значению. Для объектов, которые копируются легко и непринуждённо, реализован Copy, и они передаются так же, как они передавались бы в C/C++.

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

360. Сообщение от МояВенда (ok), 12-Сен-21, 11:26   +/
Попробуй хоть раз в жизни собрать что-нибудь стороннее из сорцов на C/C++. Вопросы отпадут сами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

361. Сообщение от Урри (ok), 12-Сен-21, 13:16   +/
А где я говорил, что это плохо, что вы так рьяно кинулись защищать? Подозрительно...

Я только исправил новость, вот и все.

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

362. Сообщение от Ананоним (?), 12-Сен-21, 13:22   +/
Эй, жаждущие безопасности и контроля, уже давно для вас придумали и создали неско поколений стандартного языка Ada. Используйте! Только не надорвитесь :)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #365

363. Сообщение от Аноним (363), 12-Сен-21, 15:32   +/
>> Во-первых, не так уж и редко.

Приведите примеры когда это нужно.

>> в C/C++ невозможно передать владение

Можно, см. std::move().

>> Передача копии -- это дорого.

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


>> В-третьих, дефолты меняются.

В С++ тоже можно менять поведение класса при создании копии его объекта. Выполняется это переопределением конструктора копирования (и других методов, там где надо). Если очень нужна эффективность по-дефолту, чаще всего реализуют CopyOnWrite.

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

364. Сообщение от Филимон Проницательный (?), 12-Сен-21, 16:32   +2 +/
>> использовать для интринсиков устоявшиеся и легко гуглящиеся обозначения.

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

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

365. Сообщение от Аноним (-), 12-Сен-21, 18:05   +/
Раст модный язык, Ада не модный язык. Я выбираю модный язык.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #362 Ответы: #377, #391

366. Сообщение от n00by (ok), 12-Сен-21, 18:06   +/
Насколько я понял из рекламируемых особенностей языка, задача Rust как раз и состоит в том, что бы заменить специально обученного тютора с линейкой, который бьёт по рукам. В подобном случае (если он не столь прост как данный) ошибка во время исполнения не обязательно будет отловлена тестами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #328 Ответы: #376

367. Сообщение от Аноним (-), 12-Сен-21, 18:12   +/
>C/C++

Товарищ майор такого языка не существует.

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

368. Сообщение от n00by (ok), 12-Сен-21, 18:13   +/
Как будете компилировать eval()?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #315 Ответы: #404

369. Сообщение от Аноним (-), 12-Сен-21, 18:18   +/
>Паскаль действительно сляпали, но до вмешательства Борланда, он не только не был приятен, а вообще непригоден к практическому использованию.

А ты не будь формошлёпом. Паскаль создавался не для формошлёпов.

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

370. Сообщение от Ordu (ok), 12-Сен-21, 19:23   +1 +/
>>> Во-первых, не так уж и редко.
> Приведите примеры когда это нужно.

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

let win = WindowBuilder::new()
    .size(800, 600)
    .title("Хелловорлд")
    .build();

Тут цепочка вызовов после new. new создаёт объект типа WindowBuilder, этот объект затем передаётся в size, где он модифицируется и возвращается, потом передаётся в title, где он модифицируется и возвращается оттуда, после чего он передаётся в build, который на основании значения типа WindowBuilder строит объект типа Window. Понятно, что при желании можно разорвать цепочку вызовов, сохранить промежуточный результат WindowBuilder в переменной, сделать что-нибудь ещё, потом продолжить. Ноль мутабельности, ноль ссылок. Никому не надо связываться со ссылками, потому что... а нахрена? Паттерн с передачей "по значению" с передачей владения моментально виден в документации. Скажем, вижу я в документации метод хештаблички into_values(self)->/*что-тотам*/,  я вижу, что self передаётся по значению, и моментально понимаю, что это _деструктивное_ преобразование хештаблички во что-то там, что судя по имени функции содежит все значения в хеш-табличке. После вызова её у меня не останется на руках исходной хеш-таблички.

Или, допустим, я вижу String::from_utf8(vec: Vec<u8>) -> Result<String, FromUTF8Error>, я моментально знаю, что from_utf8 "съедает" Vec<u8>, и даже не заглядывая в доки и сорцы, я спорить готов, что from_utf8 не выделяет память под новую строку, он повторно использует память Vec<u8>.

Или, скажем, я вижу конструктор BufReader<R>::new(inner: R) -> BufReader<R> where R: Read. Он принимает объект реализующий трейт Read (то есть у объекта есть метод read), употребляет его "насовсем", возвращает BufReader, то есть, в терминах STL/C++ это буферизованный istream. inner был небуферизованным, а BufReader -- буферизованный. Я вижу такое, и я понимаю, что мне не удастся попеременно читать буферизовано или небуферизовано, потому что BufReader хочет владеть низлежащим небуферизованным потоком. Зачем ему это надо, я не уверен навскидку, у меня есть разные предположения, но это другой вопрос.

А ещё у BufReader'а есть метод into_inner(self) -> R, который принимает self "по значению", то есть он употребляется насовсем, и возвращает R по значению, то есть совмещая это с конструктором, мы понимаем, что владением исходным небуферизованным istream'ом можно получить обратно, только BufReader этого не переживёт.

Ни в одном из этих примеров для объектов нет смысла передаваться по-дефолту созданием копии, потому что даже если бы это и было бы возможно, всё равно никто не пользовался бы этой возможностью. Иногда, может быть, в каких-то специальных условиях это имеет смысл, но на тот случай есть clone. А вот передавать владение объектом имеет глубинный смысл, как с точки зрения использования моментально детектируемого паттерна, так и с точки обеспечения безопасности. String сделанный на повторном использовании памяти с Vec появится только тогда, когда Vec прекратит существовать. А это значит, что не будет двух разных указателей на буфер в памяти хранящий char'ы, а значит не случится, например, такого, что один указатель падёт жертвой drop и освободит память, а другой указатель затем будет разадресован.

>>> в C/C++ невозможно передать владение
> Можно, см. std::move().

Нну, это костыль. Что-то типа того, но не то. std::move, как бэ, перемещает объект, но хех, что будет если ты сделаешь:

string s = "хеллоувролд";
foo(std::move(s));
std::cout << s << std::endl;

Будет UB. Я чесслово не знаю, что произойдёт, в силу всех этих оптимизаций, проводимых llvm и gcc, но при том уровне оптимизации который был в 90-х это бы означало, что s нихрена не переместился и остался доступен здесь.

Запрет на такие штуки на уровне ошибок компиляции очень важен, это гарантия того, что как в декларациях API написано его использовать, именно так его и будут использовать. Такие штуки могут приводить к нелокальным багам, после которых бывает очень сложно найти виноватого в рантайм-ошибке. А это значит, что от писателя вызывающего кода надо ждать очень точного понимания тех API, которые он дёргает. А это значит, что а) C++ программисты не любят внешние API, потому что их надо скрупулёзно изучать, прежде чем использовать, проще навелосипедить своё; б) писатели внешних API вынуждены думать, как бы так не разложить граблей, которые сложно заметить.

>>> В-третьих, дефолты меняются.
> В С++ тоже можно менять поведение класса при создании копии его объекта.
> Выполняется это переопределением конструктора копирования (и других методов, там где надо).
> Если очень нужна эффективность по-дефолту, чаще всего реализуют CopyOnWrite.

Когда я последний раз щупал эти конструкторы, они сделаны таким образом, что на них невозможно реализовывать некоторые паттерны безопасно. То есть, ты делаешь что-то эдакое, но чтобы оно работало, надо чтобы вызывающий код понимал как и что надо делать, чтобы не наступить на грабли. А это значит, что внутри реализации класса нет уверенности в том, на что можно положиться. Можно ли положиться, что вот этот вот inner istream внутри BufReader -- это владение BufReader? Когда выполняется BufReader::drop, следует ли вызвать drop на inner? Если inner принадлежит BufReader'у, то да, это _необходимо_, потому что иначе объект inner просто "утечёт": либо останется потерянный открытый файловый дескриптор, либо потерянный выделенный кусок кучи, либо и то и другое, и может быть ещё что-то третье. Если же вызывающий код сохранил у себя ссылку на inner, то такой drop приведёт к последующему use-after-free в вызывающем коде. Ну или если inner -- это просто файловый дескриптор, то вызывающий код либо столкнётся с внезапно ставшим невалидным файловым дескриптором, или, что хуже, будет читать из нового файлового дескриптора, который был открыт между drop и попыткой чтения и занял то же значение, что и дропнутый файловый дескриптор. А такое уже вообще хрен отладишь, потому что такая ошибка может вылезать в коде, который вообще никак логически не связан ни с данным инстансом BufReader'а, ни с кодом работающим с BufReader'ом. В смысле, глядя на место возникновения ошибки можно математически доказать, что там всё правильно написано и без ошибок, и это даже будет так, но ошибка всё равно будет возникать, и где тот код, который нacpaл? Как его найти теперь?

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

371. Сообщение от Ordu (ok), 12-Сен-21, 19:24   +/
>>C/C++
> Товарищ майор такого языка не существует.

Мне начхать.

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

372. Сообщение от Аноним (372), 12-Сен-21, 19:29   +/
В расте также есть break на метки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #318

373. Сообщение от другой аноним (?), 12-Сен-21, 19:36   +/
Писал на ДССП в конце 80х. Оно какое угодно, только не "академическое". На практике это просто более удобный форт, чем форт. А на настоящий фортанутый форт мне мозги вывернуть так и не удалось. Неудобно всё: базовый набор слов для манипуляций стеком, вывернутый flow control, налепленные зачем-то сверху фичи времени компиляции (это в лиспе они уместны, но когда ты байтики экономишь -- нафига тебе ещё и мета?!). Для машинки с десятками килобайт памяти -- самое оно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #279

374. Сообщение от Аноним (374), 12-Сен-21, 19:37   +/
Ну ведь соврамши товарищ, а вы повелись! Не так оно расшифровывается!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #330

375. Сообщение от Аноним (363), 12-Сен-21, 20:19   +/
>> Всё что угодно большое ты не будешь передавать "по-значению" без передачи владения, которая позволит избежать копирования. Если владение не передаётся, то компилятор вынужден создавать копию, дабы не было бы двух одновременных ссылок.

По значению передавать не буду, буду передавать другими способами, но передавать владение при этом вовсе не обязательно. Передача владения по-умолчанию приводит к борьбе программиста с борроу-чекером.
А где сказано, что компилятору (даже расту) нельзя создать несколько "одновременных ссылок"? В С++ такого ограничения вообще нет.

>> WindowBuilder

Да, для этого примера, передача владения работает как некая оптимизация, но это не единственный метод который позволяет избежать копирования в таком паттерне. В часности, компилятор С++ может выполнять технику "избежания копирования": https://en.wikipedia.org/wiki/Copy_elision#Return_value_opti...

>> String::from_utf8(vec: Vec<u8>) -> Result<String, FromUTF8Error>

Тут описан очень частный случай. Тк. если создается уникод-строка, то чаще всего под неё понадобится больше памяти чем есть у "vec" и выделять новый блок памяти всё-равно придется.
Если же String остается в UTF8 представлении, то эта функция - просто преобразование типов, которая скомпилируется в no-op. С точки зрения оптимизации, передача владения тут - сомнительная необходимость.

>> что будет если ты сделаешь:
>> string s = "хеллоувролд";
>> foo(std::move(s));
>> std::cout << s << std::endl;

Ничего "такого" не будет, cout "напечатает" пустую строку.

>> C++ программисты не любят внешние API

Откуда такая уверенность?

>> проще навелосипедить своё;

Это зависит от конкретной ситуации, бывает что проще своё написать.

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

Да, надо. Читайте документацию (и документируйте свой АПИ).

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

376. Сообщение от Аноним (-), 12-Сен-21, 21:02   +/
> Насколько я понял из рекламируемых особенностей языка,

Где и кем рекламируемых?

> задача Rust как раз и состоит в том, что бы заменить специально обученного тютора с линейкой,
> который бьёт по рукам. В подобном случае (если он не столь прост как данный) ошибка во время исполнения не обязательно будет отловлена тестами.

Задача "не дать писать на любом ЯП как на сишке и с теми же ошибками" (т.е. как тут - игнорировать наличие итераторов и вместо каноничного "for elem in arr" и писать привычный из сишки костыль) - вряд ли выполнима даже с помощью кнута, не то что линейки.

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

377. Сообщение от Аноним (378), 12-Сен-21, 22:30   +/
Модный это Go. Ты опять ошибся.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #365 Ответы: #383

378. Сообщение от Аноним (378), 12-Сен-21, 22:32   +/
У тебя есть возможность написать это как библиотеку и прославится (нет)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #344 Ответы: #397

379. Сообщение от Ordu (ok), 12-Сен-21, 22:48   +1 +/
>>> WindowBuilder
> Да, для этого примера, передача владения работает как некая оптимизация,

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

>>> String::from_utf8(vec: Vec<u8>) -> Result<String, FromUTF8Error>
> Тут описан очень частный случай.

Постоянный. Я тебе привёл ещё один пример ровно того же самого -- BufReader. Такие "преобразования типов" типичны. В качестве ещё одного примера: drain итераторы, например, создаются именно так, и позволяют тебе деструктивно вынимать из контейнера один элемент за другим вплоть до исчерпания контейнера.

В std есть стандартные трейты Into и From, которые забирают один объект насовсем, и возвращают другой. И трейты эти используются на регулярной основе. Скажем, если я вызвал функцию, получил ошибку, и хочу завершить функцию с ошибкой, то в некоторых случаях я буду возвращать err.into() -- компилятор сам подберёт нужную реализацию трейта Into, которая преобразует ошибку полученного типа, в ошибку возвращаемого типа.

Хотя, если точнее, Into и From не обязательно забирают объект насовсем -- это зависит от того, реализует ли тип объекта трейт Copy. Как правило они не реализуют, потому что копировать налево и направо неявным образом -- зашквар.

> Тк. если создается уникод-строка, то чаще всего
> под неё понадобится больше памяти чем есть у "vec" и выделять
> новый блок памяти всё-равно придется.

Нет. Это в C/C++ придётся выделять из-за нуля-терминатора, который постоянно мешает работать со строками, там без своей реализации строк вообще невозможно жить. В rust'е же не придётся ничего выделять, потому что нет никаких терминаторов. String отличается от Vec только тем, что String гарантирует валидность utf8, обеспечивает некоторые операции, специфичные для utf8 строк, не обеспечивает некоторые операции Vec, которые не очень работают с utf8 строками.

> Если же String остается в UTF8 представлении, то эта функция - просто
> преобразование типов, которая скомпилируется в no-op.

Нет, это не noop. Result видишь? Происходит проверка валидности utf8, потому что String гарантирует, что если String-объект существует, то он содержит валидный utf8. Кроме того, String и Vec, хоть и являются оба умными указателями на один и тот же буфер, и оба сводятся к трём полям -- buf, size, len, -- но они _разные_ умные указатели, там может быть другое расположение полей в структуре, например. String::from_utf8, я полагаю, делает Vec::into_raw_parts(self) с возвращаемым значением по типу (usize, usize, *u8) /* обрати внимание, опять тот же паттерн, Vec уходит в into_raw_parts насовсем и безвозвратно */, а потом создаёт из этих raw-parts новый объект String. Если случится чудо, и новый объект String будет бинарно идентичен старому объекту Vec, то перетасовка полей превратится в noop. Если нет, то значит это не будет noop'ом.

>>> что будет если ты сделаешь:
>>> string s = "хеллоувролд";
>>> foo(std::move(s));
>>> std::cout << s << std::endl;
> Ничего "такого" не будет, cout "напечатает" пустую строку.

А, да точно. Я увидел на cppreference в примере упоминание UB, но при внимательном изучении там оказывается, что UB возникает не из-за неопределённого состояния s, а из-за того, что s.back() при том состоянии -- это UB. (Не, ты прикинь, ты вызываешь внешний API, и он тебе выкидывает не ошибку, не исключение, но UB. Ипануцца!) Но это значит, что foo(std::move(s)) -- это вызов конструктора std::string для создания пустой строки в s? Нахрена? Не, я понимаю, что в данном случае компилятор отоптимизирует и выкинет ненужный вызов (хотя не, не выкинет, s ведь используется в operator<<). Но в каких-то других случаях, этот конструктор может иметь side-эффекты, он может быть тормозным, он может не инлайниться, и мы не будем использовать s после вызова foo, но компилятор не сможет доказать, что выкидывание этого вызова -- это законная оптимизация, а не саботаж задумки программиста. Мы получаем абстракцию, которая нихрена не zero-cost.

>>> C++ программисты не любят внешние API
> Откуда такая уверенность?

Сравни использование внешних зависимостей в rust'е с таковым в C++. Как давно тебе приходилось тянуть в свой проект зависимостью специфическую реализацию хештаблички, которая долго создаётся, не умеет добавлять элементы после создания, зато выделяет памяти ровно столько сколько нужно (а не на 20-50% больше) и гарантирует отсутствие коллизий? Или пакет для работы со временем, который умеет всё, что нужно тебе, а не только то, что в прошлом веке сочли нужным те, кто писал стандарт для стандартной библиотеки? Или пакет для url-encode/url-decode? Пакет для парсинга markdown? Реализацию sha512? Base64? Пакет для форматирования размера в понятном человеку виде -- в смысле чтобы не "310438330", а "297M". Все эти вещи в C и C++ принято велосипедить. В C++ может чуть меньше, но всё равно велосипедить. Опеннет полагает это признаком квалификации программиста и способом избежать dependency hell'а, что может быть и так, но это также приводит к появлению тысяч полусырых велосипедов. Зато мейнтейнерам дистров жить проще.

>>> проще навелосипедить своё;
> Это зависит от конкретной ситуации, бывает что проще своё написать.

В расте крайне редко это проще. Если нет, того что надо, то скорее всего есть почти то, что надо, а это значит, что проще туда пулл-реквест закинуть, который доведёт "почти то что надо" до уровня "то что надо". И это проще, в частности, потому что даже внутренние, возможно недокументированные, API пакета довольно прозрачны, очень легко работать с чужим кодом. Ты видишь #[derive(Copy,Clone)] ты знаешь всё что тебе нужно знать о реакции объекта на присваивание его куда-то, тебе не надо выискивать код трёх-четырёх конструкторов и продираться через него, чтобы понять, что, собственно, имелось в виду. Ты смотришь в код, и понимаешь задумку автора этого кода.

>>> надо чтобы вызывающий код понимал как и что надо делать, чтобы не наступить на грабли.
> Да, надо. Читайте документацию (и документируйте свой АПИ).

Это не всегда работает. Попробуй продраться через документацию, скажем, к ffmpeg, понять когда безопасно вызывать free на буфер, который ты передавал в недра ffmpeg, когда не стоит этого делать, а когда ни-ни-ни-низзя этого делать совсем. В расте полезно проконсультироваться на этот счёт с документацией, но там такие вопросы _прозрачны_, и, кроме того, если ты где-то что-то поймёшь неверно (потому что документация кривая, или потому что ты читал невнимательно), то тебе компилятор потом об этом сообщит, выкинув ошибку компиляции. Лучшая документация на код -- это сам код. Документация может отстать от изменений кода, или не отстать, а измениться вместе с версией библиотеки, но твой код так и останется написанным по старой версии документации.

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

381. Сообщение от Ordu (ok), 12-Сен-21, 23:36   +/
> Я понял -  вы нашли своё растаманское счастье. Я не намерен
> вас его лишать.

Ох, как резко с обсуждения по существу на личности. Ничто не предвещало, и вдруг БАБАХ.

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

382. Сообщение от 334455 (?), 13-Сен-21, 08:56   +/
Это все скрытая реклама бинарных дистрибутивов, да.
Раньше профит от лисы был в том, что она быстрее хромого собиралась.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

383. Сообщение от Аноним (-), 13-Сен-21, 08:57   +/
Раст - это высокая мода.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #377 Ответы: #410

384. Сообщение от uis (ok), 13-Сен-21, 10:32   +/
В чём лучше?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #405

385. Сообщение от uis (ok), 13-Сен-21, 10:49   +/
Слышишь хруст?
Это ломаются спины растоманов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119

386. Сообщение от Аноним (386), 13-Сен-21, 12:30   +/
> недалёкого будущего

Будущего недалекого.

Fixed не благодарите

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

387. Сообщение от Аноним (-), 13-Сен-21, 14:37   +1 +/
>>> использовать для интринсиков устоявшиеся и легко гуглящиеся обозначения.
> ну, так можно пойти ещё крохопулечку дальше и использовать устоявшиеся и легко
> гуглящиеся языки...

Скорее, просто чесать об этом языком на опеннете ...


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

388. Сообщение от n00by (ok), 13-Сен-21, 15:57   –1 +/
>> Насколько я понял из рекламируемых особенностей языка,
> Где и кем рекламируемых?

В частности, здесь.

>> задача Rust как раз и состоит в том, что бы заменить специально обученного тютора с линейкой,
>> который бьёт по рукам. В подобном случае (если он не столь прост как данный) ошибка во время исполнения не обязательно будет отловлена тестами.
> Задача "не дать писать на любом ЯП как на сишке и с
> теми же ошибками" (т.е. как тут - игнорировать наличие итераторов и
> вместо каноничного "for elem in arr" и писать привычный из сишки

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

> костыль) - вряд ли выполнима даже с помощью кнута, не то
> что линейки.

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

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

389. Сообщение от Аноним (391), 13-Сен-21, 16:16   +3 +/
И как вегда ниочём. Виджетов не завезли, нормальных шаблонов не завезли, проектов не завезли. Только блаблабла
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #393

390. Сообщение от Аноним (-), 13-Сен-21, 16:26   +/
>>> Насколько я понял из рекламируемых особенностей языка,
>> Где и кем рекламируемых?
> В частности, здесь.

Т.е. внятного ответа не будет.


>> задача Rust как раз и состоит в том, что бы заменить специально обученного тютора с линейкой, который бьёт по рукам
> Задача статического анализа вышеприведённого кода решаема, с чем согласен ("На мой взляд
> информации достаточно") в том числе отвечавший на мой исходный вопрос. Не надо подменять его и приписывать мне заявления про "любой ЯП".

Любители "соломенных чучел" возмущаются "подменой тезиса"?

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

Значит наброс от n00by слишком уныл, все верно.

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

391. Сообщение от Аноним (391), 13-Сен-21, 17:18   +/
Толку от твоего выбора как и от раста.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #365

392. Сообщение от n00by (ok), 13-Сен-21, 17:26   +/
А, ты решил меня потроллить. В общем-то, предсказуемо. Вменяемых растоманов в темах по Rust меньше половины, к сожалению.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #390

393. Сообщение от Аноним (-), 13-Сен-21, 17:47   –2 +/
Нытьё формошлёпа очень важно для нас.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #389 Ответы: #394

394. Сообщение от Аноним (391), 13-Сен-21, 18:26   +4 +/
Ну да. Гораздо важнее очередная версия языка от балаболов на котором нет ни одного законченного и работающего продукта.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #393 Ответы: #396

396. Сообщение от Аноним (-), 13-Сен-21, 21:16   +/
> Ну да. Гораздо важнее очередная версия языка от балаболов на котором нет ни одного законченного и работающего продукта.

И какой же версии (и как вообще называется) твой ЯП, о самокритичный ты наш?


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

397. Сообщение от Аноним (397), 14-Сен-21, 01:08   –2 +/
Как вы себе представляете изменение логики оператора when с помощью библиотеки?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #378

400. Сообщение от Аноним (400), 14-Сен-21, 14:28   +/
rustup же ...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

401. Сообщение от Аноним (400), 14-Сен-21, 14:30   +/
Ну конечно если ужеж опыта много, то на кой переходить,
а если осточертело все это таскание библиотек с собой (все беру с собой),
то можно попробовать из коробке вкусно и тащит все, но
пока рановато экосистема пока сырая и если не готов сам что-то сделать,
а скорее всего не готов так как опыта нет, то это только изучать и начинать смотреть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

402. Сообщение от Аноним (400), 14-Сен-21, 14:31   +/
В Rust тоже не призывает никто, а призывают люди понимающие преимущество,
но я чет не очень понял там почти все под капотом уходит корнями в дырявый
рантайм, так что непонятно ну да верхушка такая вся надежная, а под капотом
все такое багованное, а своб систему они сделали ради привлечения внимания.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #203

404. Сообщение от BrainFucker (ok), 14-Сен-21, 21:40   +/
> Как будете компилировать eval()?

Такую функцию не обязательно реализовывать вообще.

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

405. Сообщение от Аноним (405), 14-Сен-21, 23:10   +/
Тем что она валится на меньшем количестве тестов чем предыдущая (где-то на треть).
Это является достаточной причиной для большинства пользователей.

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

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

406. Сообщение от uis (ok), 15-Сен-21, 08:20   +/
> Тем что она валится на меньшем количестве тестов чем предыдущая (где-то на
> треть).
> Это является достаточной причиной для большинства пользователей.

Мне картиночки смотреть надо, а не тестики гонять.

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

УМВР.

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

407. Сообщение от burjui (ok), 15-Сен-21, 12:54   +/
Ты его не переспоришь, ведь он не простой акробат, а умственный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #254

408. Сообщение от burjui (ok), 15-Сен-21, 13:14   +/
А ещё можно гвоздём на полу расчертить шахматную доску, а шашки из грязи слепить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #232

409. Сообщение от ГномоАмериканедц (?), 18-Сен-21, 03:53   +/
Уже столько лет смотрю на все это и никак не могу понять зачем этот раст нужен, а судя по синтаксису и непонятно чем заблобленому исходному коду - причина нужна железнейшая. Только искуственно создавать эти причины научились загаживая нормальные проекты хрустом. Деградация, а не будущее в светлом его понимании.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

410. Сообщение от Аноним (410), 19-Сен-21, 08:34   +/
> высокая

плавающая

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

411. Сообщение от Мимокрокодил (?), 03-Окт-21, 03:39   +/
> ни OpenSSl

Например, curl (так же как и firefox), давно уже использует Rustls.

> ни Gnome

внезапно
https://wiki.gnome.org/Hackfests/Rust2020
https://www.youtube.com/watch?v=zmrWdPI9R1o

Хром вовсю движется в том же направлении
https://security.googleblog.com/2021/09/an-update-on-memory-...

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

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

412. Сообщение от СССР (?), 11-Окт-21, 23:31   +/
1. если не уверен в своей внимательности используем умные указатели.
2. а как иначе не проверять?  ну разве что если человек пишет код в одну строчку.
3. можете кейс привести в каком случае не хватает типов в плюсах? если сравнивать с пхп то да )
4. макросами практический не пользуюсь, поэтому может и да, но макросы эт не ЯП
5. тут слово современный это значит хайпово?

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

413. Сообщение от СССР (?), 11-Окт-21, 23:41   +/
> Ага, появился ДВС - кучеры и конюхи сразу напряглись.

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

двигатель и колесо - для вас ходить не нужно и педали крутить
телевизор - путишевствовать не нужно
раст - думать не нужно

что вам еще не хватает для полного счастья?

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

414. Сообщение от СССР (?), 11-Окт-21, 23:46   +/
вы из крайности в крайности бросаетесь.
еще раз для тупоголового быдла ) если инструмен позволяет только упростить процесс создания чего либо - это хорошо.
если инструмент в чем то упрощает труд но в чем то ограничивает (пример  водолазный скафандр для охотника, да мошкара не кусает, но передвигаться становится не удобно) а так же если инструмент в последствии становится частью продукта - это не очень хорошо.

надеюсь понятно объяснил.

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

415. Сообщение от СССР (?), 11-Окт-21, 23:48   +/
для этого существуют фрэймворки
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #276

417. Сообщение от СССР (?), 12-Окт-21, 00:16   +/
вы в корне не понимаете суть. или не хотите понимать
если требуется "ограничит" сотрудника в команде разработки - используем фрэймворк (про любой язык)
если ноги вечно обстреленные - используем умные указатели (если говорим о недостатках си)

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

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

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

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

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


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

418. Сообщение от uis (ok), 26-Окт-21, 13:16   +/
PowerPC, а не POWER. Первый - урезанная версия второго.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #189

420. Сообщение от Rosalinaemail (?), 28-Сен-22, 13:24   +/
Профессиональное, качественное, недорогое  фотометр КФК-3-01 в РФ
Ответить | Правка | Наверх | Cообщить модератору

421. Сообщение от Dongemail (?), 29-Сен-22, 09:26   +/
Профессиональное, качественное, недорогое заказать фотометр КФК-3-01
Ответить | Правка | Наверх | Cообщить модератору

422. Сообщение от Jessikaemail (?), 02-Окт-22, 01:40   +/
Кчественные спектрофотометры в РФ
Ответить | Правка | Наверх | Cообщить модератору


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

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




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

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