Оригинальный вопрос описал Tcl до «Т».
Tcl изначально разрабатывался как встроенный язык сценариев. Он превратился в первоклассный динамический язык сам по себе, но все еще используется во всем мире в качестве встроенного языка. Он доступен под лицензией BSD, поэтому он настолько же бесплатен, насколько это возможно. Он также компилируется практически на любой современной платформе и во многих не очень современных. И он работает не только на настольных системах, но и для мобильных платформ.
Tcl выделяется как «клейкий» язык, где вы можете писать высокопроизводительные функции на C, но при этом использовать преимущества языка сценариев для менее важных для приложения частей приложения.
Tcl также поставляется с первоклассным инструментарием GUI (Tk), который, возможно, является одним из самых простых кроссплатформенных инструментариев GUI. Он также очень хорошо взаимодействует с SQLite и другими базами данных и уже довольно давно имеет встроенную поддержку юникода.
Если интерфейс сценариев будет доступен для ваших клиентов (вместо того, чтобы просто позволить вашим собственным инженерам работать на уровне сценариев), Tcl чрезвычайно легко освоить, так как всего существует всего 12 правил, которые управляют всем язык (по состоянию на ткл 8.6). На самом деле, Tcl - это способ изобретать специфичные для предметной области языки, которые часто используются в качестве сценариев для конечных пользователей.