B4rr4cuda писал(а):alexey38 писал(а):3. Если честно, то не понимаю зачем в OpenSource продуктах нужно привешивать еще и скрипты? Написать на родном паскале функционал скрипта будет быстрее, лучше и надежнее (при условии правильной архитектуры). А так как среда для программирования, то пересобрать проект не составляет труда. Скрипт нужен только если компилятор недоступен. А если не нравиться паскаль, как язык, а, например, нравится скриптовый язык, то сразу пишите приложение на нем, например, на Питоне. Зачем все это смешивание языков, которое кроем "гемора" и громоздкости ничего не дает полезного?
Гибкость, модульность, возможность использовать различные средства разработки, настраиваемость и тд.
Это интерфейс, который позволяет сосредоточиться на реализации своего функционала, а не зарываться с пятками в чужой код.
Думаю, что всем понятно, что сам по себе скриптовый движок, прикрученный к паскалевской программе, ничего не будет делать, т.е. скрипт будет выполняться, но это ни на что не будет влиять.
Соответственно, чтобы был смысл, то на уровне основной программы разрабатывается некий внутренний API с функционалом основной программы, который привязывается к скриптам. Фактически однозначно определяется то, что может сделать скрипт по отношению к основной программе. При этом API обязательно документирован, иначе никто не догадается, как его использовать в скрипте.
Так вот, что имеем: код основной программы (OpenSource), API с документацией, известно место, где можно и нужно вызывать скрипт для работы с API.
Вопрос: чем легче писать код на скрипте, и чем сложнее его писать на паскале, когда известен API, место вызова и т.п.?
Мой опыт говорит, что мы всегда строили крупные проекты так, чтобы новый функционал, особенно на уровне пользовательского интерфейса, реализовывался быстро и четко. В некоторых случаях одновременно привязывали скрипты. Практика показывает, что на паскале реализовать функционал скриптов намного проще (ни чем не ограничен) и легче (по трудозатратам). А пользователи вынуждены писать скрипты только, если разработчики забили на поддержку, та и то по самому минимуму. Ну а трудозатраты по привязыванию скриптов с созданием полноценного API всегда высоки, и выполняются в ущерб основному функционалу. Важно понимать, что на паскале реализую дополнительный функционал, используешь при необходимости всю мощь библиотек и языка, т.е. можно сделать все, включая настраиваемость. На скрипте куча ограничений, убогие средства разработки и т.п. Единственный плюс скрипта - это если кому-то не нравиться паскаль как язык, но здесь другой случай, т.к. форум любителей паскаля.