Язык программирования Zig

Тема в разделе "WASM.LANGS", создана пользователем Rel, 7 фев 2019.

  1. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.988
    случайно наткнулся на очень интересный проект нового языка программирования... думаю, что он окажется интересным адептам сишечки и ассемблера... из интересных фич языка... мануальное управление памятью (и это в эпоху заселья всяческих сборщиков мусора и борроу чекеров)... хороший три шейкер (хелой уорлд под венду собирается в 4кб для x86 и 5кб для x64, могло бы быть еще меньше, но линкер по неведомой причине генерит таблицу экспорта)... кросс компиляция из любой системы в любую (хотя с венды скомпилить под x86 линукс и макос у меня не получилось, судя по всему баг в компиле, но x64 под линукс и макос завелись)... простая обработка ошибок, контролируемая компилятором (без эксепшенов и всякой подобной чуши)... рефлексия и исполнение функций на этапе компиляции... автоматический импорт деклараций из сишных .h файлов (насколько я понимаю, с плюсами этот номер не пройдет, но все же) и в обратную сторону может генерить .h для использования в сишных/плючовых проектов... один существенный минус - проект очень молодой, до версии 1.0 еще долго лопатить...

    сайт языка: https://ziglang.org/
    документация: https://ziglang.org/documentation/master/
    хайлайт синтакса: https://marketplace.visualstudio.com/items?itemName=tiehuis.zig

    теперь запилим хеллоу уордл:
    Код (Text):
    1. const std = @import("std");
    2.  
    3. pub fn main() !void {
    4.     const stdout_file = try std.io.getStdOut();
    5.     try stdout_file.write("Hello World!\n");
    6. }
    и скомпилим его:
    Код (Text):
    1. zig build-exe test.zig --release-small --single-threaded --strip --target-os windows --target-arch i386  --target-environ msvc --output test-win32.exe
    2. zig build-exe test.zig --release-small --single-threaded --strip --target-os windows --target-arch x86_64 --target-environ msvc --output test-win64.exe
    --- Сообщение объединено, 7 фев 2019 ---
    единственная публичная презентация, где автор говорит о философии языка:


    статья и обсуждение на хабре:
    https://habr.com/en/post/435872/
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.988
  3. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.988
    багрепорты на гитхабе, не? не думал?
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.835
    Ссылка на гитхаб там глубоко спрятана, а патреном в лицо тычут.
     
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.988
    да, второй пункт в меню - это канеш марианская впадина среди веб страниц...
     
  6. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    941
    ничего гениальнее с++ и ооп еще не придумано, да и не будет придумано вообще, хоть там квантовый проц - хоть какой.
     
  7. Aoizora

    Aoizora Active Member

    Публикаций:
    0
    Регистрация:
    29 янв 2017
    Сообщения:
    277
    C++ не для всех задач хорош, ООП само по себе ограничено. В действительно удобных языках есть элементы ФП типа стримов в Java 8, которые предсталяют собой декларативную цепочку вычислений (монаду). ФП-фичи позволяют писать меньше дрисни. При этом чистое ФП тоже не нужно. При попытке писать на ФП эффективный продакшен код получается дрисня.