Skip to content

RoadMap

Maksym Stukalo edited this page Apr 28, 2025 · 1 revision

🚀 Боевой роадмап проекта на 12 месяцев

Этап 1: Базовое ядро + язык (Месяц 1-3)

  • Настроить загрузчик в 64-битный Long Mode, стек, память.
  • Реализовать арены памяти (arena.alloc, arena.reset).
  • Написать простейший парсер языка на Python.
  • Сделать генератор тупого ассемблера.
  • Сделать стандартную библиотеку (print, строки, арены).
  • Компилить Hello World в бинарник и запускать через QEMU.

Этап 2: Минимальный рантайм + дебаггер (Месяц 4-6)

  • Написать дебаг-сервер на TCP порту 9000.
  • Реализовать команды дебага (list actors, show arena, kill actor).
  • Добавить базовую проверку ошибок арены (переполнение).
  • Реализовать акторы (actor.spawn, actor.error).
  • Добавить простой лог событий (спавн, краши, аллокации).
  • Поймать первые баги и научиться останавливать краши.

Этап 3: Сеть и HTTP API (Месяц 7-9)

  • Написать минимальный TCP-стек.
  • Реализовать базовый HTTP/1.1 парсер (GET/POST запросы).
  • Подключить минимальный HTTP-сервер API (accept, respond).
  • Ограничить Content-Length тела запроса.
  • Реализовать автоответ 413 при больших запросах.

Этап 4: Мини-фреймворк и демка (Месяц 10-12)

  • Добавить простую маршрутизацию /hello -> {}.
  • Реализовать дебаг-режим в рантайме (on/off).
  • Написать минимальную документацию по языку и API.
  • Сделать мини-сайт/страничку проекта.
  • Выложить публичный билд (бинарник + инструкция запуска).

🛑 Что нельзя делать:

  • Никакой поддержки HTTP/2, TLS, WebSocket на первом этапе.
  • Никаких больших стандартных библиотек.
  • Никаких кросс-платформенных штук (пока только x86-64).
  • Никаких сложных виртуальных машин.
  • Никаких интеграций с LLVM на старте.

🎯 Минимальные цели первого рабочего релиза:

  • Рабочая ареновая память.
  • Рабочий язык Bolt (минималка).
  • Акторы с правильной остановкой и дебагом.
  • Дебаг-сервер для управления живыми процессами.
  • Примитивный сетевой ввод-вывод через HTTP/1.1.
  • Защита от заливания файлов в 2ГБ (лимиты).
  • Живая демка на примере минимального веб-сервера.

🧨 Главное правило:

Работает — потом красиво.
Фичи по плану — без самодеятельности.
Фокус на MVP — без перфекционизма.