• ВНИМАНИЕ! НОВЫЙ АДРЕС САЙТА

    РКН заблокировал текущий домен

    Актуальный адрес сайта всегда указан здесь - EGROUND-ZERKALO.COM

Скачать Как создавать прагматичные, легкие языки - Tomassetti (2020)

wowpro

wowpro

Unlimited
Сообщения
14.443
Лайки
9.494
Как создавать прагматичные, легкие языки
How to Create Pragmatic, Lightweight Languages
Federico Tomassetti

Скачать Как создавать прагматичные, легкие языки - Tomassetti (2020)



Создавайте языки программирования как профессионал. Узнайте, как создать что-то полезное в реальном мире. Настоящий язык программирования, с эффективным анализатором и полным компилятором. Язык с собственным редактором. Это не о создании игрушек.

Нет необходимости изобретать велосипед: мы повторно используем компоненты с открытым исходным кодом и организуем их вместе, чтобы получить что-то полезное с целенаправленными усилиями.

Считаете ли вы, что невозможно создать парсер, интерпретатор, редактор и симулятор менее чем в 1000 строк кода? Подумай еще раз.

С помощью этой книги вы научитесь:
  • разрабатывать инструменты для языка, такие как механизм статического анализа для Java или переносчик из Python в JavaScript;
  • создать предметно-ориентированный язык (DSL), язык, который действительно хорош в конкретных задачах, таких как HTML или SQL;
  • создать язык общего назначения (GPL), язык, подходящий для любой задачи, такой как C # или Ruby;
Создание инструмента или DSL может упростить вашу жизнь программиста. И когда ваш работодатель слышит магические слова «повысить производительность», это может даже помочь в вашей работе.

Создание эзотерического языка программирования может быть отличным способом выдвинуть новую идею. Чтобы показать, что все можно сделать по-другому.

Труднее создать GPL, но это можно сделать: Kotlin, Go, Ruby, Julia, Rust и т. д. Просто подумайте о множестве новых языков, созданных за последнее десятилетие. Многие из них закрепились в различных сообществах и сделали разработчиков счастливее.

Немного теории и много кода

Когда я учился строить языки, я был разочарован: я мог просто найти базовые учебники здесь и там, но чего не хватало, так это полного курса. Одного курса, чтобы вести меня с самого начала и до конца. Всякий раз, когда я находил что-то более продвинутое, оно было слишком абстрактным: много теории компилятора и недостаточно кода.

Я хотел книгу с четким планом и прагматичным подходом, но ее не было.

Именно тогда я решил научиться создавать языки самостоятельно. Мне потребовались годы профессионального опыта в построении языков. Теперь я могу поделиться этими знаниями, чтобы вы могли научиться создавать свой собственный язык за несколько недель.

Это все еще будет много работы, но вы будете иметь помощь.

Как эта книга поможет вам

В этой книге показано, как повторно использовать существующие библиотеки и платформы для создания необходимой экосистемы для поддержки наших языков.

Раньше затраты на создание механизмов для правильной поддержки языка были очень высокими.

Сегодня, приложив ограниченные усилия, мы можем разработать язык и:
  • получить быстрый парсер из краткого определения грамматики;
  • получить валидацию и преобразование модели с небольшим количеством кода;
  • генерировать байт-код JVM и получать совместимость с другими языками JVM или генерировать язык с помощью LLVM;
  • получить богатые редакторы с подсветкой синтаксиса и автозаполнением.
Мы покажем вам, как построить все это и многое другое, разумно определяя мелкие компоненты. Результат будет чем-то солидным, полным и понятным.
Материал на английском языке





Продажник:

Скачать:
Скрытое содержимое могут видеть только пользователь группы: PRO
Скрытое содержимое для пользователей: Ferr
 
Сверху Снизу