Если очень кратко — это перевод на русский проекта The Super Tiny Compiler — проекта призванного помочь с изучением основ компилирования на рабочем примере.
Если хотите подробностей — прошу под кат. Если же нет — можно идти напрямую к переводу, он на гитхабе.
Что это, зачем это, почему это
Для тех кто не знает об этом проекте — это работающий компилятор Lisp-подобного языка в Си-подобный, написанный на JS. Процентов 90 кода покрыто подробными комментариями, и самих комментариев, в общем то, в 4 раза больше чем кода. В начале объясняются основы, терминология, а потом сам код.
А зачем это переводить? Английский же — язык программистов!
Всё началось с того что ссылка на этот проект у меня больше года провалялась в папке «на почитать». И вроде и штука интересная (10к+ звёзд на гитхабе, шутка ли), и мне интересно, но как как-то всё не находилось сил посмотреть и вникнуть. Почему? Да потому что оно на английском. А тут дело не в сложности, а в том что после 8-ми часового рабочего дня
800+ форков. Из них — много попыток перевести на китайский, но на русском я ничего не нашёл (может оно и есть). Кстати, объясните, вот зачем люди форкают проекты а потом ничего в них не меняют?
А ты переводчик?
Нет, вообще ни разу. Но проект написан вполне доступным языком, который, по-идее, осилит практически любой человек который способен читать тех. документацию. Но, опять таки, для многих (в том числе для меня) изучать что-то новое гораздо проще на родном языке, даже если отлично понимаешь язык оригинала.
Что же касается перевода — он не дословный, незначительные слова могли быть упущены, кое-что добавлено от себя. Но при этом я старался передать суть на все 100%, так что в плане информативности перевод, вроде, получился равнозначным оригиналу.
Пример перевода. Скриншот кликабельный.
Так как оригинальный проект выложен на гитхабе — то и перевод я не стал закидывать целиком сюда. Для желающих ознакомиться: ссылка на перевод, ссылка на оригинал.
Приятного чтения!
P. S. Замечания принимаю хоть в комментариях, хоть в виде pull-реквестов, хоть в личку. Можете вообще делать форк и вносить изменения :)
По посту — надо ли (и как?) вешать плашку «перевод» на этот пост?
Автор: vlreshet