Re: Автоматический синтез программ -- что нового?
От: Blazkowicz Россия  
Дата: 27.06.14 12:58
Оценка: 24 (2) +1
Здравствуйте, malphunction, Вы писали:

M>И что, действительно, такое многообещающее направление

M>никому не интересно?? Есть тут кто-то, занимающийся подобным?
M>Можете написать, что сейчас в мире на эту тему происходит?
CMS, по-моему одни из немногих систем, которые в этом чего-то добились. Всякие Wordpress, например. Можно сделать сайт без программиста и даже поддерживать его.
Было много попыток делать более сложные системы без программирования ещё лет 10 назад. Но, как-то ни одной не выстрелило. Я постоянно вижу анонсы и рекламу таких систем. А в одной такой даже участвовал.

Задумка достаточна простая. Система типа ERP это несколько составляющих.
— Модель предметной области
— Бизнес-процесс
— UI формы
— Отчеты

Все эти подсистемы можно нарисовать с помощью некого UI.
— Модель это сущности, свойства и ассоциации — вроде легко рисуется
— Процесс это блок-схема — аналогично можно изобразить
— UI формошлепается через WYSIWYG
— Отчеты тоже рисуются в WYSIWYG и Query Builder для модели данных, не такая уж и сложная фигня.
В теории всё кучеряво. Нарисовал, проставил связи и запускай себе.

На практике же оказывается, что программировать без программирования не так просто.
— Нельзя без определенных навыков нарисовать модель, чтобы она нормально ложилась на более менее нормализованую БД.
— Не может блок-схема лаконично уместить всё то что может язык программирования. Да, и нарисовать блок-схему, оказывается не так просто. Нужно что-то понимать в циклах, переменных, условиях и пр.
— Ну, вот формошлепство, по-моему не самый сложный момент. Хотя usability это тоже целая наука.
— Нельзя построить сложный запрос к модели не понимая SQL.

На самом деле подсистем может быть больше. Интеграции, например. Кто-то через SOAP их делает, а кто-то через DLL.
Сложные алгоритмы и интеграции в таких системых принципиально невозможны из-за слишком высокого уровня абстракции. Поэтому подобные решения позволяют внедрять на каком-то уровне код на популярном языке программирования. А это уже головная боль для программиста, которому помимо программирования на языке, приходится паралельно часть задачь решать в терминах этой системы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.