Информация об изменениях

Сообщение rust это кот шредингера (траспайлеры выход из тупика) от 30.10.2023 2:05

Изменено 30.10.2023 2:51 Разраб

rust это кот шредингера (траспайлеры выход из тупика)
КСВ делится на 3 типа:
1 за ВМ
2 за сборщик мусора
3 за ручное управление
А если посмотреть с другой стороны?
4 за траспайлеры

rust

available-targets

Взять тот же Blazor webassembly — монструозная надстройка над html и js.
и хотя нам обещают бешенную производительность, пока (уже несколько лет) этого не произошло.
Вероятно потому что V8 одна из самых оптимизированных существующих ВМ.
Ну и зачем оно спрашивается?
Когда можно взять относительно простой F# и собрать код под js и получить на выходе рабочее приложение без дополнительных прослоек.
или rust и получить бинарь аналогичный тем, что пишут растаманы?
rust это кот шредингера (траспайлеры выход из тупика)
КСВ делится на 3 типа:
1 за ВМ
2 за сборщик мусора
3 за ручное управление
А если посмотреть с другой стороны?
4 за траспайлеры

rust

available-targets

Взять тот же Blazor webassembly — монструозная надстройка над html и js.
и хотя нам обещают бешенную производительность, пока (уже несколько лет) этого не произошло.
Вероятно потому что V8 одна из самых оптимизированных существующих ВМ.
Ну и зачем оно спрашивается?
Когда можно взять относительно простой F# и собрать код под js и получить на выходе рабочее приложение без дополнительных прослоек.
или rust и получить бинарь аналогичный тем, что пишут растаманы?

  Giraffe.ViewEngine(F#)
let index (items : seq<string>) = html [ _lang "ru"] [ul [] [ yield! items |> Seq.map (fun e -> li [] [str e])]];;
val index: items: string seq -> XmlNode

> index ["alice"; "bob"; "jack" ]  |> RenderView.AsString.htmlDocument ;;
val it: string =
  "<!DOCTYPE html>
<html lang="ru"><ul><li>alice</li><li>bob</li><li>jack</li></ul></html>"

> index ["alice"; "bob"; "jack" ];;
val it: XmlNode =
  ParentNode
    (("html", [|KeyValue ("lang", "ru")|]),
     [ParentNode
        (("ul", [||]),
         [ParentNode (("li", [||]), [Text "alice"]);
          ParentNode (("li", [||]), [Text "bob"]);
          ParentNode (("li", [||]), [Text "jack"])])])