tgoop.com/cxx95/120
Last Update:
#opensource #compiler
Обзор на Zig
(Вступление)
Эти фото из прошлой жизни, сняты где-то ~7 лет назад. Они напоминают мне старый демотиватор. Мягкая лошадь давно живет у мамы, а фандом умер 🪦
Глубокое увлечение какой-нибудь сомнительной темой и полученные впоследствии сомнительные знания, например: имена 50 персонажей из детского мультика; или тексты почти сотни песен на немецком языке; или содержание предложений в стандарт C++ и коммитов в компилятор - проявления эскапизма, уход из обыденной реальности.
Символом эскапизма в европейской истории можно назвать замок Нойшванштайн - его построил король Баварии Людвиг II, по хардкору фанатевший по операм Рихарда Вагнера (известного представителя немецкого романтизма), потратив кучу бюджетных денег. Интерьер весь отделан с изображениями его разных опер. Людям понравилось - сейчас это бешено популярное туристическое место. Каждый может строить свой личный "нойшванштайн".
Главная концепция немецкого романтизма обозначается моим любимым словом (непереводимым!):
📜 Sehnsucht - ein hoher grad eines heftigen und oft schmerzlichen verlangens nach etwas, besonders wenn man keine hoffnung hat das verlangte zu erlangen, oder wenn die erlangung ungewisz, noch entfernt ist. (Das Wörterbuch der Gebrüder Grimm)
📜 Sehnsucht (читается "зензухт" с длинным "е") - высокая степень сильного и зачастую болезненного желания чего-то, особенно когда нет надежды это получить либо цель желания смутна и еще далека. (Словарь братьев Гримм)
Это смутные мечты по недостижимой идеальной действительности и гармонии. Тема обыгрывается в творчестве Гёте, Шиллера, Вагнера, из современных Rammstein, и так далее.
Мой небольшой sehnsuchtlein состоит в поиске "идеального C++". В двух словах, фундаментально мне не нравится, что ООП в языке реализуется так, что каждый "объект" является "рабом" и реагирует на вызовы методов, чтобы работать - вместо того, чтобы быть полноценным компонентом. По сути настоящими "объектами" являются отдельные потоки. Эту тему сейчас я не буду развивать, она пока не получила внятного оформления. Для поиска ответов я исследую другие языки программирования.
Недавно проверял язык Zig на предмет интересных идей.
Обзор на Zig
У языка почти 27k звезд на гитхабе. Похоже, что автор назвал язык в честь операции на splay-дереве 🌴 Но с его символом-молнией возможно что автор языка просто маленький любитель экстремизма - уважает песни "Коловрат", фильм "Romper Stomper", и прочие методички по акциям прямого действия против ценнейших иностранных специалистов (осуждаем)
Создание своего языка программирования может казаться задачей для надмозгов, но это проще, чем кажется:
Zig supports generating code for all targets that LLVM supports
Свой микро-язык можно написать за несколько вечеров.
Разных языков сделана огромная куча (один из списков), у этого дела есть большая фан-база: @CompilerDev, @LanguageDev
ПРОДОЛЖЕНИЕ В КОММЕНТАРИЯХ
