The OpenNET Project / Index page

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



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

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

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

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

Оглавление

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

1. Сообщение от Аноним (1), 26-Мрт-21, 13:52   –31 +/
просто лучший ЯП (сарказм)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #144, #300

2. Сообщение от InuYasha (??), 26-Мрт-21, 13:53   –1 +/
fn main()
aaaargh! Думал, хоть в расте заставят писать полноценные заголовки с (void), но нет! >:(
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #18

3. Сообщение от Аноним (5), 26-Мрт-21, 13:54   +6 +/
Хороший релиз
Долгих лет жизни языку
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14, #166

5. Сообщение от Аноним (5), 26-Мрт-21, 13:56   +15 +/
А почему сарказм?
Нельзя сказать, что он прям лучший среди языков (спойлер: таких нет, каждому свое, и на каждую задачу свое). Но, без сомнения, он хороший и перспективный, признан крупными компаниями, пятый год получает звание самого любимого языка на stackoverflow.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #21, #42, #69, #175

6. Сообщение от Аноним (6), 26-Мрт-21, 13:57   –9 +/
Зачем они пишут копию плюсов? Не хотят учить плюсы?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #17, #99, #162

7. Сообщение от Аноним (5), 26-Мрт-21, 13:57   +1 +/
Это шутка?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #46

8. Сообщение от Аноним (8), 26-Мрт-21, 13:57   –3 +/
Забавный факт: в арчике пакет rust 1.50 весил 567мб, а 1.51 — 496мб. Доколе его вес будет так штормить?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12, #13, #15

9. Сообщение от Аноним (5), 26-Мрт-21, 13:58   +4 +/
Как плюсовик, могу сказать, что Раст не копия плюсов, спроектирован лучше и без тонны легаси, мешающие развитию языка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #22

10. Сообщение от Аноним (10), 26-Мрт-21, 13:59   +8 +/
// Раньше для перебора
for item in array.iter().copied() {

// Теперь можно указать
for item in std::array::IntoIter::new(array) {

Помоему язык развивается в противоположенную от упрощения сторону.


Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #54, #107, #197

11. Сообщение от Аноним (5), 26-Мрт-21, 14:01   –3 +/
Норм
for item in array.iter().copied() {
for item in IntoIter::new(array) {

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

12. Сообщение от Alladin (?), 26-Мрт-21, 14:01   –3 +/
Ставь rustup и не морочь мозги.

Да и ты сравниваешь не размер package, а его разжатый вид:)

Размер package: 80мб.

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

13. Сообщение от data man (ok), 26-Мрт-21, 14:02   +2 +/
clang + все зависимости не штормят?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #20

14. Сообщение от Аноним (14), 26-Мрт-21, 14:03   +8 +/
Долгих лет жизни и большого объема памяти проекту!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #49

15. Сообщение от A.Stahl (ok), 26-Мрт-21, 14:03   +8 +/
Предлагаю округлить до 1 ГиБ и искусственно поддерживать это значение чтобы анонимы не пугались шторма. Их укачивает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #23, #110

16. Сообщение от Аноним (16), 26-Мрт-21, 14:05   +3 +/
foreach (var item in array)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

17. Сообщение от Аноним (17), 26-Мрт-21, 14:05   +1 +/
Какая же это копия плюсов? Классов у них, я так понял, нет. Можно структуры, но там полная опа с наследованием.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #64

18. Сообщение от eganru (?), 26-Мрт-21, 14:08   +3 +/
[i]fn main()
aaaargh! Думал, хоть в расте заставят писать полноценные заголовки с (void), но нет! >:([/i]
в Си:
при объявлении прототипа функции:
- функция c аргументом void подразумевает, что у функции нет аргументов.
- функция с пустые скобки аргументом подразумевает, что у функции произвольное число любых аргументов.

Очень часто люди, чтобы не путаться(особенно в сложных) при написании прототипа копируют имя функции и ее описание - вот Вам и прототип.

Естественно для пустые скобки в прототипе или void в прототипе это очень разные вещи.

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

19. Сообщение от Аноним (8), 26-Мрт-21, 14:11   +3 +/
Я же пользуюсь растом в разжатом виде. Зачем мне обращать внимание на размер архива? ¯\_(ツ)_/¯
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

20. Сообщение от Аноним (8), 26-Мрт-21, 14:12   +1 +/
Не знаю. Но gcc в порядке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

21. Сообщение от Урри (ok), 26-Мрт-21, 14:13   +20 +/
Сомнительное достижение быть "самым любимым" языком на площадке "я что-то делаю, а оно не работает, подскажите как правильно". Перед этим самым любимым языком на стековерфлоу был джаваскрипт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #60, #83

22. Сообщение от Урри (ok), 26-Мрт-21, 14:14   +2 +/
Уже с тонной заплаток поверх уже легаси.
Каждый релиз новые заплатки. Через годик два он станет намного, намного хуже плюсов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #62

23. Сообщение от Аноним (8), 26-Мрт-21, 14:15   +/
По-твоему это совершенно нормально, что плагин к LLVM весит примерно столько же, сколько clang + llvm-libs + llvm?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #119

24. Сообщение от Филимон Осмотрительный (?), 26-Мрт-21, 14:15   +17 +/
for (auto item : array)
{}

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

Почему злой и страшный С++ выглядит удобнее и понятнее Rust ?


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

25. Сообщение от White Crow (?), 26-Мрт-21, 14:17   +15 +/
Для тех, кому ненужен низкоуровневый доступ, есть Go.

Для чего форсят это ржавое убожество, мне совершенно непонятно.

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

26. Сообщение от Анонимemail (26), 26-Мрт-21, 14:17   +/
Если Rust и Go лучшие языки программирования, почему Firefox и Chrome сделаны на c++?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27, #28, #35, #265

27. Сообщение от Fracta1L (ok), 26-Мрт-21, 14:20   –5 +/
Из первого С++ уже выпиливают, из второго - планируют
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #31, #36, #37, #88, #90, #92

28. Сообщение от Аноним (-), 26-Мрт-21, 14:24   +7 +/
> Если Rust и Go лучшие языки программирования, почему Firefox и Chrome сделаны на c++?

Если C++ такой крутой ЯП, то почему OpenNet на Perl?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #38, #41, #52, #142, #160

29. Сообщение от Аноним (29), 26-Мрт-21, 14:25   –2 +/
Сейчас налетят растохейтеры
Ответить | Правка | Наверх | Cообщить модератору

31. Сообщение от Аноним (14), 26-Мрт-21, 14:25   +2 +/
Нужно будет запланировать докупить оперативочки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

32. Сообщение от Аноним (-), 26-Мрт-21, 14:25   +1 +/
Просто ты упоротый технарь и совсем не понимаешь, что в айти решает бабло, а не технологии.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #43, #101, #113

33. Сообщение от DildoZilla (?), 26-Мрт-21, 14:26   +/
Даёшь Rust++ с обобщёнными асинхронными абстрактными шаблонами полиморфных классов!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #174

34. Сообщение от Урри (ok), 26-Мрт-21, 14:27   +1 +/
Очередные заплатки к очередным граблям.

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

Вот почему бы расту не сделать было так? Почему бы не изучить ошибки D, например? Нет, они сваяли на коленке какую-то поделочку и теперь с завидной ослиной упорностью обвешивают ее очередными заплатками.

> Стабилизированы макосы "ptr::addr_of!" и "ptr::addr_of_mut!", позволяющие создавать raw-указатели для невыровненных полей.

Не прошло и, сколько, 14 лет для полноценной имплементации такой базовейшей вещи?

Кстати, растаманы. А не подскажете зачем макросы выделять отдельно от функций значком "!"? Какая в этом практическая польза, помнить что макрос а что нет? А то у меня только один вред в голове возникает - кроме названия метода почему-то обязательно запоминать макрос он или нет.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #51, #53, #56, #58, #74

35. Сообщение от Аноним (35), 26-Мрт-21, 14:27   +4 +/
Потому что уже сделаны
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

36. Сообщение от Урри (ok), 26-Мрт-21, 14:28   +4 +/
Бхахахахах. Пока что выпилили сам раст, на мороз.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

37. Сообщение от Филимон Проницательный (?), 26-Мрт-21, 14:28   +1 +/
Вот Столлмана выпиливают из фонда СПО ... Если что-то откуда-то выпиливают, это, не факт, что к добру.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

38. Сообщение от Урри (ok), 26-Мрт-21, 14:29   +/
Потому что перл лучше с++. А ты не знал?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

39. Сообщение от th3m3 (ok), 26-Мрт-21, 14:29   +/
Есть уже что-то типо Django на Rust?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #47, #79, #94

40. Сообщение от Аноним (40), 26-Мрт-21, 14:29   +/
Есть какой-нибудь софт на расте?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #45, #50, #59

41. Сообщение от Филимон Проницательный (?), 26-Мрт-21, 14:31   +1 +/
Perl отличный язык и не менее крут чем С++. А после того, как все гвнкдры свалили с него в PHP, так вообще сказка
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #93

42. Сообщение от Аноним (42), 26-Мрт-21, 14:39   +1 +/
Потому что Раст он как морская свинка. Не имеет никакого отношения ни к безопасности ни к скорости. Поэтому растофанатики придумывают какие-то аморфные плюсы типа «любимый» язык на стековефлоу (что это за бред такой?).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

43. Сообщение от White Crow (?), 26-Мрт-21, 14:40   +2 +/
А ты, я смотрю, философ.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

44. Сообщение от Аноним (42), 26-Мрт-21, 14:42   +/
Разработчики чтобы показать хоть какие-то улучшения в языке следующиую версию выпустят 152.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #278

45. Сообщение от Аноним (42), 26-Мрт-21, 14:44   –2 +/
Нету, совсем, от слова ващщщще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

46. Сообщение от InuYasha (??), 26-Мрт-21, 14:44   –2 +/
да.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #98

47. Сообщение от Аноним (42), 26-Мрт-21, 14:44   +2 +/
Лол язык не для этого он чтобы хвасаться, а не работать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #75

48. Сообщение от боня (?), 26-Мрт-21, 14:44   +/
к плюсам не из-за этого претензии
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #55

49. Сообщение от InuYasha (??), 26-Мрт-21, 14:45   +1 +/
Это значит, что он тормозной и жручий по памяти?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #73, #127, #244

50. Сообщение от боня (?), 26-Мрт-21, 14:51   +2 +/
Смотрите на

https://github.com/rust-unofficial/awesome-rust

Там в основном библиотеки, но оттуда можно по гитхабам походить и посмотреть, что на расте написано

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

51. Сообщение от Аноним (51), 26-Мрт-21, 14:52   +/
Тогда когда язык сам ничего не позволяет приходится пихать в него все возможные API и макросы чтобы хоть что-то на нем писать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

52. Сообщение от kusb (?), 26-Мрт-21, 14:53   +/
А UTF лучше КОИ8?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #78

53. Сообщение от боня (?), 26-Мрт-21, 14:53   +/
> Какая в этом практическая польза, помнить что макрос а что нет?

да

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

54. Сообщение от Аноним (54), 26-Мрт-21, 14:55   +/
// Раньше для перебора
for item in array.iter().copied() {

// Теперь можно указать
for item in array.iter().copied() {
ИЛИ
for item in std::array::IntoIter::new(array) {

Поправил, не благодари.

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

55. Сообщение от Кир (?), 26-Мрт-21, 14:55   +4 +/
Сколько ни спрашивал, все либо затрудняются сформулировать претензии к C++, либо несут ахинею. С учётом последних нововведений, C++ рулит и педалит остальные ЯП почти во всех областях применения.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #100, #109, #111

56. Сообщение от Аноним (56), 26-Мрт-21, 14:56   +5 +/
> учтя все его проявившиеся грабли, возможно, действительно станет заменой монструозному с++

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

> Кстати, растаманы. А не подскажете зачем макросы выделять отдельно от функций значком "!"? Какая в этом практическая польза, помнить что макрос а что нет? А то у меня только один вред в голове возникает - кроме названия метода почему-то обязательно запоминать макрос он или нет.

Гугли про гигиеничность макросов. У Rust гигиеничные макросы, в отличие от C или C++. Восклицательный знак не имеет прямого отношения к гигиеничности, но это просто часть здоровой взрослой практики: отделять вызов макроса от вызова функции, потому что семантически это разные вещи, а если выдавать одно за другое, это может приводить к неверной интерпретации кода программистом.

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

58. Сообщение от Аноним (58), 26-Мрт-21, 15:01   +1 +/
>  А не подскажете зачем макросы выделять отдельно от функций значком "!"? Какая в этом практическая польза, помнить что макрос а что нет?

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

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

59. Сообщение от Аноним (56), 26-Мрт-21, 15:04   +/
Очень много консольных утилит: ripgrep, bat, fd и т.д.

Большого софта с нуля на расте пока нет, но большой софт вообще редко появляется с нуля в наше время - чаще Rust встраивают в существующую кодовую базу. Компоненты на Rust есть в Firefox, Brave, Discord (как на клиенте, так и на сервере), VSCode и множестве другого софта. Значительная часть гугловой операционной системы Fuchsia написана на расте.

Плюс многие новые сервисы конторами, вроде Amazon, Cloudflare, Google и т.д., пишутся на расте.

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

60. Сообщение от SlackJiralove (?), 26-Мрт-21, 15:07   +1 +/
А в каком году JavaScript был самым любимым языком по мнению опрашиваемых посетителей Stackoverflow?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #305

61. Сообщение от Аноним (40), 26-Мрт-21, 15:08   –2 +/
Глянул - калькуляторы, враперы к Си либам, vim-клоны и прочее дерьмо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

62. Сообщение от SlackJiralove (?), 26-Мрт-21, 15:10   +2 +/
Аргументы в студию.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #198

63. Сообщение от Аноним (65), 26-Мрт-21, 15:13   +/
>> Значительная часть гугловой операционной системы Fuchsia написана на расте.

Вот откуда вы берете весь этот бред. Еще и «значительная» часть. Кто-то завендорил несколько библиотек и их зависимости не больше.

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

64. Сообщение от Аноним (64), 26-Мрт-21, 15:14   +/
> Можно структуры, но там полная ООПа с наследованием.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

65. Сообщение от Аноним (65), 26-Мрт-21, 15:15   –2 +/
Болезный сам перейди по своей ссылке и посмотри что это за софтины. Это нелепая показуха для хомячков. В MeeGo раньше таже каждую читалку рсс ленты одного сайта называли приложением и говорили: «Смотрите сколько у нас  много приложений! Для каждого сайта своё!»
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #250, #302

66. Сообщение от Урри (ok), 26-Мрт-21, 15:17   –2 +/
> Язык спроектирован так, что может позволять себе удалять устаревшие и плохо спроектированные фичи без потери обратной совместимости.

То-есть я могу свободно собрать и запустить код десятилетней давности? Ню-ню.

> Гугли про гигиеничность макросов. У Rust гигиеничные макросы, в отличие от C или C++. Восклицательный знак не имеет прямого отношения к гигиеничности

Зачем гуглить гигиеничность, если гигиеничность к расту отношения не имеет? В свою очередь предлагаю погуглить то же самое по отношению к древней-предревней scheme. Вот там "!" действительно очень важен в контексте кода.


> но это просто часть здоровой взрослой практики: отделять вызов макроса от вызова функции, потому что семантически это разные вещи

Что-что семантически разные вещи? write и writeln! - семантически разные вещи? Муа-ха-ха-ха-ха-ха-ха!


> а если выдавать одно за другое, это может приводить к неверной интерпретации кода программистом.

Чем write отличается от writeln!, что без восклицательного знака ты как программист неверно проинтерпретируешь код? Ничем.

В scheme, на которую я выше кивал, это действительно важно. Потому что в первую очередь язык функциональный и поощряет функциональное программирование где, на секунду, чистота функций очень важна. Потому что чистые функции можно вычислять в любом порядке и любым количеством, а нечистые - нельзя. Поэтому в схеме set! с восклицательным знаком (чтобы не забывали), а let - без.

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

67. Сообщение от Аноним (56), 26-Мрт-21, 15:17   –1 +/
https://www.reddit.com/r/rust/comments/k9r3s4/fuchsia_lines_.../

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

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

68. Сообщение от Урри (ok), 26-Мрт-21, 15:20   –1 +/
> Потому что макросы принимают аргументами кастомный синтаксис, и творят с ним магию
> кодгена.
> Полезнее сразу видеть, где в коде творится магия (макросы очень мощная штука)

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

Рекомендую почитать "Совершенный код" Макконела. Очень рекомендую.
https://ru.pdfdrive.com/%D0%A1%D0%BE...

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

69. Сообщение от garrick (?), 26-Мрт-21, 15:21   +7 +/
А по TIOBE его даже FORTRAN и COBOL обгоняют
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #70, #270

70. Сообщение от garrick (?), 26-Мрт-21, 15:22   +/
https://www.tiobe.com/tiobe-index//
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

71. Сообщение от Урри (ok), 26-Мрт-21, 15:22   –1 +/
> Смотрите на
> https://github.com/rust-unofficial/awesome-rust

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

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

72. Сообщение от Аноним (56), 26-Мрт-21, 15:22   +/
> гигиеничность к расту отношения не имеет

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

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

73. Сообщение от НяшМяш (ok), 26-Мрт-21, 15:22   –1 +/
Нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #289

74. Сообщение от НяшМяш (ok), 26-Мрт-21, 15:28   +3 +/
> Не прошло и, сколько, 14 лет для полноценной имплементации такой базовейшей вещи?

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

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

75. Сообщение от НяшМяш (ok), 26-Мрт-21, 15:31   +/
Ждём примеров на C и С++
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #104

76. Сообщение от Урри (ok), 26-Мрт-21, 15:31   –3 +/
Слив, как говорится, засчитан.

Смею предположить, что из-за этого вот моего вопроса:

>> это просто часть здоровой взрослой практики: отделять вызов макроса от вызова функции, потому что семантически это разные вещи
> write и writeln! - семантически разные вещи?

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

77. Сообщение от Урри (ok), 26-Мрт-21, 15:32   –2 +/
Подажжи, ведь раст замена с++. А значит раст оперирует с указателями. А указатели всегда могут быть не выравнены.

Получается, раст не замена плюсам. Раст замена, ну я не знаю, джаваскрипту?

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

78. Сообщение от Аноним (78), 26-Мрт-21, 15:33   –1 +/
Хуже. Имя файла в два раза короче.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #128

79. Сообщение от Аноним (79), 26-Мрт-21, 15:34   +/
actix-web
rocket
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

80. Сообщение от Урри (ok), 26-Мрт-21, 15:34   –1 +/
Там автор сразу исправился, выкинув совершенно лишние сердпати депенденси. Картина сразу стала не такой радужной.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #86

82. Сообщение от НяшМяш (ok), 26-Мрт-21, 15:39   +1 +/
А кто сказал что этого нельзя было делать раньше? Открываем ту же ссылочку по add_of! и читаем.

> Create a const raw pointer to a place, without creating an intermediate reference.

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

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

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

83. Сообщение от Аноним (83), 26-Мрт-21, 15:40   +8 +/
>Сомнительное достижение быть "самым любимым" языком на площадке "я что-то делаю, а оно не работает, подскажите как правильно".

На ЛОРе его тоже любят. Каждый тред про Rust -- лютый срач.

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

84. Сообщение от Аноним (84), 26-Мрт-21, 15:41   +3 +/
Умнее слиться в споре, где побеждают не аргументами и здравым смыслом, а напором и аппеляцией к одобрению большинства местной аудитории :)

А вопрос я проигнорил, потому что он непонятен. В-первых, неточен. Под write понимается std::io::Write::write или может std::fs::write? В любом случае, если ты имел в виду какую-то фнкцию, то да, это совершенно разные вещи, потому что, макрос и функция - это разные вещи (внезапно).

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

85. Сообщение от Аноним (88), 26-Мрт-21, 15:44   +4 +/
> получила статус минимально жизнеспособного

Собственно всё что вы хотели знать о Rust но боялись спросить.

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

86. Сообщение от Аноним (84), 26-Мрт-21, 15:46   +/
Можно тогда и само микроядро на плюсах выкинуть и расчетов - его тоже не гугл написал :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

88. Сообщение от Аноним (88), 26-Мрт-21, 15:47   +2 +/
> Из первого С++ уже выпиливают, из второго - планируют

Нет, и в мыслях ни у кого небыло и не будет.

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

89. Сообщение от Аноним (89), 26-Мрт-21, 15:49   +1 +/
А зачем ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53 Ответы: #161

90. Сообщение от пакемон (?), 26-Мрт-21, 15:49   +/
> Из первого С++ уже выпиливают, из второго - планируют

У тебя опять памяти не хватило или раст рухнул?

Падать твоё гавно уже перетало? Утечки починили?

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

Эпик фейл года, падает не прога криво написанная на языке, а падает сам язык. Вер безопасности.

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

92. Сообщение от spell checker (?), 26-Мрт-21, 15:53   –1 +/
> Из второго Rust уже выпиливают, в первом - не планируют внедрять.

Поправил. Не благодари.


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

93. Сообщение от spell checker (?), 26-Мрт-21, 15:55   +/
> Perl отличный язык и не менее крут чем С++. А после того,
> как все гвнкдры свалили с него в PHP, так вообще сказка

Истина

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

94. Сообщение от Аноним (94), 26-Мрт-21, 15:57   +/
Нет. Есть actix, hyper, ntex но они по уровню абстракции как golang примерно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

95. Сообщение от Аноним (95), 26-Мрт-21, 16:04   +2 +/
Не знаток Rust, но учитывая его работу с памятью, предположу, что макросы и функции просто обязаны прямо отличаться.
Функция определяет новую область видимости, нужно специально следить за владением передаваемых и возвращаемых параметров. Макрос просто подставляет код макроса в текущую область видимости не влияя на владение. Плюс возможности макросов шире чем у функций.
Из приведенного примера с writeln вопрос почему это макрос, видимо в том, что в коде он автоматом преобразуется в два вызова write или один с добавлением к аргументу \n, а не обертки функции перекладывающие значения по стеку туда и обратно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #145

96. Сообщение от Аноним (96), 26-Мрт-21, 16:14   +1 +/
А с мысл? Чтобы оказаться там-же где и все прочие убийцы C/C++? На свалке времён?

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

Очердной убийца? Т.е. тот который самоубьётся апстену?

Хоть синтаксис бы оставили привычный большенствую языков. И терминалогию. А то отсебятина сексуального меншинства прямо.

Конечно, прыщавому васяну из компании два васяна продакшен виднее.

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

97. Сообщение от Аноним (-), 26-Мрт-21, 16:21   +/
>> в коде аналог сишного
>> fprintf(stderr,"что-то пошло совсем не так! капец!"); exit(1);
> Эпик фейл года, падает не прога криво написанная на языке, а падает
> сам язык.

Эпик обсер года от очередного "Ыксперта".

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

98. Сообщение от Леголасemail (ok), 26-Мрт-21, 16:28   +1 +/
aaaargh! nope
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

99. Сообщение от Аноним (-), 26-Мрт-21, 16:29   –1 +/
Куда этому поделию до плюсов. Ты чего ? Тут вон итераторы к семнадцатому году подвезли, радуйся :D
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #121

100. Сообщение от Аноним (-), 26-Мрт-21, 16:31   +/
Нововведения убили плюсы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

101. Сообщение от Аноним (-), 26-Мрт-21, 16:32   +6 +/
про технаря ты погорячился
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

102. Сообщение от Аноним (-), 26-Мрт-21, 16:33   +1 +/
> Приблезительно через равный промежуток времени появляется очередная порция подростков
> неосиляторов. Для которых всё сложно и непонятно и оуни начинают велосипедить свои истинно верные убийцы С/С++.

Graydon Hoare и Brendan Eich - подростки-неосиляторы? Вот оно че!


> Конечно, прыщавому васяну из компании два васяна продакшен виднее.

Какой ты самокритичный.

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

103. Сообщение от gcc (??), 26-Мрт-21, 16:34   –2 +/
>>> в коде аналог сишного
>>> fprintf(stderr,"что-то пошло совсем не так! капец!"); exit(1);
>> Эпик фейл года, падает не прога криво написанная на языке, а падает
>> сам язык.
> Эпик обсер года от очередного "Ыксперта".

Обделался :D fprintf не упал, exit не упал. Хаааа. Rustтун ыкпыртызыт си оборжатся.

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

104. Сообщение от Аноним (-), 26-Мрт-21, 16:35   –1 +/
Прикола ради - ты хоть пытался искать ? Этого г-на на самом деле хоть отбавляй.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #114

105. Сообщение от gcc (??), 26-Мрт-21, 16:35   –1 +/
>>>> в коде аналог сишного
>>>> fprintf(stderr,"что-то пошло совсем не так! капец!"); exit(1);
>>> Эпик фейл года, падает не прога криво написанная на языке, а падает
>>> сам язык.
>> Эпик обсер года от очередного "Ыксперта".
> Обделался :D fprintf не упал, exit не упал. Хаааа. Rustтун ыкпыртызыт си
> оборжатся.

Ой, в слове "ыкпыртызыт" пропустилось "с". Должно быть "ыкcпыртызыт" - это раст с памятью поработал.

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

106. Сообщение от боня (?), 26-Мрт-21, 16:36   +/
> А с мысл? Чтобы оказаться там-же где и все прочие убийцы C/C++?
> На свалке времён?

Никто ваш c++ не заберёт, не волнуйтесь так.

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

107. Сообщение от Чума (?), 26-Мрт-21, 16:38   +3 +/
for i in array {
  // ...
}
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

108. Сообщение от Аноним (108), 26-Мрт-21, 16:39   +1 +/
>>>> panic!("OOB");
>>>> Macro std::panic
>>>> This allows a program to terminate immediately and provide feedback to the caller of the program. panic! should be used when a program reaches an unrecoverable state.
>>>> в коде аналог сишного
>>>> fprintf(stderr,"что-то пошло совсем не так! капец!"); exit(1);
> Обделался :D fprintf не упал, exit не упал. Хаааа. Rustтун ыкпыртызыт си
> оборжатся.

Сам написал бессмылицу, сам ее оспорил. Ыксперд, че.

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

109. Сообщение от Аноним (109), 26-Мрт-21, 16:48   –4 +/
Недавно на хабре видел статью человека, который устал пытаться писать на C++ без UB. Я пытался писать без UB, устал и забил. Теперь с покерфейсом пишу код с UB, потому что так и не нашел куда спрыгнуть. Человек, который не увидит в следующей функции UB, за которое ОСь может прибивать программу, не должен допускаться до C++.

size_t count_spaces(const std::string& str)
{
    size_t ret = 0;
    for (char c: str)
    {
        if (std::isspace(c))
            ++ret;
    }
    return ret;
}

Спойлер UB есть в описании isspace на en.cppreference.com

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #123, #133, #135, #163, #260

110. Сообщение от Последний из могикан (?), 26-Мрт-21, 16:53   +/
До ff жрущего 600-800мб привыкли и до этого тоже привыкнут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #117, #291

111. Сообщение от боня (?), 26-Мрт-21, 16:56   +6 +/
> Сколько ни спрашивал, все либо затрудняются сформулировать претензии к C++.

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

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

112. Сообщение от Аноним (316), 26-Мрт-21, 16:56   +/
> C/C++

Один язык хорошо, а два лучше!

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

113. Сообщение от Gemorroj (ok), 26-Мрт-21, 17:00   +7 +/
go и технарь в 1 предложении? молодежь совсем оборзела.
гугель и go - это не бабло, а мозила и раст - это бабло? яснопонятно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #136

114. Сообщение от Аноним (114), 26-Мрт-21, 17:04   –1 +/
Искать для растофанатика, ты что матюгнулся так? Настоящие растофанатики не в состоянии заняться поиском в силу умственных способностей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104

115. Сообщение от Аноним (114), 26-Мрт-21, 17:05   +/
И много говнософта уже написал на языке zig?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #116

116. Сообщение от Аноним (316), 26-Мрт-21, 17:08   –2 +/
У тебя там память не течёт, сисишник?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115 Ответы: #118, #179

117. Сообщение от Аноним (-), 26-Мрт-21, 17:13   –1 +/
Не надо, палемун на системе с 512Мб на борту в три браузера по десятке вкладок шевелит только в путь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

118. Сообщение от Аноним (-), 26-Мрт-21, 17:14   +1 +/
А у тебя уже занчилась ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116

119. Сообщение от Конь (?), 26-Мрт-21, 17:18   +1 +/
Это наверное со всеми зависимостями и исходниками, а сам раст весит около 5Mb
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

120. Сообщение от Аноним (-), 26-Мрт-21, 17:21   –1 +/
> https://github.com/rust-unofficial/awesome-rust

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

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

121. Сообщение от Аноним (121), 26-Мрт-21, 17:23   +3 +/
жыр с монитора потек
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99

123. Сообщение от Онаним (?), 26-Мрт-21, 17:32   +3 +/
Ну в принципе ожидаемо. Особенно на хабре, как раз тот уровень.
Называется: надо читать описания-то.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #132

124. Сообщение от Онаним (?), 26-Мрт-21, 17:33   +/
Полиморфные указатели на абстракции от структур :D
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #111 Ответы: #126

125. Сообщение от пох. (?), 26-Мрт-21, 17:34   +1 +/
Я одного только не пойму - вы эти бредовые заклинания "std::array::IntoIter::new" наизусть вызубрили все стопиццоттыщ, или каждый раз гуглите когда надо просто перебрать массив?

(нет, array.iter().copied() ничем не лучше, разумеется)

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

126. Сообщение от Онаним (?), 26-Мрт-21, 17:34   +/
(всерьёз воспримется только теми, кто понимает, как оно внутри работает)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124

127. Сообщение от Конь (?), 26-Мрт-21, 17:39   +/
По потреблению памяти он на уровне C/C++
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #159

128. Сообщение от Онаним (?), 26-Мрт-21, 17:43   +1 +/
С чего бы это, если оно латиницей и цифрами?
Ну и да, запиши мне な в KOI8.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #173

129. Сообщение от еманйам (?), 26-Мрт-21, 17:44   –1 +/
как язык раст то может и ничего..
но я вот думаю: настанет момент, и всякие редхаты с мозиллами, укажут Линусу на дверь: уж слишком он харизматичен.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #181, #192

131. Сообщение от _ (??), 26-Мрт-21, 17:50   +1 +/
Ну как же нет большого софта)

Возьмём криптовалюты - Polkadot, Kusama, прочие - все написаны на Rust, на фреймворке https://github.com/paritytech/substrate/

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

132. Сообщение от Аноним (109), 26-Мрт-21, 17:59   +1 +/
А поделитесь своими ощущениями от чтения стандарта по плюсам во время написания программы? Или вы даже из тех, кто помнит его наизусть, учитывая намек на разницу уровней? А то мой потолок - это стандарт чистых сей. При чтении плюсового, даже не всегда могу понять правильно ли понял прочитанное.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123 Ответы: #143, #164, #167

133. Сообщение от Филимон Мудрый (?), 26-Мрт-21, 18:02   +1 +/
UB - само по себе не плохо и не хорошо. Это не ошибка. UB - это когда определяет не стандарт, а реализация.

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

Конкретно в вашем примере, нужно просто прочитать документацию к isspace. Ещё можно почитать почему так сделано (что это даёт взамен)

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

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


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

134. Сообщение от Sw00p aka Jerom (?), 26-Мрт-21, 18:08   –1 +/
foreach ($arr as $key => $value)
{
}

куда "красивее", пхпешники поддержат :)

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

135. Сообщение от Кир (?), 26-Мрт-21, 18:10   +3 +/
А для кого приведен пример на том же cppreference?


int count_spaces(const std::string& s)
{
    return std::count_if(s.begin(), s.end(),
                         [](unsigned char c){ return std::isspace(c); } // correct
                        );
}

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

136. Сообщение от White Crow (?), 26-Мрт-21, 18:14   –1 +/
>go и технарь в 1 предложении?

Я на этом на пишу, если что.

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

137. Сообщение от Урри (ok), 26-Мрт-21, 18:14   +/
Хм, непонятен вопрос "чем write и writeln! семантически разные вещи?".
Ну ок.

> Под write понимается std::io::Write::write или может std::fs::write...?

Совершенно без разницы, потому что _семантически_ эти функции ничем не отличаются.

Разговор шел и идет о том, что в расте была введена (и до сих пор используется) бессмысленная и, по большому счету, вредная сущность "!", как обозначение макросов.

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

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

Так было во времена лиспа, так осталось в современные времена.

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

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

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

Характерный пример: write - печать, writeln! - печать с переводом строки. Программисту надо знать только одно - что эти функции делают, ему не надо знать как эта функция реализована в библиотеке - макросом, функцией, на ассемблере или через виртуальную машину. Ему надо только знать что эта функция делает и настолько эффективно.

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

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

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

138. Сообщение от Аноним (138), 26-Мрт-21, 18:20   +/
Просто кури https://doc.rust-lang.org/std/index.html
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125 Ответы: #171, #221

139. Сообщение от Аноним (138), 26-Мрт-21, 18:20   –1 +/
Зачем сборщик мусора на уровне низком уровне?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #140

140. Сообщение от Аноним (138), 26-Мрт-21, 18:21   +/
Go и системщина не очень совместимы)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139 Ответы: #178

141. Сообщение от Аноним (138), 26-Мрт-21, 18:22   +/
Почему же? Все новости об обратном говорят.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92

142. Сообщение от Аноним (138), 26-Мрт-21, 18:22   +/
Потому что opennet желтый) и духом из 90х))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #264

143. Сообщение от Кир (?), 26-Мрт-21, 18:23   +2 +/
Читать стандарты надо, в общем-то, ДО написания программы. Простая аналогия: если ты словарь и грамматику китайского, скажем, языка начнешь читать только во время общения на оном, то много не наобщаешь, поверь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132 Ответы: #148

144. Сообщение от VINRARUS (ok), 26-Мрт-21, 18:30   –1 +/
после shell
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

145. Сообщение от Урри (ok), 26-Мрт-21, 18:35   –1 +/
> Функция определяет новую область видимости, нужно специально следить за владением передаваемых
> и возвращаемых параметров. Макрос просто подставляет код макроса в текущую область
> видимости не влияя на владение.
> Из приведенного примера с writeln вопрос почему это макрос, видимо в том,
> что в коде он автоматом преобразуется в два вызова write...

Другими словами "макрос не влияя на владение параметров преобразуется в два вызова влияющих на владение параметров функций". Таким образом прямо противореча задекларированному.

Как видите, вы ошиблись. Это не так.

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

146. Сообщение от Урри (ok), 26-Мрт-21, 18:38   –2 +/
Фигня какая-то получается.

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

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

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

147. Сообщение от Урри (ok), 26-Мрт-21, 18:39   –2 +/
А забавно какой-то растафанатик пробежался по всем этим абсолютно правдивым комментариям. Подгорает, видимо, не слабо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120 Ответы: #251, #266

148. Сообщение от Аноним (109), 26-Мрт-21, 18:41   +/
А те, кто не видят проблем в C++, стандарт читали? Запомнить я его не смог, перечитывать каждый раз запарился. Где чудо богатыри, которые могут выйти и сказать: "Пишу на C++ без UB, проблем никаких". Я от стандарта плюсов даже 2003 года помню сильно меньше половины. В основном то, что с сями пересекается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #143 Ответы: #154, #157

149. Сообщение от Урри (ok), 26-Мрт-21, 18:43   +2 +/
Я открыл глянуть в код.
--cut--
pub struct LightStorage<Block: BlockT> {
  db: Arc<dyn Database<DbHash>>,
  meta: RwLock<Meta<NumberFor<Block>, Block::Hash>>,
  cache: Arc<DbCacheSync<Block>>,
  header_metadata_cache: Arc<HeaderMetadataCache<Block>>,

  #[cfg(not(target_os = "unknown"))]
  io_stats: FrozenForDuration<kvdb::IoStats>,
}
...
fn number(&self, hash: Block::Hash) -> ClientResult<Option<NumberFor<Block>>> {
  if let Some(lookup_key) = block_id_to_lookup_key::<Block>(&*self.db, columns::KEY_LOOKUP, BlockId::Hash(hash))? {
    let number = utils::lookup_key_to_number(&lookup_key)?;
      Ok(Some(number))
  } else {
    Ok(None)
  }
}

--cut--

И эти люди хейтят с++. Хых.

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

151. Сообщение от Урри (ok), 26-Мрт-21, 18:47   +/
> Приблезительно через равный промежуток времени появляется очередная порция подростков
> неосиляторов. Для которых всё сложно и непонятно и оуни начинают велосипедить

Уже довелосипедились. Я выше пример привел из широкоизвестной в узких кругах растолибы substrate:
--cut--
pub struct LightStorage<Block: BlockT> {
  db: Arc<dyn Database<DbHash>>,
  meta: RwLock<Meta<NumberFor<Block>, Block::Hash>>,
  cache: Arc<DbCacheSync<Block>>,
  header_metadata_cache: Arc<HeaderMetadataCache<Block>>,
  #[cfg(not(target_os = "unknown"))]
  io_stats: FrozenForDuration<kvdb::IoStats>,
}
...
fn number(&self, hash: Block::Hash) -> ClientResult<Option<NumberFor<Block>>> {
  if let Some(lookup_key) = block_id_to_lookup_key::<Block>(&*self.db, columns::KEY_LOOKUP, BlockId::Hash(hash))? {
    let number = utils::lookup_key_to_number(&lookup_key)?;
      Ok(Some(number))
  } else {
    Ok(None)
  }
}

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

152. Сообщение от Аноним (152), 26-Мрт-21, 18:47   +/

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

Не вижу ничего взаимоисключающего в этих двух вещах.


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

153. Сообщение от Аноним (109), 26-Мрт-21, 18:49   –1 +/
Я привел пример для отсева абсолютно некомпетентных и пример того, что даже самая безобидная на вид функция может уронить программу. Плюсы - это минное поле, где ты примерно знаешь мины на участке где ходишь, при этом продолжаешь топтаться по нему каждый день. И знаешь, что вне участка полно мин, о которых не знаешь. Чтоб писать на плюсах надо 100% времени поддерживать 100% концентрацию. У меня вот есть проблема - не получается так.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135 Ответы: #158, #195, #213

154. Сообщение от Кир (?), 26-Мрт-21, 18:50   +1 +/
Ты правда считаешь, что это проблемы именно C++? Похоже, у меня для тебя плохие новости... )))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #148

155. Сообщение от Аноним (109), 26-Мрт-21, 18:55   +1 +/
Нет. Детали реализации это - unspecified behavior или implementation-defined behavior. Undefined behavior - это вот это вот:
Permissible undefined behavior ranges from ignoring the situation completely with unpredictable results, to behaving during translation or program execution in a documented manner characteristic of the environment (with or without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #212

157. Сообщение от InuYasha (??), 26-Мрт-21, 18:58   +/
Достали шаблоны, многоэтажные конструкции с кучами двоеточий. Прешёл обратно на Си. Потому и не кусают. \(o_O)/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #148 Ответы: #168

158. Сообщение от Кир (?), 26-Мрт-21, 18:58   +/
"Трехколесный велосипед лучше мерседеса, потому что на нем вы никогда не въедете в столб на скорости 200 км/ч" Да, не въедете, потому что не разгонитесь до такой скорости. А так-то программисты обычно думают мозгом, когда пишут программы. Ну, как минимум некоторые )))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #153 Ответы: #228

159. Сообщение от InuYasha (??), 26-Мрт-21, 18:59   –1 +/
Это был просто дружеский подкол на фразу с пожеланием )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #127

160. Сообщение от InuYasha (??), 26-Мрт-21, 19:02   –2 +/
> Если C++ такой крутой ЯП

Крутая кривая познания? )

> почему OpenNet на Perl?

Потому что, очевидно, автор его знал.

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

161. Сообщение от InuYasha (??), 26-Мрт-21, 19:04   –1 +/
Чтобы "Life of people who have no F12 (Go to definition) key matters!"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #249

162. Сообщение от iLex (ok), 26-Мрт-21, 19:11   –1 +/
Не хотят по две недели трахаться с зависимостями каждый раз, когда нужно собрать проект на другой машине. Серьёзно, хуже плюсового тулчейна с зависимостями не работает вообще никто. Где ещё при сборке абсолютно любого крупного проекта организуется такой геморрой буквально на ровном месте? Попробуйте собрать любой мало-мальски крупный плюсовой проект с временем сборки свыше 8 часов, скажем TensorFlow, и вы уже через пару дней начнёте разговаривать исключительно матом и искренне возненавидите эти плюсы с их вечным шаманством в попытках хоть что-то собрать.
Доходит уже до смешного, когда для сборки проекта поднимают docker или иную подобную хрень с определённым набором библиотек и инструментов внутри, потому что нигде больше оно не соберётся (и даже там ухитряется падать, никогда не собираясь с первого раза).
В этом плане Rust выглядит просто чем-то совершенно божественным, потому что блин оно просто берёт и собирается! Оно само подтягивает все зависимости, если чего-то нет, и ничего шаманить не надо. А в C++ тулчейне это уже которое десятилетие осилить не могут.
Уж молчу про кросс-компиляцию, где трахотня с зависимостями возводится в куб. Попробуйте, скажем, собрать OpenCV-проект под винду, сидя в Linux. Это миссия из разряда невыполнимых.
П.С.: На почётном втором месте по дерьмовости в плане работы с зависимостями у нас Python. Это почти такое же дерьмо, как C++, никогда и ничего не запускается с первого раза, для проектов сложнее HelloWorld вечно требуется часами шаманить, выясняя, что и в каком порядке разворачивать и куда каких симлинков напихать, чтоб завелось.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #196, #326

163. Сообщение от Vkni (ok), 26-Мрт-21, 19:13   +2 +/
> Я пытался писать без UB, устал и забил. Теперь с покерфейсом пишу код с UB, потому что так и не нашел куда спрыгнуть.

Рекомендую прочитать статью MA Ertl'а "What every compiler writer should know about programmers". В ней, в частности, рассказывается, что исторически UB использовались для заточки под конкретный компилятор и систему. И, в общем, язык системный => написание "generic" кода, который системно независим, это выход за пределы области применения C.

К сожалению, это конфликтует с желанием компиляторщиков использовать UB для чего угодно. :-(

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

164. Сообщение от Онаним (?), 26-Мрт-21, 19:29   +/
Возьмите MaNGOS, попробуйте разобрать код. Попутно прокачаетесь :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

165. Сообщение от Аноним (307), 26-Мрт-21, 19:30   –1 +/
> статус минимально жизнеспособного продукта

Как и весь раст. Никто и не сомневался, раз за 16 лет еле-еле только сейчас стабилизируют.

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

166. Сообщение от Аноним (307), 26-Мрт-21, 19:32   –2 +/
> Долгих лет жизни языку

Конечно, пожелание пригодится, а то за 16 лет ещё не смогли стабилизировать его.

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

167. Сообщение от Онаним (?), 26-Мрт-21, 19:36   +/
А так-то без хендбука под рукой лезть в дебри языков вообще смысла нет. Любых.
Ну и бОльшую часть нужного надо запомнить прежде, чем начинать писать что-либо серьёзно.
А всё, что постоянного использования не имеет - в хендбуке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

168. Сообщение от Онаним (?), 26-Мрт-21, 19:37   +/
Шаблоны - прекрасная штука, если с умом готовить.
Особенно когда у тебя куча однотипных вещей для различных вложенных типов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #157 Ответы: #199

169. Сообщение от asdasd (?), 26-Мрт-21, 19:38   +2 +/
Заврались вы батюшка. Стабильная 1.0 вышла в 2015, это было 6 лет назад, а первая публичная альфа в 2011-2012, то бишь за 3-4 года, а не за 16.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #166 Ответы: #240

170. Сообщение от Аноним (170), 26-Мрт-21, 19:40   +1 +/
Я помню, как мне нахваливали этот рип, типа, вау! На деле же, кривая поделка с неудобным синтаксисом, крашится через раз, на нжмд пытается читать в несколько потоков и что логично в результате этого результат выдаёт в сотни раз медленнее однопоточного гну греп. Хотя сам по себе то греп не слишком сложный при этом, но и тут не осилили. Пусть лучше остаётся для вебни -- там вполне стоит заменить го и жс, а нормальное программирование уж оставят для нормальных программистов на нормальных языках.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #182

171. Сообщение от Аноним (307), 26-Мрт-21, 19:43   +1 +/
> Просто кури

Что ещё можно ждать от растаманов...

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

172. Сообщение от szt1980 (ok), 26-Мрт-21, 19:44   +1 +/
Оно еще шевелится?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #183

173. Сообщение от Аноним (307), 26-Мрт-21, 19:56   –1 +/
> な в KOI8

ISO 3602: "na"

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

174. Сообщение от Аноним (307), 26-Мрт-21, 19:58   –1 +/
Растаманы ещё через 15 лет обнаружат, что сделали ещё один С++
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #229

175. Сообщение от Аноним (305), 26-Мрт-21, 20:16   +1 +/
В целом сложно поспорить, но вот `признан крупными компаниями` - вот тут зацепочка. Чего они только не "признавали" :) Ну там сидит какой-то фанат, пропихнул идейку и вот уже в новостях `признан крупными компаниями`.

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

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

176. Сообщение от Варенье (?), 26-Мрт-21, 20:17   –1 +/
Только у вас нарушение PSR-12 (секция 5.5), фигурная скобка в foreach должна быть на той же строке, что и закрывающая круглая скобка
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #134 Ответы: #207

177. Сообщение от Аноним (307), 26-Мрт-21, 20:20   –1 +/
Немудрено, что растаманы путают > и <=
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149

178. Сообщение от Аноним (-), 26-Мрт-21, 20:20   +/
А с чем оно вообще совместимо ? С сотней гигов памяти ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #140 Ответы: #290

179. Сообщение от Аноним (307), 26-Мрт-21, 20:23   –1 +/
в ресдохе течёт память, но растаманы объяснили, что это норма.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116 Ответы: #188

180. Сообщение от Аноним (-), 26-Мрт-21, 20:26   +1 +/
> Я открыл глянуть в код.

Вот теперь я не боюсь попробовать лисп.

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

181. Сообщение от Аноним (307), 26-Мрт-21, 20:27   +/
> всякие редхаты с мозиллами, укажут Линусу на дверь

Типичное поведение боевых 3,14: подождать, пока кто-то что-то сделает, а потом захватить готовое. Ничего не напоминает? (Хинто: как украли 5G у Хуавея).

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

182. Сообщение от Аноним (-), 26-Мрт-21, 20:28   +/
Что вам плохого веб программисты сделали ? Не надо этого в веб.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170 Ответы: #186

183. Сообщение от Аноним (307), 26-Мрт-21, 20:28   +/
Оно зомби, 16-ый год уже идёт, а растаманы всё ещё стабилизируют базовые понятия (указатели).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #172 Ответы: #194

185. Сообщение от Урри (ok), 26-Мрт-21, 20:39   –1 +/
Лисп - божественный язык.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #180

186. Сообщение от Урри (ok), 26-Мрт-21, 20:39   –1 +/
Все лучше чем джаваскрипт. Даже раст.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #182 Ответы: #205

187. Сообщение от Онаним (?), 26-Мрт-21, 20:41   +2 +/
"na" - это то, куда с такой записью стоит пройти.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #173

188. Сообщение от Аноним (40), 26-Мрт-21, 20:44   +/
> в ресдохе течёт память

Потому что половина кода на СИ

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

191. Сообщение от Аноним (191), 26-Мрт-21, 20:55   –1 +/
>Разговор шел и идет о том, что в расте была введена (и до сих пор используется) бессмысленная и

#define TRUE FALSE //счастливой отладки

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

192. Сообщение от White Crow (?), 26-Мрт-21, 21:04   +2 +/
Торвальдс, так яростно обожествляемый тобой, является действующим акционеров Red Hat, которому принадлежит довольно крупный пакет акций.

Т.е. по сути он даже не сотрудник, а совладелец компании.

Продолжай и дальше делать из него святого великомученика.

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

193. Сообщение от Аноним (95), 26-Мрт-21, 21:18   –1 +/
Макрос не влияет, но код к которому он в итоге приводит вполне может.
Не вижу тут противоречия. Сама логика его использования это подразумевает.
Главное что он не маскируется в какую-то самостоятельную функцию, которой на самом деле там и нет вовсе.
Для системного программирования думаю это очень хорошая практика. Тем более в доке видел макросы вида sql!(select * from TABLE1), тут уж явно не функция.
В остальном вопрос сводится к выбору подходящего имени самого макроса.
Так можно назвать макрос readln, а вызывать в нем write. Это запутывает, но к самой системе макросов это отношения не имеет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #145 Ответы: #203

194. Сообщение от Andrii (?), 26-Мрт-21, 21:18   –4 +/
> Rust 1.0, the first stable release, was released on May 15, 2015.

Но анониму конечно виднее.

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

195. Сообщение от Филимон Участливый (?), 26-Мрт-21, 21:19   +/
Это плохо. Если с концентрацией проблемы первым делом проверьте уровень кортизола и пейте витамины группы Б - при их дефиците у организма возникают проблемы с выработкой тормозящих нейромедиаторов. Наврятли вам Rust с этим поможет.

Хотя, если чтение длинных исходников с причудливо запутанным синтаксисом вас успокаивает, то почему бы и нет...

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

196. Сообщение от Урри (ok), 26-Мрт-21, 21:55   +2 +/
Как я понял комментарий выше, iLex прославляет аналог maven и npm под названием rust. О самом языке ни слова.

Ну все как обычно - неосиляторы прославляют удачу по сборке своего хелловорлда.

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

197. Сообщение от Ordu (ok), 26-Мрт-21, 21:59   +1 +/
> Помоему язык развивается в противоположенную от упрощения сторону.

Не, тут пример показывает не простоту, а возможность. into_iter реально не хватало для array, потому что если хочется сделать что-то типа:

    ...
    .map(|arr| arr.into_iter())
    .flatten()
    .collect();


То это нифига не работало, поскольку arr никак в into_iter, а arr.iter() -- это итератор, который ссылается на arr, и если arr прекращает существовать, то ссылка оказывается висящей. Здесь же, arr существует только внутри замыкания передающегося в map, и собственно фишка в том, чтобы итератор пожил подольше, чтобы все эти итераторы можно было бы flatten в один единый итератор по всем элементам, чтобы потом сделать collect.

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

198. Сообщение от Ordu (ok), 26-Мрт-21, 22:04   +4 +/
За:
https://kerkour.com/blog/the-biggest-threat-to-rust-sustaina.../

Против(?):
https://steveklabnik.com/writing/how-often-does-rust-change

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

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

199. Сообщение от Урри (ok), 26-Мрт-21, 22:07   +/
Это и на си можно делать. Точнее на gcc расширении c, которое сто лет поддерживают и шланг и тайниси.
Правда, на плюсах это красивее выглядит.

Ну и да, под разные задачи разные инструменты, факт.

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

200. Сообщение от Урри (ok), 26-Мрт-21, 22:12   –1 +/
Охренеть какие сложности просто для того, чтобы обработать массив.

Сразу возникает вопрос - а почему не сделать было сразу нормальную итерацию по массивам? Почему надо навешивать очередную заплатку поверху?

Впрочем, вопрос риторический.

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

201. Сообщение от Ordu (ok), 26-Мрт-21, 22:16   +/
> Полезнее названия методов/макросов писать так, чтобы сразу было понятно что они делают, а не где внутрях происходит "магия".

Дык их и пишут так. Что-то в слове println! тебе не ясно? Но println! при этом, в compile-time'е разбирает форматную строку, чтобы сгенерить нужную последовательность вызовов для вывода, плюс принимает переменное количество аргументов, что функциям недоступно. Сие есть магия, об этом следует помнить. Скажем, функция может заинлайниться или незаинлайнится, и как правило можно полагаться на то, что компилятор сделает как лучше. println! же нагенерит кода, который будет "заинлайнен" в любом случае, будет ли он занимать пять байт, килобайт или мегабайт.

Макрос всегда ведёт себя странно, не так как функция, потому что если бы можно было сделать его функцией, его бы сделали функцией. И да, как-то так выходит, что специальная подсветка для макросов очень показательна, всякие такие штуки как assert!, panic!, println!, и тп полезно видеть в коде сразу.

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

202. Сообщение от Урри (ok), 26-Мрт-21, 22:16   +/
Там выше объяснили, что чтобы не падало, надо новую заплатку на язык повесить. точнее ее как раз привесили. А сколько еще всего надо сделать... ммм... не описать.

--cut--
into_iter реально не хватало для array, потому что если хочется сделать что-то типа:

    .map(|arr| arr.into_iter())
    .flatten()
    .collect()


То это нифига не работало, поскольку arr никак в into_iter, а arr.iter() -- это итератор, который ссылается на arr, и если arr прекращает существовать, то ссылка оказывается висящей. Здесь же, arr существует только внутри замыкания передающегося в map, и собственно фишка в том, чтобы итератор пожил подольше, чтобы все эти итераторы можно было бы flatten в один единый итератор по всем элементам, чтобы потом сделать collect.
--cut--

Я, как старый лиспер и функциональщик до мозга костей, в полном ах_е.

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

203. Сообщение от Урри (ok), 26-Мрт-21, 22:18   –3 +/
(facepalm)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #193 Ответы: #222

204. Сообщение от Урри (ok), 26-Мрт-21, 22:19   –2 +/
Я думал джаваскриптеку совсем прибитые своим языком. Но вы мне открываете новые горизонты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #201 Ответы: #209

205. Сообщение от Урри (ok), 26-Мрт-21, 22:21   +1 +/
Я почитал новые комменты и теперь уже в этом не уверен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #186 Ответы: #277

207. Сообщение от Sw00p aka Jerom (?), 26-Мрт-21, 22:24   –1 +/
> Только у вас нарушение PSR-12 (секция 5.5), фигурная скобка в foreach должна
> быть на той же строке, что и закрывающая круглая скобка

в топку, когда после цикла идет длинная строка - не удобно читать, дело вкуса.

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

208. Сообщение от Ordu (ok), 26-Мрт-21, 22:42   +/
> Сразу возникает вопрос - а почему не сделать было сразу нормальную итерацию
> по массивам? Почему надо навешивать очередную заплатку поверху?

Это безопасность. Если в коде выше заменить into_iter() на iter(), то borrow-checker пошлёт тебя куда подальше, потому как итератор содержит в себе ссылку на локальный массив лежащей в переменной-аргументе arr, но после выхода из лямбды локальный массив перестанет существовать, и получается, что пытаясь сделать такое, ты пытался вернуть указатель на локальную переменную.

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

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

209. Сообщение от Ordu (ok), 26-Мрт-21, 22:42   +/
> Я думал джаваскриптеку совсем прибитые своим языком. Но вы мне открываете новые
> горизонты.

Завсегда пожалуйста.

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

210. Сообщение от Ordu (ok), 26-Мрт-21, 22:47   +/
И что тут не так?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151 Ответы: #227

211. Сообщение от Ordu (ok), 26-Мрт-21, 22:49   +/
> Я, как старый лиспер и функциональщик до мозга костей, в полном ах_е.

Ах, вот оно что, лиспер? Ну дык в лиспе у тебя сборка мусора, там не надо следить за временем жизни объектов, потому что gc за тебя последит. В таких языках как C/C++/Rust это так не работает.

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

212. Сообщение от Онаним (?), 26-Мрт-21, 22:51   –1 +/
Вообще UB при кривом исходном вводе - это нормально, и существует даже вне ЯП - в железе, в приложениях в целом. Где-то ловишь exception или прерывание исключения, где-то срач в логи и терминацию, где-то - вывод, вполне соответствущий вводу, но никуда далее не годный. C'est la vie.

И вообще Сначала мы загоняем в функцию, обрабатывающую данные как unsigned char, просто char, а потом удивляемся - ОЙ. А ЧОЭТООНО??!!!! БОЛЬНОЖЕ!!!

Это не оно, это руки. Изящно изогнутые.

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

213. Сообщение от Онаним (?), 26-Мрт-21, 22:55   –1 +/
Если концентрацию поддерживать "не получается" - лучше сразу сменить профессию.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #153

214. Сообщение от Онаним (?), 26-Мрт-21, 22:56   +/
Поддерживаю.
PSR идут в задницу, но да, скобочку лучше таки утащить в первую строку.
Индекс нам там тоже в исходной задаче вроде не нужен.

foreach ($array as $item) {
}

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

215. Сообщение от Онаним (?), 26-Мрт-21, 23:07   +/
У меня часто складывается ощущение, что в написании PSR отчасти участвовали неадекваты.
Нет, там очень много здравого, чему стоит следовать.
Но вот эти MUST типа "There MUST NOT be more than one statement per line"
Ага, вот прямо сейчас разбежался 10-15 переменных для цикла инициализировать портянкой по пять букв в строчке.
То же самое со скобками. Здесь конечно лучше наверх вытащить. Но в ряде случаев действительно читабельнее, когда открывается на своей строке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #207 Ответы: #217

216. Сообщение от Аноним (109), 26-Мрт-21, 23:09   +/
Спасибо за статью. Истоки UB я знаю и с рассуждениями по ходу статьи согласен. Когда я начинал программировать, я выделывался с оптимизациями. А теперь мне нужен способ написать код, который будет гарантированно одинаково работать под STM32, Linux(ARM и x64) и Windows(x86) независимо от компилятора. И я его не вижу. Обмазал всё тестами, включил предупреждения на почти максимум, прогнал через анализаторы, а гарантий то нет. Мне нравится идея раста, что если хочешь, пиши unsafe и выделывайся. Но сам он как-то не зашел.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #163

217. Сообщение от Онаним (?), 26-Мрт-21, 23:12   +1 +/
Потом открываешь какой-нибудь моднявый прожектик килобайт в 25 для вызова внешней утилиты с тремя параметрами в 5-10 классов, видишь там нечитабельное говно, сплошь состоящее из PSR, закрываешь, и пишешь один класс в три килобайта, делающий больше и правильнее, и куда осязаемее (за отсутствием необходимости помнить про те самые (5-10)-1 классов из 50 строчек, 3/4 из которых - скобки, отступы и комментарии), чем вот та самая портянка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #215 Ответы: #218

218. Сообщение от Онаним (?), 26-Мрт-21, 23:14   +/
(причём качество тех же комментариев, записанных правда покороче, без лишних строк, у тебя получается не хуже, и даже аргументы описаны так же хорошо, просто ты уже не PSRаведник)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #217

219. Сообщение от Онаним (?), 26-Мрт-21, 23:21   –1 +/
The first and the final stable release xDD
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #194

220. Сообщение от Онаним (?), 26-Мрт-21, 23:23   +2 +/
Мои глаза вытекли, спасибо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151

221. Сообщение от пох. (?), 26-Мрт-21, 23:35   –1 +/
Спасибо, я лучше пока так, на травке посижу.

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

222. Сообщение от Аноним (95), 26-Мрт-21, 23:43   +1 +/
>(facepalm)

Ну это зря)

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

Как видите не самая радужная клиническая картина...)

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

223. Сообщение от боня (?), 26-Мрт-21, 23:44   +/
А потом к ним подключаются другие неосиляторы, вместо того, чтобы вкладывать свои усилия в ваш проект.

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

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

224. Сообщение от Аноним (-), 26-Мрт-21, 23:46   +6 +/
Синтаксис тому очень способствует. Плюсовики over time - разгребают винтажные костыли, улучшают синтаксис. Растовики over time: обезьянят старые траблы плюсовиков.

На раст не надо проводить obfuscated code contest. Он в каждой первой программе. Охренеть как интуитивно и читаемо.

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

225. Сообщение от Sw00p aka Jerom (?), 26-Мрт-21, 23:49   +/
> скобочку лучше таки утащить в первую строку.

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


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

226. Сообщение от Аноним (-), 26-Мрт-21, 23:50   +1 +/
> покровительством независимой некоммерческой организации Rust Foundation

С советом директоров из амазона, майкрософта, и кого там еще. Вот такая вот хреновая независимость...

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

227. Сообщение от Аноним (-), 26-Мрт-21, 23:52   +/
Код слегонца наркоманский и контринтуитивный, а так все хорошо, прекрасная маркиза. Признайся, что ты жрешь чтобы затюнить мозг для работы с такими закорюками? А то даже у лютых игроделов такого нет, они догадываются что это потом еще и майнтайнить надо, при том не факт что тому же человеку...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #210 Ответы: #230

228. Сообщение от боня (?), 27-Мрт-21, 00:17   +/
> А так-то программисты обычно думают мозгом, когда пишут программы.

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

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

> Трехколесный велосипед лучше мерседеса

Вы явно перегнули палку в сравнении, можете за место мерседеса поставить метавелосипед, который каждый понедельник с вероятностью 0.09 пропадает на пол часа?

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

229. Сообщение от боня (?), 27-Мрт-21, 00:21   +/
ну и пусть, один раз живём. И пока язык на начальной стадии, работать с ним в удовольствие
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #174 Ответы: #241

230. Сообщение от Ordu (ok), 27-Мрт-21, 00:54   +/
> Код слегонца наркоманский и контринтуитивный, а так все хорошо, прекрасная маркиза. Признайся,
> что ты жрешь чтобы затюнить мозг для работы с такими закорюками?

Тут всё довольно просто. Если с подсветкой синтаксиса, будет вообще тривиально. У тебя просто глаз непривычен к синтаксису, и поэтому парсинг всего этого требует большого количества усилий. Тренированный глаз выхватывает знакомые блоки, и либо пляшет от них, либо отвергает их как неважные в данный момент. Ну, там, Arc скажем -- это thread-safe reference count. Если мне в данный момент это не важно, то я тут же выделяю оттуда dyn Database<DbHash>, а это значит, что речь про ref counted указатель на объект, реализующий трейт Database, с параметром DbHash, который явно задаёт алгоритм хеширования база данных пользуется. Последнее суждение правда вынесено чисто на основании названия типа, которое я впервые вижу, но... ну и чо? Можно задаться вопросом, зачем тут индирекция через трейт в сочетании с типом-параметром DbHash, но это, возможно, чтобы позволить компилятору выбирать функцию алгоритма хеширования на этапе компиляции, без десятка вложенных virtual вызовов. Впрочем, это уже совсем спекуляции, поскольку я не знаю зачем этот код.

Или в функции -- там же сразу видно, что функция возвращает результат выполнения выражения if let, которое либо находит key и выполняет то что перед else'ом и возвращает результат, либо не находит и возвращает результат выполнения того, что после else'а.

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

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

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

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

231. Сообщение от Аноним (231), 27-Мрт-21, 01:28   +2 +/
Нужно запретить писать на опеннет новости про руст и написанные на нем программы
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #248, #280

232. Сообщение от еманйам (?), 27-Мрт-21, 01:34   +/
> Торвальдс, так яростно обожествляемый тобой, является действующим акционеров Red Hat,
> которому принадлежит довольно крупный пакет акций.
> Т.е. по сути он даже не сотрудник, а совладелец компании.
> Продолжай и дальше делать из него святого великомученика.

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

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

233. Сообщение от Урри (ok), 27-Мрт-21, 01:40   +3 +/
Вообще-то тут все плохо. Даже более скажу - очень, очень плохо; я за подобный c++ код увольнял людей.

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

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

Вы пока этого не понимаете, судя по вашим комментариям. Так что я вам предложу простую аналогию.
Представьте, что вы сейас читаете макроассемблерный код, где в дополнение к простым инструкциям MOV, ADD, SUB добавлены более сложные VMOVDQU64, VPBROADCASTQ, PINSRQ. "В чем сложности, бро" спросите вы? В том, что с этим кодом может работать (причем обязательно без перерывов) специалист узкого профиля. Прервался - забыл, сиди вспоминай и строй в голове все по новой. Причем познания этого специалиста вообще никак не могут пригодится вне этой области - например, при переходе на arm ассемблер или даже на языки более высокого уровня.

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

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

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

Вот как то так.

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

234. Сообщение от Аноним (-), 27-Мрт-21, 01:49   –3 +/
Плохая дорога так то тоже в совет директоров хруста втерлась, так что им не на что жаловаться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #181 Ответы: #239

236. Сообщение от Ordu (ok), 27-Мрт-21, 02:25   –3 +/
> Вообще-то тут все плохо. Даже более скажу - очень, очень плохо; я за подобный c++ код увольнял людей.

В C++ этот код не скомпилируется. Это не C++, детка, это раст. Не надо критериями C++ мерять раст. Ты ещё критериями лиспа померяй C++, что получится?

> Представьте, что вы сейас читаете макроассемблерный код, где в дополнение к простым инструкциям MOV, ADD, SUB добавлены более сложные VMOVDQU64, VPBROADCASTQ, PINSRQ. "В чем сложности, бро" спросите вы? В том, что с этим кодом может работать (причем обязательно без перерывов) специалист узкого профиля. Прервался - забыл, сиди вспоминай и строй в голове все по новой. Причем познания этого специалиста вообще никак не могут пригодится вне этой области - например, при переходе на arm ассемблер или даже на языки более высокого уровня.

Я только что прочитал этот код, не зная откуда он, не видя документации к трейту Database, не видя документации к DbHash, не видя документации ко всем остальным типам. Самой большой проблемой было, что я привык читать с подсветкой синтаксиса, поэтому здесь приходилось вглядываться, где там :, отделяющее имя поля от сигнатуры типа, и все эти #[] не подсвечиваются, и поэтому замусоривают поле зрения.

Если тебе нужен пример кода, в котором сам чёрт ногу сломит, то я порекомендую глянуть на генераторы парсеров или, скажем, библиотеки для immediate mode GUI: conrod и особенно egui. Особенно egui отличается пустой и не объясняющей ничего документацией, из которой непонятно как это использовать, разглядывание сорцов тоже ничего не проясняет, обрывки кода в документации непонятно как склеивать и увязывать с остальной логикой... ууу... вот это срань, реально. conrod ещё куда ни шло, к нему хоть примеров можно найти, и разглядывая их вперемешку с документацией и кодом можно сообразить, что к чему. А то что ты цитируешь -- это детский лепет, который у тебя вызывает проблемы по тем же причинам, по которым у меня вызывает проблемы C++: перенос навыков с одного языка на другой не срабатывает и ещё усугубляется схожестью языков.

> Код выше обладает всеми недостатками примера с ассемблером. Это и многократные вложения, заставляющие каждый раз строить в голове цепочку структур "кто на чем стоял", и акронимы (слава богу попроще чем PINSRQ), и перегруженность спецсимволами, которые в любом языке очень плохая идея, и практическая невозможность сопровождения, когда надо быстро вносить минимальные правки не ломая все и вся.

Всё завёртывание там -- это умные указатели. Про Arc я рассказал, а значение RwLock и FrozenForDuration понятно из названия. Единственное, что неясно из кода без чтения документации, это что за Meta такой. И про разумность использования его параметризованным я ничего не могу сказать. Остальное, блин, очевидно при первом прочтении.

> Но вы превращаетесь в кодера - придаток одного конкретного языка (я, например, хорошо владею брейнфаком - помогли ли мне эти знания где-то вовне брейнфака? нет). Придаток, который в ближайшем будущем можно легко заменить на алгоритм кодогенерации (как, например, из c генерируют адекватный джаваскрипт). Придаток, совершенно бесполезный вне границ языка.

Мне похрен. Rust -- это уникальная вещь, мне приходилось эпизодически раньше оказыватся в стане фанатов какого-либо языка, но каждый ненадолго, довольно быстро я начинал видеть в языке фатальные недостатки. Rust'ом я фанатею уже 6 лет, с момента выхода 1.0. И я не хочу знать про другие языки. Я шелл-скрипты сегодня пишу на расте. Однострочники так же набираю в шелле bash, но ежели однострочником не обойтись, я пишу на расте. Мне сегодня не интересны все эти lisp'ы, C, и прочие. Я могу разглядывать другие языки, типа go, но мне неинтересно на них писать.

> У Макконела есть великолепная книга, "Совершенный код".

Я закину её в список чтения. Может как-нибудь почитаю.

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

237. Сообщение от Аноним (307), 27-Мрт-21, 02:27   –1 +/
> Rust 1.0

А до этой версии типа ничего не было?! Вот так взяли, сели растаманы в кружок в 2015-ом и сразу родили 1.0-язык?

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

238. Сообщение от Аноним (307), 27-Мрт-21, 02:29   +/
> The language ... begun in 2006 ...

Но Андрию виднее...

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

239. Сообщение от Аноним (307), 27-Мрт-21, 02:31   +/
Втёрлась, чтобы посмотреть на других и у себя так не делать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #234

240. Сообщение от Аноним (307), 27-Мрт-21, 02:37   –3 +/
А до 1.0 что было в промежутке 2006-2015?

> The language ... begun in 2006

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

241. Сообщение от Аноним (307), 27-Мрт-21, 02:41   –1 +/
> один раз живём

Это тебе кто сказал?

> язык на начальной стадии

Ага, начальная стадия тянется с 2006-го года.

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

243. Сообщение от Аноним (-), 27-Мрт-21, 04:51   +3 +/
Почему Майкрософт примазалась к Расту. Чтобы потом сделать платными компоненты как в Дельфи?

Раст не взлетит пока не избавится от Майкроссофт, потому-что Майкрософт проклятая компания. Любое сообщество, которое связывается с Майкрософт обречёно на деградацию.

Растаманы, пишем петицию за вывод майкрософт из состава директоров!

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

244. Сообщение от Аноним (244), 27-Мрт-21, 05:39   +/
Местами, он даже быстрее С++, а где-то и чутка медленнее - +- паритет. Язык определенно заслуживает самого пристального внимания.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

245. Сообщение от Аноним (307), 27-Мрт-21, 06:17   +2 +/
Следует задуматься, почему раст пропихивают в ядро линуха, и что спонсирует это M$. Процитирую сказкой про Вавилон:

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

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

246. Сообщение от боня (?), 27-Мрт-21, 07:23   –1 +/
> Ага, начальная стадия тянется с 2006-го года.

На википедии написано, что язык появился 7 июля 2010 года.

Если перейти по сноске, то там вот такое письмо https://mail.mozilla.org/pipermail/rust-dev/2010-July/000001...

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

247. Сообщение от боня (?), 27-Мрт-21, 07:25   –1 +/
> Ага, начальная стадия тянется с 2006-го года.

Кстати, с другой стороны, если за 15 лет (по вашему мнению) из языка не сделали монстра - то, думаю, уже и не сделают

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

248. Сообщение от Аноним (307), 27-Мрт-21, 07:36   +1 +/
Растаманы разрабатывают раст с 2006-го, а версия всего лишь полуторная О_о
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #231

249. Сообщение от боня (?), 27-Мрт-21, 07:36   –1 +/
> Чтобы "Life of people who have no F12 (Go to definition) key matters!"

Не нашёл статьи с таким названием. Или зачем вы в кавычках и по английски написали?

Чтобы вам было менее понятно читать ответ - напишу на украинском:

Для налагодження метапрограмирування програміст використовує метабрейкпоінти. (представляєт, що поставiв брейкпоінт)

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

250. Сообщение от боня (?), 27-Мрт-21, 07:42   +/
Вот еще

https://rust.libhunt.com/categories/1496-applications-writte...

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

251. Сообщение от боня (?), 27-Мрт-21, 07:58   +1 +/
> А забавно какой-то растафанатик пробежался по всем этим абсолютно правдивым комментариям.

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

> Подгорает, видимо, не слабо.

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

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

252. Сообщение от Аноним (252), 27-Мрт-21, 08:49   +/
А все потому что в новости не удосужились нормально объяснить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #208 Ответы: #269

253. Сообщение от Онаним (?), 27-Мрт-21, 09:18   +/
Согласен, дело вкуса. Кроме вкуса ещё есть дело читабельности.
Я например легко читаю почти весь код, даже откровенный говнокод - кроме кода, написанного строго по PSR... :D Возможно потому, что нынешние мониторы широки вширь, но узки ввысь, и листать километровую портянку задалбывает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #225

254. Сообщение от Онаним (?), 27-Мрт-21, 09:22   +/
А вообще чессгря с годами всё больше уверенности, что PHP занимаются практики, а не теоретики.

Даже на этом примере. Очевидное foreach. Обычное для C-подобных языков открытие блока кода. Все переменные сразу видны - с ключевыми словами не спутаешь никак. as в нужном месте, сразу понятно, кто есть кто. Ну и $key => $value, учитывая, что значения хешей к ключам именно через => объявляются, тоже вполне логично.

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

255. Сообщение от Онаним (?), 27-Мрт-21, 09:24   –1 +/
То же

for item in IntoIter::new(array)

ШТО ЭТО, БЛ***???
IntoIter - это класс какой-то? Статический вызов new - ну, тут вроде понятно.
А array что такое? Ключевое слово именования типа? То есть IntoIter::new принимает имя типа на входе?
БРРРГГГ...

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

256. Сообщение от Онаним (?), 27-Мрт-21, 09:26   –1 +/
std::array::IntoIter::new(array) же - это вообще лютый Ц
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #255

258. Сообщение от Аноним (259), 27-Мрт-21, 09:56   +/
Они просто наняли программистов уволенных из Мозиллы. А планы у них собственный хипстерский язык, у которого нет фатального недостатка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #243 Ответы: #283

259. Сообщение от Аноним (259), 27-Мрт-21, 09:57   +1 +/
Заклятый друг опенсорса.
перестали
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #245

260. Сообщение от fidoman (ok), 27-Мрт-21, 10:44   +/
Потому что unsigned char надо использовать. Вроде бы не такая сложная головоломка, чтоб прям "спрыгивать".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #267

261. Сообщение от Аноним (261), 27-Мрт-21, 12:27   +/
А мне кажется синтаксическим бредом С++, дальше что? Мне срать язык, потому что не нравится синтаксис?
Как тема про раст, так сразу дискуссии о нужности, полезности и тщетности бытия.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125

262. Сообщение от White Crow (?), 27-Мрт-21, 12:30   +1 +/
Linux теперь точно такой же мейнстримный корпоративный продукт, как Windows, например.

А от бородача избавляются как раз по причине его принципиальной позиции, касательно всех этих корпораций добра на подобие Red Hat, Canonical, Microsoft и прочих там Oracle.

Просто он им больше ненужен.

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

264. Сообщение от Аноним (305), 27-Мрт-21, 12:56   +1 +/
вспомнию с ностальгией инет 90х - дружелюбие и все-просто-работает. Без поганого Жабоскрипта кек
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142

265. Сообщение от anonymous (??), 27-Мрт-21, 14:22   +/
Осмелюсь предположить, что эти браузеры появились раньше, чем rust и go.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

266. Сообщение от нитрол (ok), 27-Мрт-21, 14:48   +1 +/
Не являюсь растафанатиком или еще каким-либо фанатиком. Имхо, фанатизм - это трата энергии с низким КПД. Но это имхо, ибо суть ПД зависит от ситуации, т.е. зависит от поставленной цели. Я больше за поиск истины (особенно на фоне сегодняшнего мира с фейками/враньем/псевдо-сми/etc) - с этой целью хочется поделиться личным опытом. Бегло вспомнил парочку программ на Rust, что в моей личной практике используется: ripgrep (localhost) и linkerd (24/7 production). Не могу сказать, что это бесполезный софт или софт ради демонстрации возможностей языка. Мне то и язык, на котором написан этот софт, особо не важен - главное, что свою функцию выполняет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #147

267. Сообщение от Аноним (109), 27-Мрт-21, 15:31   +/
Это просто одна из мин, на которой я подорвался. Мне о ней лет 10 назад сказал MSVC с отладочным рантаймом, тогда я даже не задумался, что что-то не так если функция не модифицирующая строку роняет программу. Спрыгнуть хочу потому, что концентрацию теряю, ну не больше 10 раз в год. А после каждого такого случая минимум 3 дня: думаю как может происходит странная херня о которой сообщили, листаю коммиты, перечитываю исходники... Странная херня не обязана начать происходить сразу. Вот есть проект в котором больше 1МБ исходных кодов и ищи как хочешь, стрелять то может всё. Крайне боюсь, что когда-нибудь придется иметь дела с проектами больше 10МБ. Если знаешь, что не потянешь, лучше спрыгнуть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #260 Ответы: #273

268. Сообщение от Аноним (268), 27-Мрт-21, 15:48   +1 +/
Где взял 2006, там и прочитай - один чувак первые несколько лет в качестве хобби в свободное от работы и семьи время проектировал (не разрабатывал). Зачем тут ложь писать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #240 Ответы: #285

269. Сообщение от Ordu (ok), 27-Мрт-21, 16:02   +/
> А все потому что в новости не удосужились нормально объяснить.

Мне нормально. А тем, кто не понимает, зачем это надо, явно это не надо. Ну, реально, я понял с первого взгляда в чём фишка благодаря тому, что я как-то пытался отрисовать палитрованое изображение, заменяя номера цветов на цвет из палитры, добавляя к нему alpha компоненту, и впоролся в то, что когда я итератор по номерам цветов из палитры превращаю в итератор по rgba четвёркам, я потом не могу из этого итератора по [u8; 4] сделать итератор по итераторам по [u8; 4]. Надо было либо писать что-то типа IntoIter для [u8; 4], либо закапывать функциональщину и переписывать императивно. Кстати императивно лучше вышло, потому что таким образом я смог предвыделить память сразу под все четвёрки rgba. Но не так идеоматично.

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

270. Сообщение от Директор Федор (?), 27-Мрт-21, 16:08   +2 +/
Индекс TIOBE не показатель популярности, он лишь показывает число запросов вида "<имя языка> programming language". Полумертвый D стоит на 24-том месте, тебе это не о чем не говорит?
И вообще рейтинг делается мартышками, ищущих вопросы по своему языку, например: "python language how to add int with string"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #306, #325

271. Сообщение от Директор Федор (?), 27-Мрт-21, 16:47   –1 +/
А зачем он вообще нужен? На нем ведь только микросервисы делают, да простые консольные утилитки
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

273. Сообщение от fidoman (ok), 27-Мрт-21, 17:31   +/
Она реально роняет? Интересно бы в либе код посмотреть, как им это удаётся)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #267

274. Сообщение от боня (?), 27-Мрт-21, 18:53   +/
> Потому, что это одна из многих вещей, которая делает раст плохим языком

не для вас его роза цвела, поймите уже

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

275. Сообщение от burjui (ok), 27-Мрт-21, 19:58   +/
Уже давно можно писать "for item in &array".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

276. Сообщение от burjui (ok), 27-Мрт-21, 20:05   –2 +/
Берём пример плохо написанного кода и делаем выводы о языке. Уровень: опеннетовский эксперт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149

277. Сообщение от burjui (ok), 27-Мрт-21, 20:08   –2 +/
Если читать все комментарии на этом ресурсе, можно потерять веру в разумность человечества. К счастью, это будет не репрезентативная выборка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #205

278. Сообщение от burjui (ok), 27-Мрт-21, 20:15   –2 +/
Ну да, ведь намного лучше несколько лет толочь воду в ступе, а потом выкатить огромный релиз, срывающий шаблоны, с крутой кривой обучения, и таким образом разделить сообщество на консерваторов, которые сидят на говне мамонта, и хипстеров, которые тут же бросят старый код и понесутся писать новый, с пасьянсом и надувными женщинами. Куда там этим идиотам, ничего не знают о разработке ЯП, надо было на Опеннете спрашивать, как правильно делать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

279. Сообщение от burjui (ok), 27-Мрт-21, 20:16   +1 +/
Шутки за 200.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

280. Сообщение от burjui (ok), 27-Мрт-21, 20:19   +1 +/
Заодно бы ещё запретить демагогию и петросянство. Да и вообще запретить людям быть идиотами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #231 Ответы: #282

281. Сообщение от боня (?), 27-Мрт-21, 21:15   –1 +/
> Чем write отличается от writeln!

write это функция, а writeln! это макрос.

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

282. Сообщение от Аноним (307), 27-Мрт-21, 21:31   +1 +/
> запретить людям быть идиотами

Да вас, батенька, за такие нетолерантные слова сами эти идиоты и повесят. Это же дискриминация по здоровью. Вот Столлмана взяли и начали гнобить какие-то токсичные идиоты. А вы говорите - запретить... Ну, попробуйте... Кто кого запретит :)

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

283. Сообщение от Аноним (307), 27-Мрт-21, 21:32   +/
> у которого нет фатального недостатка.

"написан не ими" :)

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

284. Сообщение от Аноним (307), 27-Мрт-21, 21:35   –1 +/
> 2010

Вы уж определитесь, то говорите, что в 2015, то в 2010. Но разработка начата, почему-то, в 2006-ом.

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

285. Сообщение от Аноним (307), 27-Мрт-21, 22:11   –2 +/
> проектировал (не разрабатывал).

Известная ситуация, растаманы всегда проектируют, не разрабатывая :) у них одни пpoЭкты.

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

286. Сообщение от InuYasha (??), 27-Мрт-21, 22:22   –1 +/
А программiруете вы, наверное, тоже на украiнском ) Мне даже страшно представить ваш аналог 1С /(o_o)\

Но вообще глубокая суть сего псевдоцитирования в пародировании BLM, котрого на Руси и в помине не было. И вот пусть оно там, в англоязычной среде, и останется.

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

287. Сообщение от anonimous (?), 27-Мрт-21, 23:26   +/
>На википедии написано, что язык появился 7 июля 2010 года.

