> For the complete documentation index, see [llms.txt](https://braydie.gitbook.io/how-to-be-a-programmer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://braydie.gitbook.io/how-to-be-a-programmer/ru/3-advanced/technical-judgment/02-how-to-utilize-embedded-languages.md).

# Как использовать встроенные языки

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

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

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

Вопрос, который стоит задать себе перед встраиванием языка, звучит так: входит ли использование таких языков в культуру моих пользователей или нет? Если ваша целевая аудитория состоит исключительно из непрограммистов, то насколько поможет внедрение языка в систему? Если целевая аудитория состоит из программистов, то не предпочтут ли они API? И какой язык вы собираетесь встраивать? Программисты не очень любят изучать новый язык, если у него узкое применение. Но если он похож на то, с чем они уже работают, то они быстро освоят его. Создавать новый язык - это огромное удовольствие и радость. Но мы не должны позволять этой радости ослеплять нас и затмевать потребности пользователя. Если только у вас не по-настоящему оригинальные запросы и идеи, то почему бы не использовать уже существующий язык, с которым знакома некоторая часть ваших пользователей?

Следующее: [Выбор языка программирования](/how-to-be-a-programmer/ru/3-advanced/technical-judgment/03-choosing-languages.md)
