169 похожих чатов

Миллионы установок в день? там порог входа как на самолет

сесть за штурвал

18 ответов

26 просмотров

так вроде в as самый низкий порог входа

Константин- Автор вопроса

ниже чем у раста, да :)

что именно сложнее, чем TS? я не шарю

Есть только одно но, WebAssembly довольно нишевая технология сейчас, а Rust это далеко не только wasm

Константин- Автор вопроса

super strict, any ты не сделаешь

Есть отдельная библиотека variant. Но то такое. Any впринципе не нужен

В смысле нету?=) Уже как 2 года есть

Я бы сказал что тс это костыли с типами поверх жса, которые 1) кривые 2) отваливаются в рантайме А ас это язык со строгой типизацией

Константин- Автор вопроса

Но не нативный же, а поверх на своем рантайме?

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

Ну да. Wasm GC пока завезли в Wasm. Да и не факт что будет сильно быстро с ним, по недавним отчетам Алона пока есть проблемы

В современном разработке фронтенда GC не особо то и нужен. Вот как например работает реакт - сработал обработчик события который поменял что-то в состоянии и вызывали перерендер приложеня в процессе которого аллоцируется дерево объектов (virtual-dom) дальше оно сравнивается с предыдущим деревом объектов и выполняются точечные изменения в дом-дереве. Для такой аллокации объектов GC не нужен потому что эти объекты живут до следующего перерендера - для этого достаточно создать два фиксированных массива - в один аллоцируем новые объеты и сравниваем с предыдущим массивом ну и свапим при следующем рендере. Дальше есть состояние которое мы меняем и которое является долгоживущим (сохраняется между перерендерами). Тут на первый взгляд кажется что нужен GC но если подумать то это состояние больше напоминает базу даных - всегда есть явное событие/интеншн когда нужно удалить тот или иной объект - например в состоянии хранится список тодо-задач и дальше юзер кликнул на кнопку и нужно удалить какую-то задачу и списка. И зачастую код обработки этого события в реакте уже выполняет задачу GC - а именно берет и явно удаляет задачу из массива списка тодошек в состояния и я не представляют что мешает дальше поверх этого с помощью удобного хелпера добавить деаллокацию объектов если на него нет больше ссылок. То есть я вижу больше необходимость в аллокаторе-деаллокаторе и некой бд/орм-ке для объектов (которая будет заниматься подсчетом ссылок и удаленем внутренних объектов при удалении родительского а также разруливанем циклических сслыок) при разработке фронтенда а не в дженерик сборщике мусора (который будет заниматься сканированием ссылок от рут-сета оргомного дерева состояния)

js и web это не только react. Дальше даже не читал, сори

virtual-dom это устаревший ненужный костыль

И это тоже. Elm, svelte и Solid.js тому пример. Кстати все они компилируемые

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

сесть за штурвал дело не хитрое, а вот полететь

Так в жс же есть сборщик, с чего это он не нужен?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта