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

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

  1. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.062
    случайно наткнулся на очень интересный проект нового языка программирования... думаю, что он окажется интересным адептам сишечки и ассемблера... из интересных фич языка... мануальное управление памятью (и это в эпоху заселья всяческих сборщиков мусора и борроу чекеров)... хороший три шейкер (хелой уорлд под венду собирается в 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. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    4.189
    сишечки + макросов препроцессора + инлайн асма вполне хватает для бинов :)
     
  3. Rel

    Rel Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 дек 2008
    Сообщения:
    2.062
    кому как...