Меня зовут Самир, мне 16 и я хотел бы поделиться с вами одним из моих текущих проектов: Veo ( https://github.com/SamirShef/veolang ). Veo это системный язык программирования. Я хочу использовать его для написания своих программ в будущем. А ещё я разрабатываю его потому что мне интересны комплияторы и потому что мне нечего делать.
Я больше года занимаюсь компиляторострением. Не могу сказать, что я очень хорош, я вообще не могу сказать что я хорош, потому что боюсь сказать больше, чем есть на самом деле, но я получил довольно много опыта. За этот год я разработал около 15 языков программирования и Veo самый лучший из них, потому что он единственный, кто дошел до фазы self-hosting.
Я уже переписываю компилятор на самого себя и знаете что? Уже получил первый бинарь (глобальные переменные и не более). Это очень тяжело, потому что тут нет коллекций на базе generic'ов - все коллекции полиморфны. Но как же это круто: я за 2 месяца написал на C++ первую версию компилятора (stage0), и этот компилятор смог скомпилировать вторую версию (stage1), написанную за две недели на самом Veo, а stage1 смог скомпилировать тестовый код на самом Veo. У меня очень много планов на этот язык и я очень хочу их достичь.
Но в последнее время очень тяжело что-либо делать. Буквально нет желания чем-либо заниматься. Возможно, я выгорел, не знаю. Но мне обидно, что написав ещё пару строк в коде stage1 я тут же понимаю, что не могу писать дальше и выключаю комп.
Этот проект не что-то революционное, или типа того. То, что я им делюсь с вами, значит, что я просто хочу небольшого признания и критики (объективной и конструктивной). Примеры кода на Veo есть в его репозитории. Пока что показывать код не буду. Сначала хочу посмотреть, какая под этой статьей будет реакция. Спасибо, что дочитали!
Комментарии (44)

pewpew
20.07.2026 05:48Меня в 16 лет хватало сил сначала на свой GUI в DOS, а потом писал свой .COM и .EXE упаковщики на смеси паскаля и ассемблера. Прекрасно понимаю, как это увлекает, когда узнаёшь что-то новое, ставишь себе цели и видишь реальный результат.
Это сейчас у вас ещё время находится свободное. Пользуйтесь моментом. Удачи в начинаниях!
Luis2
20.07.2026 05:48Пока нет ипотеки и семьи, надо вкалывать в самообразование. Потом это окупится сторицей

alliumnsk
20.07.2026 05:48Я писал упаковщики и графику на смеси Паскаля и ассемблера тоже в таком возрасте, а сейчас вижу без работы. Не пригодилось!

dagen
20.07.2026 05:48Есть подозрения, что практика в 16 лет не является минимально необходимым условием для того, чтобы котироваться на рынке труда.
Я тоже в 15-16 лет писал графику на смеси ассемблера и Паскаля. А сейчас, спустя две дюжины лет, я фронтендер (ts+rust) с хорошим багажом экспертизы, которого у меня совершенно точно не было в 16 лет.
Автору статьи: это хорошее начинание, продолжайте. Но надо помнить, что самообучение в школе - это не исключение, много увлечённых людей так делают, поэтому:
А здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же месте! Если же хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее!
Это Льюис Керролл, "Алиса в Зазеркалье".

vadimr
20.07.2026 05:48Хорошее упражнение для головы, продолжайте. В реальности, конечно, компиляторы пишутся по-другому – через теорию формальных грамматик – но чтобы почувствовать, зачем это нужно, вам нужно сначала реализовать свой способ и понять его проблемы. Так что, конечно, будет полезно довести дело до рабочей кодогенерации.

ShashkovS
20.07.2026 05:48Кажется, синтаксис примерно полностью взят как подмножество rust’а.
Можно пока забить на развитие самого языка и потренировать ci&cd (сборка всех бинарей и публикацию релизов в гитхаб), а также автогенерацию документации языка.

SamirShef Автор
20.07.2026 05:48Я действительно опирался на Rust, причем хочу взять от него ещё и систему владения.
Думаю, вы правы насчёт сборок, но, кажется, доки пока рано делать, потому что и механики, и синтаксис ещё плавают

bear11
20.07.2026 05:48Ой, а попробуйте взять rust и присобачить к нему велеречивость Ады и Паскаля (убрать все лишние ! и ? и скобочки и заменить их где можно на осмысленные слова). Вам спасибо скажут те, кого напрягает помнить, что означает какой-то хитрый знак.

Newpson
20.07.2026 05:48Возможно, я выгорел, не знаю. Но мне обидно, что написав ещё пару строк в коде stage1 я тут же понимаю, что не могу писать дальше и выключаю комп.
Ещё чем-нибудь занимаетесь помимо программирования? В плане увлечений. Может нужно отвлечься?

SamirShef Автор
20.07.2026 05:48Да вот ничем. Я 4 года занимаюсь программированием, но больше увлечений нет. Отвлечься действительно не помешает

thereisnocolor
20.07.2026 05:48Сходи в кино с красивой девочкой, получи заряд эндорфинов. Это очень мотивирует к свершениям

EmmGold
20.07.2026 05:48Ага, но только в кино. Девочки такие существа, что забирают всё время и ресурсы.

VladimirLadynev
20.07.2026 05:48Человек 4 года занимается программированием и, Вы думаете, у него хватит опыта именно с красивой сходить? Пусть хоть с какой сходит для начала.

eao197
20.07.2026 05:48но больше увлечений нет.
Если нет никакой физкультуры, то имеет смысл добавить какой-либо вид ОФП. Это поможет и повысить работоспособность сейчас, и сохранит эту самую работоспособность на долгие годы вперед. Лет через 30 организм только спасибо скажет за привитые в молодости привычки к физическим упражнениям. А эти самые 30 лет, увы, пролетят очень и очень быстро.
LimTroev
Это хорошее начинание, пригодится в жизни в дальнейшем 100%. Развивай тему. Писать компилятор в 16 лет - это действительно круто.
SamirShef Автор
Спасибо! Я действительно заметил в себе, что очень много узнал и в компиляторах, и в обычном проектировании софта, и в DSA