EPE - Extreme Programming Event.
В чем суть ивента?
Среди подписчиков канала или на просторах интернета выбирается язык программирования / платформа. В течении определенного времени участник должен будет написать какую-либо программу на этом языке. Даже если вы написали свой ассемблер - мы можем устроить конкурс на нем, и люди будут писать программы на вашем языке.
Призы
В зависимости от сложности платформы и ограничений, которые будут введены администраторами призовой фонд может варьироваться в диапазоне от 500р до 3500р.
Если вы заинтересованы, и хотите, чтобы ваш язык (или платформа) стал языком первого сезона EPE отправляйте заявки администрации: @k1ngmang
В чем суть ивента?
Среди подписчиков канала или на просторах интернета выбирается язык программирования / платформа. В течении определенного времени участник должен будет написать какую-либо программу на этом языке. Даже если вы написали свой ассемблер - мы можем устроить конкурс на нем, и люди будут писать программы на вашем языке.
Призы
В зависимости от сложности платформы и ограничений, которые будут введены администраторами призовой фонд может варьироваться в диапазоне от 500р до 3500р.
Если вы заинтересованы, и хотите, чтобы ваш язык (или платформа) стал языком первого сезона EPE отправляйте заявки администрации: @k1ngmang
❤10
Поздравляю вас с открытием первого сезона EPE. Начать хотелось бы с чего-то не очень трудного, чтобы участники вообще могли понять суть мероприятия. Для этого был выбран язык Dragon. Он очень похож на привычные всем вам языки, однако его синтаксис довольно интересный
Hello World на Dragon:
Победитель первого сезона получит 600р.
Ещё раз напоминаю правила: Вы пишите программу на выбранном сезонном языке и отправляйте ее. Лучшая программа определяется 3 людьми, чье мнение не должно быть предвзятым. Отправка ваших трудов осуществляется следующим образом: вы сообщаете в личные сообщения @artyom_java название своей команды. Затем вы должны сделать fork репозитория на github, соответствующий сезону, в котором участвуете и добавить туда папку с названием команды, которую вы сообщили. После этого делайте pull request и ждите результатов. Если возникнут трудности, пишите @artyom_java.
Итоги через месяц.
Ресурсы:
Как отправить свой код на EPE
Документация языка Dragon
Ссылка на установщик языка Dragon
Hello World на Dragon:
show "Hello World"
Победитель первого сезона получит 600р.
Ещё раз напоминаю правила: Вы пишите программу на выбранном сезонном языке и отправляйте ее. Лучшая программа определяется 3 людьми, чье мнение не должно быть предвзятым. Отправка ваших трудов осуществляется следующим образом: вы сообщаете в личные сообщения @artyom_java название своей команды. Затем вы должны сделать fork репозитория на github, соответствующий сезону, в котором участвуете и добавить туда папку с названием команды, которую вы сообщили. После этого делайте pull request и ждите результатов. Если возникнут трудности, пишите @artyom_java.
Итоги через месяц.
Ресурсы:
Как отправить свой код на EPE
Документация языка Dragon
Ссылка на установщик языка Dragon
❤7
Forwarded from .
!!! Данный список основан на уже существующем списке, где можно найти ещё больше тематической литературы с комментариями автора: https://github.com/true-grue/Compiler-Development
📄 Литература для новичков:
📄 Литература для продвинутых:
📂 Статьи:
🖥 Суперкомпиляторы:
👮♀ Видео:
Robert Nystrom: Crafting Interpreters (2020)
Никлаус Вирт: Построение компиляторов (2010)
Альфред В. Ахо, Рави Сетхи и Джеффри Д. Ульман: Компиляторы: принципы, технологии и инструменты
Steven Muchnick: Advanced Compiler Design and Implementation (1997)
Реализация простейшего компилятора на python
Реализация простого интерпретатора forth
Рекурсивный спуск в компиляторах
Климов А.В., Романенко С.А: Суперкомпиляция: основные принципы и базовые понятия
1.Интерпретатор на Python'е__
2.Интерпретатор на TypeScript
3.Интерпретатор на Rust
4.Интерпретатор на С
5.Компилятор в llvm на Python'е
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - true-grue/Compiler-Development: Что читать о разработке компиляторов
Что читать о разработке компиляторов. Contribute to true-grue/Compiler-Development development by creating an account on GitHub.
❤8
Недавно в чате была предложена идея создания дискорд сервера, чтобы помимо чата можно было пообщаться вживую, отсортировать ветки, а также много чего еще, что дает дискорд. Нужно узнать ваше мнение: создавать или данного чата хватает?
❤7
По просьбам нескольких кандидатов конкурс будет продлен до 23 марта. Для новых подписчиков, которые хотят получить 600р за сравнительно легкую работу, могут ознакомиться с постом: https://t.me/langdev/44.
Напоминаю еще раз про репозиторий, который нужно форкнуть и сделать работу (это все написано в том посте, даже предоставлена видео-инструкция): https://github.com/Extreme-Programming-Event/1-season
Напоминаю еще раз про репозиторий, который нужно форкнуть и сделать работу (это все написано в том посте, даже предоставлена видео-инструкция): https://github.com/Extreme-Programming-Event/1-season
Telegram
compilers dev
Поздравляю вас с открытием первого сезона EPE. Начать хотелось бы с чего-то не очень трудного, чтобы участники вообще могли понять суть мероприятия. Для этого был выбран язык Dragon. Он очень похож на привычные всем вам языки, однако его синтаксис довольно…
❤5
Продолжаем оценивать малоизвестные языки программирования, на очереди janet. Данный яп наверное самый популярный из тех, что упоминались ранее. Очень хороший инструмент для изучения работы компиляторов на реальном примере. Архитектура проекта напоминает lua, никакой сортировки по пакетам, основная часть находится в core/... Однако тут все же присутствует хоть какое-то вменяемое разделение, а потому и читать его в разы удобнее. В отличии от clojure тут довольно понятный naming и типичный code style. Рекомендую к ознакомлению
GitHub
GitHub - janet-lang/janet: A dynamic language and bytecode vm
A dynamic language and bytecode vm. Contribute to janet-lang/janet development by creating an account on GitHub.
❤7
Сегодня последний день сдачи проекта для EPE. Многие (даже почти все) не читали инструкцию и скинули проект мне, а не на гитхаб. Кто-то не форкал репозиторий, а сделал свой, но в любом случае баллы за это будут меньше. Результаты будут через 2-3 дня
❤10
По решению трех судей победил лисп от @jincoder. Проект больше всего соответствует теме канала, а также набрал самые высокие оценки от судей в сравнении с другими проектами. Результаты не выложил вчера, потому что разбирались с наличием гитхаба, ведь у него был репозиторий, но организованный не по инструкции. В любом случае на счет победителя было отправлено 600р, спасибо всем за участие
❤12
4 месяца назад я проводил трансляцию, где рассказал про язык программирования D. Интересный язык, который мне приглянулся своими возможностями, синтаксическими решениями, а также разнообразием компиляторов и других инструментов. Мы решили сделать группу, которая посвященная данному языку, чтобы найти сообщество людей, которым интересно создание компиляторов на D/C/C++ или другого софта под этот яп. Кому интересно заходите: @dlang_ru
Telegram
Dlang Community
https://github.com/dlangalgorithms
❤7
Самый большой список существующих языков программирования, где можно найти почти тысячу разнообразных япов с интересными идеями и реализациями: https://github.com/ChessMax/awesome-programming-languages
GitHub
GitHub - ChessMax/awesome-programming-languages: The list of awesome programming languages that you might be interested in.
The list of awesome programming languages that you might be interested in. - ChessMax/awesome-programming-languages
❤10
Курс по созданию языка программирования под JVM с использованием antlr: https://jakubdziworski.github.io/enkel/2016/03/16/enkel_3_hello_enkel.html
jakubdziworski.github.io
Creating JVM language [PART 3] - Hello Enkel!
❤7
Большой сборник ресурсов по суперкомпиляторам. Включает в себя ссылки на наиболее известные суперкомпиляторы, видео, а также книги/статьи пронумерованные по годам: https://github.com/etiams/supercompilation-resources
GitHub
GitHub - etiamz/supercompilation-resources: 📚 A collection of resources about supercompilation
📚 A collection of resources about supercompilation - etiamz/supercompilation-resources
❤9
Writing a compiler in go
Книжка, посвященная написанию компилятора на языке go. Если брать в комплекте с writing an interpreter in go - обойдется это дело в 50 долларов.
Однако автор выложил 20 страниц книги, чтобы вы могли понять, подходит ли она именно вам: книга
Наш чат: @procompilers
Книжка, посвященная написанию компилятора на языке go. Если брать в комплекте с writing an interpreter in go - обойдется это дело в 50 долларов.
Однако автор выложил 20 страниц книги, чтобы вы могли понять, подходит ли она именно вам: книга
Наш чат: @procompilers
❤5
Если после прошлого поста, вам показалась странной идея о написании компилятора на go, то ещё более странной вам покажется идея о написании компилятора на elixir'e.
Однако Matthew Hargreaves в статье Compiler writing in Elixir показал на своем собственном примере, какие преимущества даёт этот язык при разработке компилятора (никакие)
Однако Matthew Hargreaves в статье Compiler writing in Elixir показал на своем собственном примере, какие преимущества даёт этот язык при разработке компилятора (никакие)
Статья о том, как написать не самый красивый, но быстрый лексер: https://xnacly.me/posts/2025/fast-lexer-strategies
чат: @procompilers
чат: @procompilers
xnacly.me
Strategies for very fast Lexers
Making compilation pipelines fast, starting with the tokenizer
💘7
Forwarded from 418 I'm a Teapot 🫖
Месяц назад прочитал замечательную статью Хиллела Уейна (Hillel Wayne) про алгебраические типы данных. Принёс вам свой перевод)
https://habr.com/ru/articles/962522/
https://habr.com/ru/articles/962522/
Хабр
Ранняя история алгебраических типов данных
Последние месяцы я вкладывал почти всё мое писательское время в « Логику для программистов» , и мой мозг уже почти превратился в книгу. Поверьте мне, вы не хотите читать две тысячи слов ворчания на...
❤8
Суперкомпилятор Java. Я уже упоминал труды hirrolot'a с его довольно интересным проектом mazeppa, но в данной статье был выбран реальный язык, который используется в реальных проектах и нуждается в оптимизации.
В самой статье не так много теории, касающейся суперкомпиляторов, поэтому снова напомню вам про этот замечательный сборник ресурсов, где вы сможете найти материалы для изучения суперкомпиляции более подробно.
Чат: @procompilers
В самой статье не так много теории, касающейся суперкомпиляторов, поэтому снова напомню вам про этот замечательный сборник ресурсов, где вы сможете найти материалы для изучения суперкомпиляции более подробно.
Чат: @procompilers
❤5
Недавно прошел 7-дневный хакатон по разработке языка программирования. За это время нужно было написать яп и игру на нем. На дискорд-сервеое хакатона можно найти вкладку с проектами, и посмотреть, что у людей получилось сделать за этот промежуток времени: https://langjamgamejam.com/
Чат: @procompilers
Чат: @procompilers
Langjamgamejam
Langjam Gamejam
A 7-day challenge to create a programming language and then use it to build a game.
❤7
Какой контент вы бы хотели тут видеть?
Anonymous Poll
51%
Оптимизации
47%
Теория типов
44%
Обзор других языков
41%
Фронтенд компиляторов
56%
Бекенд компиляторов
❤6