1.1, Аноним (1), 09:52, 05/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Почему пишут что развиваемого Mozilla? Вроде как Mozilla там уже давно не причем. Даже в оф доках мозилла не упоминается больше нигде.
| |
1.3, Аноним (3), 10:13, 05/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> обеспечивает автоматическое управление памятью
не обеспечивает ведь, это то, что он призван избегать
| |
|
|
3.24, Аноним (24), 17:32, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Похоже Аноним выше путает 'автоматическое' и 'динамическое' управление.
| |
|
2.5, Andrey Mitrofanov_N0 (??), 10:45, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
>> обеспечивает автоматическое управление памятью
> не обеспечивает ведь, это то, что он призван избегать
Вы в отрицаниях-то не путайтесь................
То, что в ём нет сборки мусора...
...не означает, что "управление ресурсами" (подсчёт ссылок, передача владения, другие правильные приседания) --
-- не управление памятью.
..."" important in Rust because we have no pervasive GC to rely on for memory management. "" --https://doc.rust-lang.org/nomicon/obrm.html
И да, оно "автоматическое" по большей части, видимо. Более автоматическое, чем "традиционное" Си-шное... КМК
| |
|
3.6, КО (?), 10:56, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
подсчет ссылок это тоже вариант запуска GC, но как указано в приведенной Вами цитате, он не pervasive.
| |
|
4.7, Andrey Mitrofanov_N0 (??), 11:04, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> подсчет ссылок это тоже вариант запуска GC, но как указано в приведенной
> Вами цитате, он не pervasive.
Вы мне это прекратите, не путайте!!!...
...подсчёт ссылок и подсчёт ссылок. В rust же подсчёт ссылок, а в сканировании памяти в GC - подсчёт ссылок.
И это три большие разницы! Совсем не похоже даже.
| |
|
5.8, funny.falcon (?), 11:36, 05/07/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Оппонент сказал, что RC является разновидностью GC. И это правда. Просто прочитайте немного про теорию GC.
Все книжки, статьи по GC начинаются с того, что есть два базовых алгоритма GC: RC и TracingGC. (Базовый TracingGC в свою очередь делится на базовый Mark&Sweep и базовый copying).
Если вы почитаете теорию по оптимизации и совершенствовании RC, то увидите, что все улучшения RC сводятся к внесению в него элементов TracingGC: cycle detection, delayed stack scanning и прочее.
Так что, разница есть, но есть и много общего.
| |
|
6.9, Andrey Mitrofanov_N0 (??), 12:49, 05/07/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Оппонент сказал, что RC является разновидностью GC. И это правда.
RC и GC - разновидности MM.
>Просто прочитайте
> немного про теорию GC.
О семантике, что ли, поговорим? Расширительное против узкого толкования?
Спасибнунафиг. Сам иди.
| |
6.10, Andrey Mitrofanov_N0 (??), 12:55, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
>>>подсчет ссылок это тоже вариант запуска GC
> Оппонент сказал, что RC является разновидностью GC. И это правда.
И да, он сказал совсем не это.
Про "запуск" - особенно мило.
Опять самозванные капитаны набегают.... Бида.
malloc()/free() -- "это тоже вариант запуска GC" (ц) КО-самозванец.
>Просто прочитайте немного
Да! "Просто прочитайте", что он написал.
| |
|
7.11, Sw00p aka Jerom (?), 13:11, 05/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
>malloc()/free() -- "это тоже вариант запуска GC" (ц) КО-самозванец.
таки да, и благодарить за это нужно тех кто не правильно понял понятие "бесконечной ленты Тьюринга" и архитектуру Фон Неймана.
| |
|
|
5.15, Junior frontend developer (?), 14:49, 05/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
В расте memory management времени компиляции. То есть статический и ручной, хотя и значительно более автоматический, чем в C языках. RC сборка мусора строго по желанию.
| |
|
4.40, epishman (ok), 00:38, 06/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
В расте подсчет ссылок не более чем опция, основной режим - автоматическая деструкция в момент выхода переменной из области видимости.
| |
|
5.53, Andrey Mitrofanov_N0 (??), 12:03, 08/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> В расте подсчет ссылок не более чем опция, основной режим - автоматическая
> деструкция в момент выхода переменной из области видимости.
Прямо как в Си?? Не может быть.
| |
|
|
|
|
|
|
3.19, iLex (ok), 16:06, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Там клавиатурный тренажёр. Когда через каждые две строчки приходится набирать конструкции вроде
self.node.upgrade().unwrap().read().unwrap().db.write().unwrap().tx = num
то начинаешь думать, что язык разрабатывался в качестве замены программы "Соло на клавиатуре" с целью повысить скорость печати кодеров.
| |
|
4.21, fghj (?), 16:32, 05/07/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Когда через каждые две строчки приходится набирать конструкции вроде
> self.node.upgrade().unwrap().read().unwrap().db.write().unwrap().tx = num
Так это же здорово, чем меньше "кодеров" которые ошибки не могут нормально обработать,
тем лучше. Значит отличный синтаксис.
| |
4.23, Anonim (??), 17:14, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
>программы "Соло на клавиатуре" с целью повысить скорость печати кодеров.
Она для этого, мягко говоря, не подходит
| |
|
3.26, freehck (ok), 19:37, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Чо там, 3 вида скобок? Упорыши, конченные!
В ANSI C тоже три вида скобок. Вот же упороши конченные, а? =)
| |
3.35, Аноним84701 (ok), 22:00, 05/07/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Чо там, 3 вида скобок? Упорыши, конченные!
В смысле - слишком мало вариантов написания, по сравнению с "классикой"?
??=include <stdio.h>
%:include <stdint.h>
int hi(void) <% return 1337; }
int main(void) <%
int foo[10:> = ??< 0 %> ;
foo<:0] = 1337;
printf("hello %d %d", foo??(0??), hi());
return 0;
??>
% gcc -std=c99 hello.c && ./a.out
hello 1337 1337%
| |
|
4.42, Аноним (42), 08:46, 06/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Триграфы в сишечке - это архаизм, а попытка их выдать за "common practice" - натягивание совы на глобус и жульничество.
| |
|
5.47, Аноним84701 (ok), 11:44, 06/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> а попытка их выдать за "common practice" - натягивание совы на глобус и жульничество.
В примере только 3 (вот ведь совпадение!) вида скобок в разных, допустимых вариантах написания.
Где и почему вы там углядели попытку выдать эти варианты за "common practice" -- непонятно.
Как впрочем и обоснование (не)"упоротости" по количеству задействованных вариантов скобок: 3 варианта - норма, 4 варианта "упоротость!!".
| |
|
|
|
|
1.18, Sphynkx (ok), 15:31, 05/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Надо как-то навести порядок с библиотеками. Репа большая, но много либ брошенных, недописанных, прототипов/проб.. Что-либо серьезное написать может оказаться трудно по неожиданным причинам ;-))
| |
1.20, Аноним (20), 16:14, 05/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Был у нас в универе тренировочный проект на Си, вот всё хочу попробовать написать подобный на Rust, чтобы посмотреть, так сказать, что он из себя представляет и на сколько он "убийца Си"
| |
|
2.49, Илья (??), 08:16, 07/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Держите в курсе. Не забудьте выложить на гитхаб. Вот вам описание вашего проекта:
"Simple, functional, free, idiomatic, component-based cross-platform toolkit for developing beautiful zero-cost reliable and efficient software."
Обожаю английский, можно с серьёзным видом лить воду, и получается очень даже ничего
| |
|
1.22, Аноним (22), 16:47, 05/07/2019 [ответить] [﹢﹢﹢] [ · · · ] | +2 +/– | Мне в Расте не нравятся две вещи 1 Работа со строками Из предпосылки, что ра... большой текст свёрнут, показать | |
|
2.25, Ordu (ok), 17:41, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Из предпосылки, что работа с Юникодом требует продуманного подхода разрабы Раста сделали странный вывод, что всю работу с Юникодом нужно просто переложить на плечи программистов.
Этот вывод был сделан из другой предпосылки: zero cost abstractions. Скорость выполнения программы -- это небесплатная вещь для программиста, многие абстракции усложняют написание быстрой программы, потому что прячут тормозные операции. Но если есть корреляция между тормознутостью операции и многословностью её описания, то написание программы становится сложнее, но становится проще видеть где возникают тормоза.
С ориентацией на скорость программ можно соглашаться или не соглашаться -- это личное дело каждого, но я к тому, что вывод сделанный разработчиками раста вовсе не странный, а очень закономерный.
| |
|
3.27, Аноним (27), 20:34, 05/07/2019 [^] [^^] [^^^] [ответить] | +/– | А ниче что уже изобрели такое понятие как DLL Правильный ответ почему они не сд... большой текст свёрнут, показать | |
|
4.28, Ordu (ok), 20:57, 05/07/2019 [^] [^^] [^^^] [ответить] | +2 +/– | Я бы рекомендовал, прежде чем критиковать, всё же ознакомиться с документацией ... большой текст свёрнут, показать | |
|
|
|
7.33, Аноним (27), 21:45, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо.
Вот все, кто там кричит, что в расте все ок с юникодом гляньте в этот проект и посмотрите сколько тут работы сделано.
| |
|
|
9.37, Аноним (27), 22:32, 05/07/2019 [^] [^^] [^^^] [ответить] | –2 +/– | Я всем доволен Просто не надо говорить, что вот-вот любой прям ща за пару часов... текст свёрнут, показать | |
|
|
|
6.39, Ordu (ok), 23:17, 05/07/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Я все правильно прочитал. Ты просто не знаешь всех возможностей ICU, чтобы
> говорить в таком тоне про юникод и как с ним "просто"
> работать.
Каких например возможностей ICU, по-твоему, я не знаю?
> Ты вот скажи, какой из этих двух примеров правильный:
> 1. https://docs.rs/alphanumeric-sort/1.0.6/alphanumeric_sort/
> 2. https://github.com/ucarion/natural-sort-rs
Никакой из них не правильный. Нет какого-то общепринятого правила, которое позволило бы говорить, что правильно, а что нет. Правильное правило определяется человеческой психикой, но человеческая психика не существует, существует много психик многих разных людей, the человеческая психика -- это абстракция, которую нужно использовать с осторожностью. И это подтверждается тем количеством примеров, которые тут приведены в треде.
| |
|
|
6.50, Ordu (ok), 11:01, 07/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Хм. Действительно. Но я вроде видел там класс Grapheme. Попутал видимо что-то.
| |
|
|
4.29, Аноним (32), 21:02, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
>> Надо сначала запилить свою либу для юникода?
Ты совсем упоролся или выпил крепко? В расте Юникод из коробки.
| |
|
5.41, epishman (ok), 00:43, 06/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Он не упоролся, его просто дважды на хабре упороли, и в лоре только что забанили, вот он прибежал изливать жидкость сюда :)))
| |
|
4.36, Аноним84701 (ok), 22:19, 05/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> zero cost abstractions
>> Скорость выполнения программы -- это небесплатная вещь для программиста, многие абстракции усложняют написание быстрой программы, потому что прячут тормозные операции
> А ниче что уже изобрели такое понятие как DLL? Правильный ответ почему
Побуду Кэпом:
если вы спрячите абстракцию в DLL, то быстрее она не станет, скорее медленнее (вызов функции VS. инлайн).
Ваш КО.
> Я вот про отсутствие юникода только сейчас узнал и это просто феерично.
https://doc.rust-lang.org/std/primitive.char.html
> A character type.
> The char type represents a single character. More specifically, since 'character' isn't a well-defined concept in Unicode,
> char is a 'Unicode scalar value', which is similar to, but not the same as, a 'Unicode code point'.
Ох уж эти фееричные анонимы с фееричными комментариями к фееричным новостям.
| |
|
5.38, Аноним (27), 22:36, 05/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
>если вы спрячите абстракцию в DLL, то быстрее она не станет, скорее медленнее (вызов функции VS. инлайн).
Ну не надо этого. Выше уже дали пример конвертора кодировок на расте. Иди заинлайн его. Это даже не проблема раста, это в любом ЯП так. Все что не вмещается в 25 (условно) строчек переделывается (рефакторится, называйте как хотите) в функции _со_всеми_вытекающими_ последствиями.
Зачем? Чтобы легче было как минимум это поддерживать и тестировать. В любом ЯП.
| |
|
|
|
|
1.46, Аноним (43), 10:45, 06/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Раздражает - почему на первом месте при упомниании раста стоит безопасное управление паматью, а не единая, удобная система документации (в т.ч. и для сторонних библиотек).
Это кмк самый сильный буст языку из всех возможных
| |
|
2.48, epishman (ok), 17:37, 06/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Система документации хорошая, но в большинстве крейтов лишь нагенеренная дока, и пара дохлых примеров, дока это как раз слабая сторона, приходится постоянно в чятике сидеть а не работать...
| |
|
3.51, burjui (ok), 20:00, 07/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
А ещё, внезапно, можно читать исходники вместо того, чтобы сидеть в каком-то непонятном "чятике" и ковырять в носу. Работнички, мля.
| |
|
|
1.52, Zloten (?), 20:02, 07/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Мне одному кажется, что ребята сотворили несостворимое, а именно ЯП более уродливый чем плюсы...
| |
|
2.54, Andrey Mitrofanov_N0 (??), 12:07, 08/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Мне одному кажется, что ребята сотворили несостворимое, а именно ЯП более уродливый
> чем плюсы...
В питоне-3 это исправят.
| |
|
|