CourseHunter
  • Категории
  • Источники
  • Все курсы
  • Разделы
  • Книги
  • Краудфандинг logo
    Краудфандинг
English
Русский
Українська
Голубая
Фиолетовая
Cветлая
Терминал
Norton
Войти
Главная страницаКатегория другое[Книга] Как создавать прагматичные, легкие языки

[Книга] Как создавать прагматичные, легкие языки

How to Create Pragmatic, Lightweight Languages

Federico Tomassetti logo
Federico Tomassetti
★5 (всего оценок - 4)
[Книга] Как создавать прагматичные, легкие языки
Начать Сейчас
Категория
Другое
Дата добавления
12 июн. 2020 г., 23:02
Язык
Английский

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


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

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

С помощью этой книги вы научитесь:

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

Создание инструмента или DSL может упростить вашу жизнь программиста. И когда ваш работодатель слышит магические слова «повысить производительность», это может даже помочь в вашей работе.

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

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

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

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

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

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

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

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

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

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

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

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

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

Посмотреть больше

Автор - Federico Tomassetti

Federico Tomassetti logo

Federico Tomassetti

Федерико Томассетти (Federico Tomassetti) - консультант по архитектуре программного обеспечения, специализирующийся на языковой инженерии: я создаю языки, редакторы, парсеры, компиляторы, интерпретаторы и симуляторы. У меня безумная страсть к разработке программного обеспечения: мне это нравилось с 8 лет, и я все время думаю об этом. Я сделал несколько вещей: получил докторскую степень в области разработки программного обеспечения, провел исследо

LinkedInYouTubeGitHub
Автор
+1
Комментарии
 logo

    Учись ради навыков, а не сертификатов. Лучшие видеокурсы от топ-авторов со всего мира: программирование, дизайн, AI, DevOps и многое другое. Без воды, без лозунгов — только код, практика и дружелюбное комьюнити разработчиков.

    Категории
    Все категории JavaScript React.js Python Java Golang (Google Go) Другое TypeScript Подготовка к собеседованию Конференции Другое (Frontend)
    Источники
    Все источники Academind Pro Aurimas Griciūnas balun.courses DesignGurus.io frontendmasters Khalil Stemmler podlodka.io udemy Влад Тен Михаил Непряхин
    CourseTrainЦенаКонтактыРаспространенные вопросыПлейлистыПриватностьУсловия
    Темы:
    Язык: