wowpro
Unlimited
- Сообщения
- 14.438
- Лайки
- 9.504
Как создавать прагматичные, легкие языки
How to Create Pragmatic, Lightweight Languages
Federico Tomassetti
Создавайте языки программирования как профессионал. Узнайте, как создать что-то полезное в реальном мире. Настоящий язык программирования, с эффективным анализатором и полным компилятором. Язык с собственным редактором. Это не о создании игрушек.
Нет необходимости изобретать велосипед: мы повторно используем компоненты с открытым исходным кодом и организуем их вместе, чтобы получить что-то полезное с целенаправленными усилиями.
Считаете ли вы, что невозможно создать парсер, интерпретатор, редактор и симулятор менее чем в 1000 строк кода? Подумай еще раз.
С помощью этой книги вы научитесь:
Создание эзотерического языка программирования может быть отличным способом выдвинуть новую идею. Чтобы показать, что все можно сделать по-другому.
Труднее создать GPL, но это можно сделать: Kotlin, Go, Ruby, Julia, Rust и т. д. Просто подумайте о множестве новых языков, созданных за последнее десятилетие. Многие из них закрепились в различных сообществах и сделали разработчиков счастливее.
Немного теории и много кода
Когда я учился строить языки, я был разочарован: я мог просто найти базовые учебники здесь и там, но чего не хватало, так это полного курса. Одного курса, чтобы вести меня с самого начала и до конца. Всякий раз, когда я находил что-то более продвинутое, оно было слишком абстрактным: много теории компилятора и недостаточно кода.
Я хотел книгу с четким планом и прагматичным подходом, но ее не было.
Именно тогда я решил научиться создавать языки самостоятельно. Мне потребовались годы профессионального опыта в построении языков. Теперь я могу поделиться этими знаниями, чтобы вы могли научиться создавать свой собственный язык за несколько недель.
Это все еще будет много работы, но вы будете иметь помощь.
Как эта книга поможет вам
В этой книге показано, как повторно использовать существующие библиотеки и платформы для создания необходимой экосистемы для поддержки наших языков.
Раньше затраты на создание механизмов для правильной поддержки языка были очень высокими.
Сегодня, приложив ограниченные усилия, мы можем разработать язык и:
Материал на английском языке
Продажник:
Скачать:
How to Create Pragmatic, Lightweight Languages
Federico Tomassetti
Создавайте языки программирования как профессионал. Узнайте, как создать что-то полезное в реальном мире. Настоящий язык программирования, с эффективным анализатором и полным компилятором. Язык с собственным редактором. Это не о создании игрушек.
Нет необходимости изобретать велосипед: мы повторно используем компоненты с открытым исходным кодом и организуем их вместе, чтобы получить что-то полезное с целенаправленными усилиями.
Считаете ли вы, что невозможно создать парсер, интерпретатор, редактор и симулятор менее чем в 1000 строк кода? Подумай еще раз.
С помощью этой книги вы научитесь:
- разрабатывать инструменты для языка, такие как механизм статического анализа для Java или переносчик из Python в JavaScript;
- создать предметно-ориентированный язык (DSL), язык, который действительно хорош в конкретных задачах, таких как HTML или SQL;
- создать язык общего назначения (GPL), язык, подходящий для любой задачи, такой как C # или Ruby;
Создание эзотерического языка программирования может быть отличным способом выдвинуть новую идею. Чтобы показать, что все можно сделать по-другому.
Труднее создать GPL, но это можно сделать: Kotlin, Go, Ruby, Julia, Rust и т. д. Просто подумайте о множестве новых языков, созданных за последнее десятилетие. Многие из них закрепились в различных сообществах и сделали разработчиков счастливее.
Немного теории и много кода
Когда я учился строить языки, я был разочарован: я мог просто найти базовые учебники здесь и там, но чего не хватало, так это полного курса. Одного курса, чтобы вести меня с самого начала и до конца. Всякий раз, когда я находил что-то более продвинутое, оно было слишком абстрактным: много теории компилятора и недостаточно кода.
Я хотел книгу с четким планом и прагматичным подходом, но ее не было.
Именно тогда я решил научиться создавать языки самостоятельно. Мне потребовались годы профессионального опыта в построении языков. Теперь я могу поделиться этими знаниями, чтобы вы могли научиться создавать свой собственный язык за несколько недель.
Это все еще будет много работы, но вы будете иметь помощь.
Как эта книга поможет вам
В этой книге показано, как повторно использовать существующие библиотеки и платформы для создания необходимой экосистемы для поддержки наших языков.
Раньше затраты на создание механизмов для правильной поддержки языка были очень высокими.
Сегодня, приложив ограниченные усилия, мы можем разработать язык и:
- получить быстрый парсер из краткого определения грамматики;
- получить валидацию и преобразование модели с небольшим количеством кода;
- генерировать байт-код JVM и получать совместимость с другими языками JVM или генерировать язык с помощью LLVM;
- получить богатые редакторы с подсветкой синтаксиса и автозаполнением.
Материал на английском языке
Продажник:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Скачать:
Скрытое содержимое могут видеть только пользователь группы: PRO
Скрытое содержимое для пользователей: Ferr