Впечатления от языка Zig

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 16

  • @winns.x
    @winns.x 8 дней назад +1

    Спасибо за обзор 👍

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg 9 дней назад +1

    Не понимаю, что вы там такого хорошего в Zig увидели, есть Rust, Golang, C#

    • @solenopsys-ru
      @solenopsys-ru  9 дней назад +2

      Изначально у меня всё было написано на Go, с общим объёмом около 20 микросервисов, включая роутеры с использованием ZMQ. Я фанат Go, и этот язык действительно очень хорош для облачных платформ и микросервисов. Однако он не подходит для создания продвинутых технологий и масштабных децентрализованных систем.
      На Go нельзя написать модули ядра, файловые системы или загрузчики ОС. Существует множество костылей для Go, которые лучше не использовать, например, cgo или wasm, поскольку в Go отсутствует контроль над памятью. Я писал CLI на Go и добавил множество сложных функций, в результате чего размер приложения достиг 100 мегабайт. На Zig + QuickJS то же самое будет весить всего 1 мегабайт.
      Rust я пробовал много раз, но мне не нравится, как он работает: он перекладывает все сложности на разработчика, а размер бинарников просто неадекватный. Для примера: минимальный wasm на Rust - 3 мегабайта, на Zig - 300 байт, а на C - 200 байт.

    • @faix2000
      @faix2000 8 дней назад +1

      одно другое не исключает... есть еше Nim ... :)

    • @solenopsys-ru
      @solenopsys-ru  8 дней назад

      @@faix2000 А я смотрел и его в частности есть еще v. Nim на основе виртуальной машины как и go, так что он не подходит.

    • @faix2000
      @faix2000 8 дней назад

      @@solenopsys-ru пардон я совсем понял что вы имеете в виду "на основе витруальной машины"... по идее Nim это transpiler ... как бакенд можно c,c++,js использовать.

    • @faix2000
      @faix2000 8 дней назад

      @@solenopsys-ru все упирается в еко-систему того или иного языка... Zig,Nim,Crystal,V это community driven projects. т.е. Fun написан с большой буквы. в долгосрочную перспективу это использовать весьма рискованная зартея. большой плюс при этом эти языки имеют хорошую подержку для биндинга с библиотек, с++ уже сложнее.

  • @litterjunk8632
    @litterjunk8632 6 дней назад

    Пакет менеджер? make, CMake не говоря о Bazel

    • @solenopsys-ru
      @solenopsys-ru  6 дней назад

      У зига свои менеджеры пакетов и все неофициальные. Там идея как у go.mod