Rust (programming language) - Wikipedia
https://en.wikipedia.org › wiki › Rust_(programming_l...
History — The language grew out of a personal project begun in 2006 by Mozilla employee Graydon Hoare, who stated that the project was possibly named after the rust family of fungi. Mozilla began sponsoring the project in 2009 and announced it in 2010.

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

289. Сообщение от Аноним (289), 28-Мрт-21, 00:10   –2 +/
А на микроконтроллере с 16КБ флеша и 2КБ ОЗУ, где на стек 0x400 байт, и на кучу 0x200, получится?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #295

290. Сообщение от Аноним (289), 28-Мрт-21, 00:14   +/
Вот как раз нет. За счет внутренней многопоточности, которая быстрее системной и экономнее и делается одним оператором. Потому и на серваки ставят, чтобы кушало меньше в десятки тысяч потоков.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #178 Ответы: #297

291. Сообщение от Аноним (5), 28-Мрт-21, 00:45   –1 +/
600-800 - это много?
У тебя там 2 ГБ ОЗУ что ли?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

293. Сообщение от Аноним (293), 28-Мрт-21, 01:58   +/
То что людей беспокоит то и важно и нужно
В мире раньше всех беспоколи три вещи секс. бухло и рок н рол
А теперь вот пришло время раста =)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #307

294. Сообщение от burjui (ok), 28-Мрт-21, 02:08   +/
Фраза про идиотов как бы не очень тонко намекала, что нельзя в этой жизни получить всё желаемое. Так что будут и новости про Rust, и срач под ними в комментах ещё долгое время. А потом Rust перестанет быть людям в новинку, на нём напишут больше софта, они привыкнут и им станет пофиг. Найдут себе новую грушу для битья.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #282 Ответы: #296

295. Сообщение от НяшМяш (ok), 28-Мрт-21, 02:27   +1 +/
Например, вот так? https://www.avr-rust.com/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #289

296. Сообщение от Аноним (307), 28-Мрт-21, 07:14   –1 +/
> Фраза про идиотов как бы не очень тонко намекала, что ... будут и новости про Rust

Конечно будут! Идиоты никогда не переведутся.

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

297. Сообщение от Аноним (297), 28-Мрт-21, 08:16   –1 +/
А ну да, корутины же только в го есть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #290

299. Сообщение от боня (?), 28-Мрт-21, 08:48   +/
> Вы уж определитесь, то говорите, что в 2015, то в 2010. Но разработка начата, почему-то, в 2006-ом.

Считайте как как вам выгодно. Для утверждения, что "языку уже 15 лет, и он нинужен" 2006 год подходит отлично.

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

300. Сообщение от tmplsr (?), 28-Мрт-21, 10:20   –1 +/
https://swizard.livejournal.com/202744.html
У нас есть Rust, поэтому C++ больше не нужен.

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

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

301. Сообщение от burjui (ok), 28-Мрт-21, 10:36   +/
Слишком жирно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #296

302. Сообщение от Аноним (268), 28-Мрт-21, 11:46   +/
> actix-web
> Firecracker
> нелепая показуха для хомячков

Ну-да, ну-да, посмотреть ты-таки не удосужился.

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

303. Сообщение от Аноним (268), 28-Мрт-21, 12:15   +/
> Это и многократные вложения, заставляющие каждый раз строить в голове цепочку структур
> "кто на чем стоял", и акронимы (слава богу попроще чем PINSRQ), и перегруженность спецсимволами

Описал C++.

> Код выше обладает всеми недостатками примера с ассемблером.

Ага, понятно.

> я, например, хорошо владею брейнфаком

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

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

304. Сообщение от Аноним (268), 28-Мрт-21, 12:18   +/
> я за подобный c++ код увольнял людей.

Получается, ты остался без плюсовиков?

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

305. Сообщение от Аноним (305), 28-Мрт-21, 19:53   +/
В Твиттере есть такая шутка: какой у вас самый любимый ЯП и почему это ДжаваСкрипт?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

306. Сообщение от Аноним (305), 28-Мрт-21, 20:39   +/
Это ты как вывел что он полумертвый?! Народ в ЕС набирали год назад, у нас в компании на нем пилили одну штуку, развивается бурно, Уолтер даже переносит фичи из Раста и модерн С++ (заисмствования всякие и пр.)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #270 Ответы: #327

307. Сообщение от Аноним (307), 28-Мрт-21, 20:41   +1 +/
Определи, в какую категорию относится раст.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #293

308. Сообщение от Аноним (307), 28-Мрт-21, 20:48   +/
вперёд, к диктатуре? ни шагу в сторону! прыжок на месте - расстрел!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #300

309. Сообщение от Аноним (305), 28-Мрт-21, 20:56   +/
но для Дельфи тонны бесплатных компонент. Сейчас даже и сам Дельфи бесплатен (коммюнити едишн)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #243 Ответы: #312, #313

310. Сообщение от Онаним (?), 28-Мрт-21, 21:59   +/
... когда я итератор по номерам цветов из палитры превращаю в итератор по rgba четвёркам, я потом не могу из этого итератора по [u8; 4] сделать итератор по итераторам по [u8; 4] ...

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

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

311. Сообщение от Онаним (?), 28-Мрт-21, 22:00   +1 +/
(я охренел только от одного описания процесса, на код кмк там лучше даже не смотреть уже)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #269

312. Сообщение от Аноним (-), 29-Мрт-21, 07:14   +/
Нужные платны. Попробуй загрузить Дельфи без создания аккаунта и регистрации email.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #309

313. Сообщение от Аноним (-), 29-Мрт-21, 07:16   +/
коммюнити эдишн - урезанная и триальная версия?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #309 Ответы: #314, #315

314. Сообщение от Аноним (305), 29-Мрт-21, 07:35   +/
по-русски - https://www.embarcadero.com/ru/products/delphi/product-editions
https://www.embarcadero.com/docs/Delphi-Feature-Matrix.pdf
https://www.embarcadero.com/docs/rad-studio-feature-matrix.pdf

Линукса в коммюнити не было.

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

315. Сообщение от Аноним (305), 29-Мрт-21, 07:38   +/
https://www.embarcadero.com/ru/products/delphi/starter -

Delphi Community Edition предоставляет возможность использования встроенных профессиональных инструментов разработки с самого первого дня.

Разработка приложений для Windows, macOS, Android и iOS осуществляется с использованием единой базы кода.

Визуальная разработка с использованием программных каркасов Delphi VCL и FireMonkey.

Built-in Debugging Tools and integrated toolchain that allow you to debug on any device

Rapidly build database apps with data binding and local/embedded capabilities

Сотни встроенных компонентов позволяют повысить уровень разрабатываемых приложений и сократить количество циклов разработки.

Direct access REST services and local/embedded databases such as InterBase, SQLite, MySQL, and more.

​Лицензия на использование продолжает действовать до тех пор, пока прибыль физического лица или компании от приложений Delphi не достигнет 5 000 долларов США, или штат команды разработчиков не превысит 5 человек.

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

316. Сообщение от Аноним (316), 29-Мрт-21, 14:12   +1 +/
Страус труп, получается?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #300

317. Сообщение от Cykooz (ok), 29-Мрт-21, 14:58   +/
Если для вас макросы и функции это одно и то же, то может расскажете как в том же C++ или C сделать именно функцию, которая вызывалась бы похожим образом:

lisp!(
defun is_whitespace ((b u8)) bool
    (match b
        (0x20 | 0x09 | 0x85 | 0x0a | 0x0b | 0x0c | 0x0d => (true))
        (_ => (false) ))
);

Это пример использования Rust-макроса для lisp-like DSL.

writeln! - это совсем не функция и в принципе не сможет в Rust стать функцией ни какими constexpr. Просто потому, что в Rust функции не могут принимать переменное число аргументов. А макросы могут "эмулировать" передачу переменного числа аргументов. Что собственно и делается в writeln!, и что отличает её от абстрактной функции write.

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

А ещё от функции можно получить ссылку, а от макроса - нельзя.

И с макросами в Rust даже не обязательно использовать именно круглые скобки для передачи "аргументов" - можно фигурные или квадратные (например vec![0; 10] - вот как тут убрать восклицательный знак?).

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

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

318. Сообщение от Урри (ok), 29-Мрт-21, 17:42   –1 +/
Вы не понимаете, что значит "семантически"? А что такое "алгоритмизация" знаете?

То, что вы написали никакого отношения к программированию не имеет. Зато имеет отношение к трансляции - переводу из одного представления (например, на языке rust) в другое (например, на языке asm).

Только вот в чем засада - трансляцией уже более 40 лет занимаются трансляторы(компиляторы), причем очень успешно. Это не работа человека. Это, в данном случае, работа компилятора rust.

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

--
Так вот, возвращаясь к тому, что написали вы. Ваш комментарий никакого отношения к понятиям "функция" не имеет. Он имеет отношение к понятию "трансляции языковых единиц rust под условным названием "function" и "macro" в низкоуровневое представление". В лиспе, между прочим, различия между макросами и функциями не вводятся, не так ли?

Рекомендую почитать курс MIT sicp (pdf на русском - https://newstar.rinet.ru/~goga/sicp/sicp.pdf). Осилив книгу вы сможете вполне спокойно писать на более чем 300 (трехстах) из существующих языков программирования (приблизительный список с примерами можно глянуть здесь: http://rosettacode.org/wiki/Hello_world/Text).

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

320. Сообщение от Имя (?), 30-Мрт-21, 10:28   +/
А русского термина нет, сладкие мои птенчики? Ну што за ДЖЕНЕРИКИ-то, а?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #321

321. Сообщение от Аноним (305), 30-Мрт-21, 14:17   +/
"термин" - не русский термин.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #320 Ответы: #322

322. Сообщение от Аноним (322), 30-Мрт-21, 16:02   +/
Слово "термин" уже более 300 лет с нами. Так что рот свой на замок закрой
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #321

323. Сообщение от Аноним (268), 30-Мрт-21, 16:04   +/
> sicp
> Code complete

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

Судя по комментариям, Урри-таки хаскелист, увидевший картиночку с xkcd и пописавший пару строчек на lisp. А судя по выводам, то не факт, что даже до хотя бы HelloWorld дошло.

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

324. Сообщение от Аноним (268), 30-Мрт-21, 16:07   +/
> actix
> FireCracker
> ...

Если для Вас это

> хелловорлд

то что же Вы разрабатываете? Вселенную?
https://xkcd.com/224/

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

325. Сообщение от Vindex (?), 01-Апр-21, 18:47   +/
Учитывая, как часто появляются новые пакеты для D в Dub registry, он будет иметь популярность в узких кругах ещё долго. Сам дома только на нём и пишу. Коммерчески значимые проекты тоже писал
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #270

326. Сообщение от Spiker01email (?), 01-Апр-21, 19:32   +/
>  П.С.: На почётном втором месте по дерьмовости в плане работы с зависимостями у нас Python. Это почти такое же дерьмо, как C++, никогда и ничего не запускается с первого раза, для проектов сложнее HelloWorld вечно требуется часами шаманить, выясняя, что и в каком порядке разворачивать и куда каких симлинков напихать, чтоб завелось.

"Плюсую". Не писал на Python-е ничего сложного на данный момент и против данного языка ничего не имею, как и за. Моя ситуация: На Linux-е устанавливал софт работающий с Python(из репозитариев), после этого перестал запускаться Terminator(Терминал который мне очень нравился и которым я постоянно пользовался). В итоге обновил Python, Обновил Terminator, попробовал поставить зависимости которые просит при запуске из терминала Terminator. В итоге он так и не запускается. Переехал на Kitty.

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

327. Сообщение от Настоящий Директор (?), 04-Апр-21, 12:16   +/
> Народ в ЕС набирали год назад, у нас в компании на нем пилили одну штуку,

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

> развивается бурно

Ага прям как фанаты Моргенштерна


> Уолтер даже переносит фичи из Раста и модерн С+

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

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


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

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




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

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