Когда целесообразно создавать собственный язык программирования?

Когда целесообразно создавать собственный язык программирования?
Когда целесообразно создавать собственный язык программирования? - anete_lusina @ Unsplash

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

PS: Чтобы быть уверенным, я имею в виду новый язык программирования и компилятор, а не новый компилятор для существующего языка.

EDIT: Спасибо за ответы. Не могли бы вы привести примеры, когда создание DSL абсолютно не нужно, или случаи, когда DSL может быть хорошей идеей?

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

При написании собственного языка вы:

  • Добавляете огромную сложность к вашей проблеме
  • Добавление значительного объема работы по написанию и поддержке нового языка и компилятора

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

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


LetsCodeIt, 17 мая 2023 г., 18:46