[00:00:21] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <и где ты их тут виде…>
ну так я не про конкретно тут, я про новые парадигмы )
[00:04:19] <ada_ru> (reznikmm) отвечает (Gourytch) на <кстати ещё интересны…>
Нижний индекс будет с первого значения индексного типа, если Positive то с 1, если Natural то с 0, а можешь свой подтип зафигачить, тогда хоть с 10-ти начинай...
[00:05:21] <ada_ru> (I_vlxy_I) Ооо! Натурал! Натурал - это хорошо.
[00:06:47] <ada_ru> (I_vlxy_I) значит надо на натурала заменить
[00:06:57] <ada_ru> (I_vlxy_I) вычислеия сильно проще станут
[00:07:05] <ada_ru> (I_vlxy_I) без этих танцев с +-1
[00:07:34] <ada_ru> (nitrocerber) натурал - неполиткорректно так то
[00:07:46] <ada_ru> (nitrocerber) цисгендерное целочисленное
[00:08:00] <ada_ru> (I_vlxy_I) отвечает (nitrocerber) на <цисгендерное целочис…>
фу!
[00:08:08] <ada_ru> (I_vlxy_I) целый цисгендер...
[00:17:43] <ada_ru> (I_vlxy_I) натурально с 0 удобней же!
[00:18:03] <ada_ru> (reznikmm) отвечает (I_vlxy_I) на <натурально с 0 удобн…>
Не замечал :)
[00:18:23] <ada_ru> (I_vlxy_I) ну, см. формулы выше
[00:18:36] <ada_ru> (I_vlxy_I) https://gist.github.com/valexey/4ff4f4fc00b67ff4064d26638ad46732
[00:18:42] <ada_ru> (I_vlxy_I) вот это
[00:19:13] <ada_ru> (Gourytch) (* напевает себе под нос: «хаотичность бытия это самый грустный фактор» *)
[00:19:22] <ada_ru> (I_vlxy_I) (Y-Map(Map'First)'First)
[00:19:26] <ada_ru> (I_vlxy_I) ня!
[00:19:41] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <(* напевает себе под…>
что-то у тебя комменты какие-то Оберон-стайл 🙂
[00:20:00] <ada_ru> (Gourytch) паскакаль моей души )
[00:20:11] <ada_ru> (I_vlxy_I) это какой-то не тот паскаль
[00:20:20] <ada_ru> (I_vlxy_I) в трубо паскакале было {} вроде
[00:20:39] <ada_ru> (Gourytch) ну так это уже модный новый
[00:20:42] <ada_ru> (I_vlxy_I) помню паскалисты еще издевались, что сишники весь свой код в комментах зачем-то пишут
[00:21:34] <ada_ru> (Gourytch) А трушные каменты - это (* *)
[00:22:06] <ada_ru> (Gourytch) фигурные скобочки - попсня =)
[00:23:50] <ada_ru> (I_vlxy_I) кстати!
а если у меня есть функция/procedure foo, оно принимает на in какой-нибудь record, я могу в месте вызова этого foo прямо аргумент задать?
type Point is record with x,y : Integer; end record;
procedure Foo(p : in Point);
...
Foo(Point(10,20)); -- как-то так можно?
[00:24:02] <ada_ru> (Gourytch) фрипаскакаль вообще даже в // может
[00:24:45] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <фрипаскакаль вообще …>
там и шаблоны есть
[00:25:09] <ada_ru> (I_vlxy_I) и даже объявления переменных по месту, а не хз где
[00:25:43] <ada_ru> (Gourytch) кошмар. негде скрыться ректроградам )
[00:26:01] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <кошмар. негде скрыть…>
только Оберон, только хардкор!
[00:26:45] <ada_ru> (Gourytch) оберон да смолтолк, наверное )
[00:26:47] <ada_ru> (reznikmm) отвечает (I_vlxy_I) на <кстати!
а если у мен…>
Конечно. Можно агрегат писать
[00:27:01] <ada_ru> (I_vlxy_I) отвечает (reznikmm) на <Конечно. Можно агрег…>
как? просто (20,30)?
[00:27:05] <ada_ru> (Gourytch) а, кобол ещё же! )
[00:27:29] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <а, кобол ещё же! )>
актуален! кстати! IBM на прошлой неделе должен был выложить на гитхаб курс. надо чекнуть
[00:27:33] <ada_ru> (reznikmm) Foo((10,20)); или Foo((x => 10, y => 20)); или Foo(Point'(10,20));
[00:28:19] <ada_ru> (I_vlxy_I) отвечает (reznikmm) на <Foo((10,20)); или Fo…>
о! последний вариант самый няшный
[00:28:28] <ada_ru> (I_vlxy_I) самый явный ибо
[00:28:50] <ada_ru> (Gourytch) otthers => 0 =)
[00:29:09] <ada_ru> (I_vlxy_I) еще бы мне понять чем в Аде отличается Foo'Bar от Foo.Bar и зачем вообще так? в чем отличие и когда что юзать.
[00:29:11] <ada_ru> (Gourytch) (или ousters?)
[00:29:28] <ada_ru> (I_vlxy_I) Кстати! Выложили! https://github.com/openmainframeproject/cobol-programming-course
[00:29:41] <ada_ru> (I_vlxy_I) А еще есть вот такой курс: https://github.com/IBM/kubernetes-cobol
[00:30:15] <ada_ru> (I_vlxy_I) кобол и кубернетис! неплохо, а?! стильно. модно! молодежно!
[00:30:42] <ada_ru> (I_vlxy_I) COBOL Programming with VSCode.pdf
[00:37:55] <ada_ru> (Gourytch) умилило тут:
https://www.tutorialspoint.com/cobol/
сперва говорится: кобол такая вещ, её инмсруменмарцй(tm) - он почти под все платформы есть
и, в следующей главе:
а давайте теперь сделаем окружение для работы. это делается просто: для начала надо поставить эмулятор мейнфрейма... =)
[00:38:22] <ada_ru> (I_vlxy_I) ну, под все НОРМАЛЬНЫЕ ПЛАТФОРМЫ
[00:38:30] <ada_ru> (I_vlxy_I) а не под терминалы к ним 🙂
[00:38:35] <ada_ru> (Gourytch) =)))
[00:39:18] <ada_ru> (Gourytch) вот интересно: геркулес под винду есть, а есть вайн под зиос? =)
[00:39:56] <ada_ru> (Gourytch) (хотя злинух же есть, можно собрать какойнть куему или боцхс)
[00:42:28] <ada_ru> (I_vlxy_I) а нафига там эти несерьезные эмуляторы непонятно каких дивайсов? чтобы поиграться? дык майнфрейм он не для игрушечек, он для серьезных дел!
[00:44:56] <ada_ru> (Gourytch) ну так-то да, процессорное время - оно денежек стоит
[00:45:12] <ada_ru> (reznikmm) отвечает (I_vlxy_I) на <еще бы мне понять че…>
Вариант со штрихом используется когда нужно компилятору указать тип выражения
[00:46:46] <ada_ru> (Gourytch) T'Image
[00:47:52] <ada_ru> (reznikmm) отвечает (Gourytch) на <T'Image>
Нет, там скобки после штриха. тип'(выражение)
[00:49:32] <ada_ru> (reznikmm) @I_vlxy_I не осилил я компилятор protobuf за выходные, даже в тривиальном виде 🙁
[00:50:11] <ada_ru> (reznikmm) Там, оказывается, можно фигачить циклические типы
[00:50:14] <ada_ru> (Gourytch) отвечает (reznikmm) на <Нет, там скобки посл…>
не. я про другое подумал просто: можно ли атрибут Image перекрыть на свой?
[00:50:43] <ada_ru> (reznikmm) отвечает (Gourytch) на <не. я про другое под…>
Сейчас нет, обещали в 202х
[00:50:45] <ada_ru> (I_vlxy_I) отвечает (reznikmm) на <Там, оказывается, мо…>
Да, можно. И это круто :-)
[00:51:05] <ada_ru> (reznikmm) отвечает (I_vlxy_I) на <Да, можно. И это кру…>
Часто нужно это?
[00:51:07] <ada_ru> (Gourytch) отвечает (reznikmm) на <Сейчас нет, обещали …>
прогресс.
[00:51:42] <ada_ru> (Gourytch) дерево смастерить можно без указателей =)
[00:51:44] <ada_ru> (reznikmm) Я хотел первый вариант запилить тупо без циклических типов...
[00:52:55] <ada_ru> (reznikmm) Хз как в Аде циклические типы без указателей. Скорее всего никак
[00:53:36] <ada_ru> (reznikmm) А с указателями всё становится сложно или некрасиво
[00:54:16] <ada_ru> (Gourytch) лучше неказисто, но есть, чем красиво, но нет =)
[00:55:14] <ada_ru> (reznikmm) Прикол в том, что сериализировать объект, где есть цикл, в protobuf нельзя, как я понимаю
[00:57:42] <ada_ru> (Gourytch) хм. а в каких объектах у нас может быть цикл (не рекурсия)?
[00:59:04] <ada_ru> (reznikmm) Ну студент указывает на курс, а курс на студентов
[01:00:03] <ada_ru> (Gourytch) а... ссылки, которые циклы. точно.
мозги спят
[01:00:17] <ada_ru> (reznikmm) Пора и нам...
[01:00:52] <ada_ru> (Gourytch) всем снов. и не болеть )
[02:38:11] <ada_ru> (I_vlxy_I) Что-то Раст от меня странного хочет. Там что, по умолчанию переменные в функцию муваются шоле?
[03:12:28] <ada_ru> (insert_reference_here) отвечает (reznikmm) на <Меня бы устроило
fu…>
А что за Universal string?
[03:12:51] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <Что-то Раст от меня …>
Да. В расте в принципе мув по умолчанию
[03:15:15] <ada_ru> (insert_reference_here) отвечает (Oleg) на <Под Embedded боюсь п…>
Почему это? Не, там, конечно, есть шероховатости, но в целом Rust на bare metal — это реально и достаточно удобно
[03:16:35] <ada_ru> (insert_reference_here) отвечает (mister_alexander) на <Ада, Раст или Модула…>
А Modula-3 разве была?
[03:16:40] <ada_ru> (Oleg) отвечает (insert_reference_here) на <Почему это? Не, там,…>
Потому что неудобно , отладка - мука, проектов ооочень мало
[03:17:17] <ada_ru> (Oleg) Куча платформ не поддерживается
[03:17:31] <ada_ru> (mister_alexander) отвечает (insert_reference_here) на <А Modula-3 разве был…>
Не слышал.
Знаю только про Modula-4 и Modula-5
[03:18:25] <ada_ru> (insert_reference_here) отвечает (nitrocerber) на <Ты хочешь не видеть …>
Причём тут магия вообще? Массивы разве стирают тип?
[03:18:46] <ada_ru> (insert_reference_here) отвечает (Oleg) на <Потому что неудобно …>
В чём неудобство?
[03:19:26] <ada_ru> (Oleg) Завтра покажу как дебажить в C - и все сразу станет понятно
[03:19:49] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <в том смысле, что, н…>
Так, а массивы в Ada типа не дженерики?
[03:20:37] <ada_ru> (Oleg) Ну конечно если доставляет удовольствие 3 недели отлаживать то что можно сделать за 3 дня , то можно и раст.
[03:20:53] <ada_ru> (Oleg) Но что вы опять в Раст скатились ?
[03:21:05] <ada_ru> (Oleg) Про Аду давайте!
[03:29:39] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <А Modula-3 разве был…>
Была и есть
[03:30:12] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Так, а массивы в Ada…>
Нет. Массивы там первородные штуки. Языковые. Но есть и контейнеры
[03:31:42] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Да. В расте в принци…>
А нафига? Нафига так даже для POD структур?
[03:33:02] <ada_ru> (insert_reference_here) отвечает (Oleg) на <Ну конечно если дост…>
А можно вместо FUD услышать что-то более конкретное?
[03:33:20] <ada_ru> (I_vlxy_I) Тупо struct Point {x : i32; y : i32}; и вот это - мучается. Причём я не понимаю в каком смысле тут мув случается.
[03:34:26] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <Тупо struct Point {x…>
#[derive(Clone, Copy)], если тебе это так сильно не нравится
[03:35:15] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <А нафига? Нафига так…>
А как делать свои типы, которые не должны неявно копироваться?
[03:35:36] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <А как делать свои ти…>
запретить явным образом для таких типов
[03:35:38] <ada_ru> (I_vlxy_I) например
[03:35:56] <ada_ru> (Oleg) отвечает (insert_reference_here) на <А можно вместо FUD у…>
Конкретно : запускаю программу, ставлю мышкой на коде точки останова, например в обработчике прерывания, стопится прога, открываю окошко, там выбираю например перефирию, например I2C , там все регистры и биты в них, щелкаю по биту - выставил. Все посмотрел, что надо записал, пошагово дальше выполнил
[03:36:19] <ada_ru> (Oleg) Кто мне это все сделает для раста? Мозила?
[03:37:06] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <запретить явным обра…>
В C++ так и сделали, последствия кривой move-семантики разгребают до сих пор
[03:37:34] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <В C++ так и сделали,…>
эмм.. мув семантики в с++ отродясь не было. это новое приобретение
[03:39:03] <ada_ru> (I_vlxy_I) @insert_reference_here а чем трайт клон от копи отличается?
[03:40:01] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <@insert_reference_he…>
Clone даёт унифицированный способ сделать копию значения, Copy делает копирование неявным
[03:40:20] <ada_ru> (I_vlxy_I) когда какой юзается?
[03:40:43] <ada_ru> (insert_reference_here) Вдобавок у типа, для которого определён Copy, не может быть пользовательской реализации Drop
[03:42:04] <ada_ru> (I_vlxy_I) ооо! а вот это уже серьезно
[03:42:16] <ada_ru> (I_vlxy_I) то есть Copy == POD по сути
[03:43:10] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <когда какой юзается?>
Строгой инструкции нет, но в целом Clone означает, что значение можно дублировать, при этом операция clone может быть (и скорее всего, будет) относительно дорогой. Copy означает, что значения типа дёшево копировать
[03:44:56] <ada_ru> (insert_reference_here) Правда, при это возникает несколько странно выглядящие ситуации, когда [[u8; 12000]; 12000] реализует Copy
[03:45:27] <ada_ru> (I_vlxy_I) дык это ж POD 🙂
[03:45:49] <ada_ru> (I_vlxy_I) а чем мне грозит реализация только Copy? без Clone
[03:46:02] <ada_ru> (I_vlxy_I) что с моим типом нельзя будет делать?
[03:46:12] <ada_ru> (I_vlxy_I) Drop мне не нужен.
[03:46:15] <ada_ru> (I_vlxy_I) просто структурка
[03:46:19] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <а чем мне грозит реа…>
Ты не сможешь так сделать
[03:46:32] <ada_ru> (I_vlxy_I) м?
[03:47:03] <ada_ru> (insert_reference_here) У Copy ограничение в виде Clone
[03:48:46] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <У Copy ограничение в…>
вот этого я не понял
[03:50:57] <ada_ru> (insert_reference_here) Для того, чтобы тип мог реализовывать Copy, необходимо, чтобы он реализовывал Clone
[03:51:59] <ada_ru> (I_vlxy_I) короче, я правильно понимаю, что Copy это такая разновидность Clone, где функция clone реализуется компилятором и сводится к перекладыванию битиков?
[03:52:24] <ada_ru> (insert_reference_here) отвечает (insert_reference_here) на <Для того, чтобы тип …>
https://doc.rust-lang.org/stable/std/marker/trait.Copy.html
[03:52:32] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <короче, я правильно …>
Да
[03:53:11] <ada_ru> (I_vlxy_I) ok. спасибо
[03:54:00] <ada_ru> (insert_reference_here) Ещё конкретно по твоему вопросу: https://doc.rust-lang.org/stable/std/marker/trait.Copy.html#when-should-my-type-be-copy
[03:56:33] <ada_ru> (I_vlxy_I) доки у раста конечно отменные
[03:57:17] <ada_ru> (insert_reference_here) Не все.
[03:57:52] <ada_ru> (insert_reference_here) Не очень документация по pin и std::ptr::NonNull
[03:58:19] <ada_ru> (I_vlxy_I) я, кроме всего прочего, про техническое исполнение док и их доступность
[03:59:15] <ada_ru> (I_vlxy_I) я да этих трайтов, как ты их упомянул, еще в середине разговора добрался через SDL2 биндинг - посмотрел как там реализован Color и там эти трайты в доке на Color перечислены
[03:59:16] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <я, кроме всего проче…>
Это да
[03:59:30] <ada_ru> (I_vlxy_I) со ссылочками
[03:59:32] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <я да этих трайтов, к…>
*трейты
[04:02:16] <ada_ru> (I_vlxy_I) ладно, баланс фрустраций Ада-Раст на сегодня восстановлен. Пойду спать 🙂
[07:50:50] <ada_ru> (geniepro) отвечает (insert_reference_here) на <Причём тут магия воо…>
это что ещё за такие модулы? больше чем про модулу-3 я и не слышал ещё...
[08:06:23] <ada_ru> (geniepro) отвечает (mister_alexander) на <Не слышал.
Знаю толь…>
что это за модулы такие? я только про максимум модулу-3 слышал...
[09:14:09] <ada_ru> (reznikmm) отвечает (insert_reference_here) на <А что за Universal s…>
Это тип из матрешки, строки с поддержкой юникода...
[09:14:57] <ada_ru> (geniepro) а почему Universal, а не Unicode, например?
[09:16:15] <ada_ru> (reznikmm) Это лучше у Вадим спросить 🙂
[09:18:59] <ada_ru> (Vadim) Потому что у всех Unicode. А у нас всё что угодно, но по законам Unicode :)
[09:50:10] <ada_ru> (Vadim) И вообще, даёшь использование Magic! (String и потоковый JSON уже есть)
[10:08:22] <ada_ru> (reznikmm) отвечает (Vadim) на <И вообще, даёшь испо…>
Они не в курсе, что это!
[10:08:47] <ada_ru> (Vadim) Макс! Это как так!
[10:09:29] <ada_ru> (Vadim) "Отечественный" проект который возможно получится впихнуть в "иностранную" промышленность!
[11:39:40] <ada_ru> (I_vlxy_I) отвечает (Vadim) на <И вообще, даёшь испо…>
Это чего такое?
[11:40:54] <ada_ru> (Vadim) Новое поколение развития Матрёшки. См. github, проект gnatcoll-text
[12:39:09] <ada_ru> (I_vlxy_I) Что-то в Аде походу до сих пор шатаемы со строками. До сих пор изобретают строки помимо стандартной
[12:41:05] <ada_ru> (insert_reference_here) отвечает (reznikmm) на <Это тип из матрешки,…>
Меня больше управление памятью волнует. Это владеющий тип?
[12:42:34] <ada_ru> (reznikmm) отвечает (insert_reference_here) на <Меня больше управлен…>
Ну это copy on write с подсчётом ссылок
[12:43:46] <ada_ru> (insert_reference_here) отвечает (reznikmm) на <Ну это copy on write…>
Ну блин (
[12:44:35] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Ну блин (>
А ты бы что предпочёл? Ручное управление?
[12:44:52] <ada_ru> (I_vlxy_I) Хотя CoW для строк это конечно не оптимально обычно
[12:45:01] <ada_ru> (I_vlxy_I) От этого в цпп отказались
[12:45:32] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <А ты бы что предпочё…>
Я предпочёл бы не иметь оверхед на подсчёт ссылок и тем более на CoW, когда мне это нафиг не нужно
[12:46:08] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Я предпочёл бы не им…>
То есть ты бы предпочёл как в современных плюсах?
[12:46:34] <ada_ru> (I_vlxy_I) И чтобы оно просто целиком каждый раз копировалось/мувалось?
[12:46:45] <ada_ru> (I_vlxy_I) Но мув-семантики в Аде нет :-(
[12:47:15] <ada_ru> (I_vlxy_I) Тут у неё примерно, как я понимаю, уровень с++98
[12:48:04] <ada_ru> (I_vlxy_I) И уровень понимания что это такое и зачем это нужно у сообщества, примерно тот же
[12:48:22] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <То есть ты бы предпо…>
Нет, в плюсах слишком легко получить дохлый string_view
[12:49:26] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Нет, в плюсах слишко…>
Забудь про него. Я про string сам по себе
[12:57:12] <ada_ru> (Vadim) Так а какой вариант сейчас правильный?
[12:57:17] <ada_ru> (I_vlxy_I) std::string же изменился. Даже если не учитывать наличие std::string_view
[12:57:44] <ada_ru> (Vadim) Поскольку идёт речь о новой строке - есть время поменять всё
[12:58:08] <ada_ru> (I_vlxy_I) отвечает (Vadim) на <Так а какой вариант …>
В случае многопоточки и маленьких строк (а обычно они мелкие), CoW существенно медленней чем если у нас просто владеющая строка.
[12:58:22] <ada_ru> (I_vlxy_I) Которая копируется туда-сюда
[12:58:46] <ada_ru> (I_vlxy_I) отвечает (Vadim) на <Поскольку идёт речь …>
Поищу сегодня видос на эту тему. Найду - скину
[12:59:24] <ada_ru> (Vadim) Маленькая это сколько? ;)
[12:59:51] <ada_ru> (I_vlxy_I) отвечает (Vadim) на <Маленькая это скольк…>
Десяток-другой букофф
[13:00:04] <ada_ru> (Vadim) 40-80 байт?
[13:01:08] <ada_ru> (I_vlxy_I) отвечает (Vadim) на <40-80 байт?>
Нифига у вас буквы толстые :-)
[13:01:25] <ada_ru> (Vadim) 4 байта, а как по другому?
[13:01:57] <ada_ru> (insert_reference_here) отвечает (Vadim) на <4 байта, а как по др…>
Вы шо, в UTF-32 храните?
[13:02:27] <ada_ru> (Vadim) Ой, обманул, конечно же не 4
[13:03:18] <ada_ru> (Vadim) Точно сейчас не помню, но один символ это до 32-х code point а это 128 байт на букву
[13:03:40] <ada_ru> (Vadim) Нет, способ хранения не определён.
[13:04:19] <ada_ru> (Vadim) Будет минимум две реализации utf-8 и utf-16, обе скрытые за единым API
[13:04:33] <ada_ru> (I_vlxy_I) Обычно в строке сейчас тупо utf-8
[13:04:35] <ada_ru> (insert_reference_here) отвечает (Vadim) на <Точно сейчас не помн…>
Где ты видел символ на 32 code point-а?
[13:05:14] <ada_ru> (Vadim) Можно и больше. 32 это самая длинная форма разложения.
[13:05:24] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <Обычно в строке сейч…>
И это самый правильный вариант
utf8everywhere.org
[13:05:25] <ada_ru> (I_vlxy_I) utf-16 это вообще что-то странное. Не туда и не сюда. Имха
[13:05:28] <ada_ru> (Vadim) А наструячить можно ещё длиннее
[13:05:40] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <И это самый правильн…>
Не всегда, но обычно да
[13:05:46] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <utf-16 это вообще чт…>
Ещё и морока с порядком байт
[13:05:54] <ada_ru> (Vadim) UTF-16 это кау минимум WASM и Windows API
[13:06:28] <ada_ru> (insert_reference_here) отвечает (Vadim) на <UTF-16 это кау миним…>
Ты что-то путаешь. Где в wasm UTF-16?
[13:06:48] <ada_ru> (Vadim) А JavaScript это что?
[13:09:57] <ada_ru> (I_vlxy_I) Это вроде не wasm. Но с ним может взаимодействовать.
[13:13:30] <ada_ru> (Vadim) Вопрос как раз в том с чем будет взаимодействовать WASM приложение. Как правило это будут всякие Web API. И только самые умные будут отправлять и принимать бинарные данные на/с удалённых серверов.
[13:14:10] <ada_ru> (Vadim) Так что UTF8 everywhere, но не всегда :)
[13:14:51] <ada_ru> (Vadim) А значит приложение должно само выбрать представление. Или платформа помочь в этом.
[13:15:39] <ada_ru> (Vadim) Но главная идея Magic String - скрыть сии пляски с бубнами от кода приложения, выйдя на уровень Unicode.
[13:16:06] <ada_ru> (insert_reference_here) отвечает (Vadim) на <Но главная идея Magi…>
А что за magic string?
[13:16:36] <ada_ru> (Vadim) Это текущий нанопроект мафии
[13:17:31] <ada_ru> (I_vlxy_I) Vadim https://youtu.be/rJWSSWYL83U примерно с 2:44. То есть первый же разбираемый велосипед это строка тут
[13:17:35] <ada_ru> (I_vlxy_I) Очень рекомендую
[13:42:43] <ada_ru> (Vadim) Ну вот... Всё как обычно, только ещё и куча наворотов от C++ :(
[13:43:40] <ada_ru> (I_vlxy_I) отвечает (Vadim) на <Ну вот... Всё как об…>
М?
[13:44:06] <ada_ru> (Vadim) Ну ничего не изменилось за 10 лет :(
[13:44:39] <ada_ru> (Vadim) Разве что С поехал дальше и придумал эти move конструкторы
[13:44:56] <ada_ru> (I_vlxy_I) В C нет конструкторов :-(
[13:45:03] <ada_ru> (I_vlxy_I) Только а С++
[13:45:11] <ada_ru> (Vadim) Лень ++ писать
[13:45:22] <ada_ru> (I_vlxy_I) отвечает (Vadim) на <Лень ++ писать>
Разница радикальная
[13:45:41] <ada_ru> (I_vlxy_I) Дык ясно почему cow это зло? ;-)
[13:46:43] <ada_ru> (Vadim) Мне? Я это знаю.
[13:46:48] <ada_ru> (I_vlxy_I) Move-семантика полезная штука. Вон, в Rust оно по умолчанию для всего. И безопасно, в отличие от крестов
[13:46:54] <ada_ru> (Vadim) Только доказать не умел.
[13:47:08] <ada_ru> (I_vlxy_I) Ну, теперь умеешь :-)
[13:47:16] <ada_ru> (Vadim) Теперь знаю как доказать.
[13:47:39] <ada_ru> (geniepro) какая жесть:
Character
A special form of Enumerations. There are three predefined kinds of character types: 8-bit characters (called Character), 16-bit characters (called Wide_Character), and 32-bit characters (Wide_Wide_Character). Character has been present since the first version of the language (Ada 83), Wide_Character was added in Ada 95, while the type Wide_Wide_Character is available with Ada 2005.
[13:47:50] <ada_ru> (Vadim) На самом деле по моим наблюдениям дело местами ещё хуже
[13:48:56] <ada_ru> (Vadim) Память, кэши и т.д. делают атомарные операции жутко неэффективными при активном использовании.
[13:49:29] <ada_ru> (I_vlxy_I) Ага
[13:49:44] <ada_ru> (I_vlxy_I) А почти все нонче многопоточное
[13:49:57] <ada_ru> (I_vlxy_I) Иначе юзают питон
[14:01:36] <ada_ru> (I_vlxy_I) отвечает (Vadim) на <Теперь знаю как дока…>
Значит полезная видюшка таки :-)
[14:02:24] <ada_ru> (Vadim) 20+ минут ... за ради 1 минуты полезного знания...
[14:03:09] <ada_ru> (I_vlxy_I) Бывает сильно хуже :-)
[14:03:32] <ada_ru> (I_vlxy_I) Новичкам хорошо - у них кпд сильно выше
[14:19:42] <ada_ru> (a) https://m.habr.com/ru/company/piter/blog/498278/
[14:40:32] <ada_ru> (I_vlxy_I) отвечает (a) на <https://m.habr.com/r…>
нет ни Ады ни Раста 🙁
[14:45:32] <ada_ru> (a) Ну может ещё что то интересное все таки там есть
[14:47:32] <ada_ru> (I_vlxy_I) <прислал наклейку> 😳
[14:49:08] <ada_ru> (insert_reference_here) Это неинтересно
[15:42:51] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <Vadim https://youtu.…>
ты отнял меня от рабочего процесса =)
я опомнился только что и осознал что залип в видео на 45 минут =)
... и дальше продолжу досматривать. чтоб зазря не пропало )
[15:43:34] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <ты отнял меня от раб…>
😄
[18:54:53] <ada_ru> (a) https://m.habr.com/ru/post/498354/ зачет
[18:55:05] <ada_ru> (a) И снова не про аду
[19:01:39] <ada_ru> (I_vlxy_I) Хм. А Раст то думает о переезде на другой бэкенд
[19:02:22] <ada_ru> (I_vlxy_I) https://jason-williams.co.uk/a-possible-new-backend-for-rust
[19:02:29] <ada_ru> (I_vlxy_I) rustRustRUST!
[19:02:45] <ada_ru> (I_vlxy_I) In Rust we Trust!
[19:12:17] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <rustRustRUST!>
у меня подозрение, что ты его на какой-то хоткей забиндил )
[19:12:52] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <у меня подозрение, ч…>
Ипхоне умный, ипхоне автоматом учится и подсказывает мне
[19:13:05] <ada_ru> (I_vlxy_I) Набирать полностью не надо
[19:14:37] <ada_ru> (Gourytch) точно. есть же ещё и автодополнение. на десктопе такого нету - я и не вспомнил про такую опцию
[19:15:41] <ada_ru> (I_vlxy_I) Вообще, надо стикерпак сделать уже
[19:24:00] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <Ипхоне умный, ипхоне…>
Что за ипхоне?
[19:24:14] <ada_ru> (insert_reference_here) А, iPhone
[19:25:16] <ada_ru> (I_vlxy_I) Ага
[19:29:30] <ada_ru> (Oleg) отвечает (I_vlxy_I) на <Ипхоне умный, ипхоне…>
Это печаль кстати, во первых мы стали безграмотно писать без подсказок, во вторых подсказки там не всегда нужные
[19:31:34] <ada_ru> (I_vlxy_I) Сижу с могильника
[19:31:38] <ada_ru> (I_vlxy_I) Классика :-)
[19:33:24] <ada_ru> (Oleg) Программисты в россии они вот такие программисты:
[19:33:32] <ada_ru> (Oleg) <прислал документ>
[19:39:49] <ada_ru> (geniepro) отвечает (I_vlxy_I) на <In Rust we Trust!>
Трест, который лопнул