|
|
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий Concept, совсем недавно на хабре читал статью на эту тему https://habrahabr.ru/post/320652/ В комментариях много спорили Дмитрий ConceptИнтуиция мне подсказывает (могу ошибаться, конечно), что именно в плоскости автоматизации программирования и документирования (CASE-технологии) находится решение. Если говорить конкретно о ИС предприятий, то с моей точки зрения самый перспективный вариант - BPM системы. Они УЖЕ работают. И ближе всего подошли к тому, что людям надо. Хотя именно автоматизации программирования там и нет :) Если абстрагироваться от деталей, что надо пользователям (заказчикам)? Объяснил компьютеру, что надо сделать - он сделал. А будет при этом генерироваться код, или компьютер воспримет описание задачи как руководство к действию без дополнительных генераций кода (как делают BPM системы) - пользователю не важно. Но есть отличие между CASE и BPM системами. Простую прикладную задачу (не "привет, мир!") в BPM уже сейчас можно запустить на исполнение вообще без привлечения программиста. А с CASE системами так не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2017, 17:08 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий Concept, Не то чтобы они сокращались, конечно. Где-то они может даже и увеличились. Но теперь кроме того чтобы остатки сходились, хотят получить больше гибкости, больше красивости, в общем, больше качества. К тому же, вырос технический долг проектов, который давит на грудь. Я помню как лет 10 назад особо продвинутые владельцы, уже тогда крупных компаний, стали обзаводиться своими собственными ИТ отделами. Так как это дешевле и быстрее чем постоянно пинать аутсорс. Особенно если бизнес-процесс сложный. Хочешь что-то быстро оптимизировать или прогнуться под изменившиеся реалии, например выдавать кредиты без лишнего этапа - даешь команду ИТ отделу, и через относительно короткий срок получаешь результат и соответственно конкурентное преимущество. В случае аутсорса же, нужно встать в очередь, родить ТЗ, пройти согласования, поставить подпись под ТЗ, потом опомниться что нужно не один этап убирать, а два, переписывать ТЗ, заплатить за это. Потом понять что все не так и далее с этим жить)). Так вот, а сейчас этой гибкости от придворных разработчиков стало мало. Теперь эти тонны самописного кода (а, будет более правильно сказать - говнокода), нуждаются в подпирании и обслуживании. О красивостях и речи быть не может, т.к. много других более насущных проблем. А сотрудники-то привыкли к качеству вокруг, на работе уже себя ощущают как в помойке. Иногда разобраться как работает какой-либо функционал просто нереально. Так как очень много кода, статусов, обработок этих статусов и т.д. Визуализировать эту мешанину тоже не представляется возможным, местами прямо в формах прописана какая-то порнуха логика. Да и не важно где она прописана, код есть код, иногда даже человек, даже автор не может воткнуть, что это и для чего это было написано. Поэтому всеобщая платформизация неибзежна)) Тут суть очень проста - чтобы создать нечто очень качественное, нужно чтобы это была не наколенная разработка, а полноценный продукт. А чтобы создать продукт, нужно чтобы в его основе уже был продукт (платформа). Чтобы выпустить новое качественное авто, нужно взять уже существующий продукт, например хороший движок. Иначе ничего не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2017, 17:08 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
s_ustinovДмитрий Concept, совсем недавно на хабре читал статью на эту тему https://habrahabr.ru/post/320652/ В комментариях много спорили Дмитрий ConceptИнтуиция мне подсказывает (могу ошибаться, конечно), что именно в плоскости автоматизации программирования и документирования (CASE-технологии) находится решение. Если говорить конкретно о ИС предприятий, то с моей точки зрения самый перспективный вариант - BPM системы. Они УЖЕ работают. И ближе всего подошли к тому, что людям надо. Хотя именно автоматизации программирования там и нет :) Если абстрагироваться от деталей, что надо пользователям (заказчикам)? Объяснил компьютеру, что надо сделать - он сделал. А будет при этом генерироваться код, или компьютер воспримет описание задачи как руководство к действию без дополнительных генераций кода (как делают BPM системы) - пользователю не важно. Но есть отличие между CASE и BPM системами. Простую прикладную задачу (не "привет, мир!") в BPM уже сейчас можно запустить на исполнение вообще без привлечения программиста. А с CASE системами так не получается. Нельзя не согласиться. Это как самолеты и птицы, про которых рассказывал Сербант (маркетолог яндекса). Сначала пытались изучать как у птиц устроены перья, так нифига с этим и не раобравшись, сделали самолет по другому приницпу. Тоже самое с мозгами и машинным обучением. И тоже самое к кодом и логикой. Я всегда говорил - код это зло, а кодогенерация это генерация зла)). Если код порождает проблемы, то кодогенерация плодит эти проблемы на автомате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2017, 17:14 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
dma_caviar, Это точно. Проходит буквально 2-3 года - и огрехи первоначальной архитектуры начинают существенно раздражать. Как маленький камешек в кроссовке - ходить вроде можно, но аккуратно (не побегаешь) и РАЗДРАЖАЕТ. А лет через 10 - БОЛЬ. И рефакторингом уже не отделаешься... Вернее рефакторинг будет заключаться в написании системы с нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2017, 17:16 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
dma_caviarСначала пытались изучать как у птиц устроены перья, так нифига с этим и не раобравшись, сделали самолет по другому приницпу. Тоже самое с мозгами и машинным обучением. И тоже самое к кодом и логикой. Я всегда говорил - код это зло, а кодогенерация это генерация зла)). Если код порождает проблемы, то кодогенерация плодит эти проблемы на автомате. Не могу согласиться с Вами. То, что Вы имеете возможность писать в этом форуме, следствие отработки написанной кем-то CMS и отработки кода. :) Даже редактор текстов это чей-то код. Какое уж тут зло? Просто двойстенность явления. Все одновременно хорошо и плохо. С чъей точки зрения и в какой момент времени посмотреть? Да ну ее - эту философию! Все-равно, по факту, в современном мире деньги определяют все. И если не участвуешь в этой финансовой системе кровообращения, то будешь на задворках. И 1C Битрикс и Амо СРМ - рулез!!! Алилуя!!! Что будет через 5 лет, кого этот интересует? Я это проходил. Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл. Что дальше? Слушать новых Оракулов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2017, 21:09 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий Conceptdma_caviarСначала пытались изучать как у птиц устроены перья, так нифига с этим и не раобравшись, сделали самолет по другому приницпу. Тоже самое с мозгами и машинным обучением. И тоже самое к кодом и логикой. Я всегда говорил - код это зло, а кодогенерация это генерация зла)). Если код порождает проблемы, то кодогенерация плодит эти проблемы на автомате. Не могу согласиться с Вами. То, что Вы имеете возможность писать в этом форуме, следствие отработки написанной кем-то CMS и отработки кода. :) Даже редактор текстов это чей-то код. Какое уж тут зло? Просто двойстенность явления. Все одновременно хорошо и плохо. С чъей точки зрения и в какой момент времени посмотреть? Да ну ее - эту философию! Все-равно, по факту, в современном мире деньги определяют все. И если не участвуешь в этой финансовой системе кровообращения, то будешь на задворках. И 1C Битрикс и Амо СРМ - рулез!!! Алилуя!!! Что будет через 5 лет, кого этот интересует? Я это проходил. Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл. Что дальше? Слушать новых Оракулов? Ну я думаю мы поняли о каком коде идет речь). Форум тут ни при чем. По поводу Виндовс - хз. Мы тоже сделали на них ставку, вроде выиграли вместе с ними)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2017, 22:03 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий Concept Все-равно, по факту, в современном мире деньги определяют все. Правильно. Поэтому бизнесу нужны решения, адекватные по соотношению цена-качество. Цена - это в том числе и расходы владения, а качество - расшипяемость, изменяемость, масштабируемость, юзабилити на разных уровнях. Решение с нулевой ценой ПОКУПКИ необязательно будет выгоднее решения с ценой, отличной от нуля. Т.к. учесть придется сумму затрат на приобретение и доработку под себя - взять бесплатно, потратить время на доработку а потом в случае сбоя вообще не знать что делать - это не особо привлекательно. Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл. Я люблю играть в го, правда делаю это совсем плохо. Игра учит, что невозможно контролировать ВСЕ ПОЛЕ. Но можно - хорошие куски этого поля, по размеру. Или важные. Или перспективные. Винда держит определенные сегменты, немелкие отнюдь, но не все поле целиком..... бизнес - не шахматы где поставил мат и все. И неажно, сколько ресурсов потратил... (часто не шахматы) часто это го. ищется тесудзи - лучший ход в области, ход решающий конкретную задачу, или адзи - ход создающий перспективы.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2017, 09:46 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Vladimir BaskakovДмитрий Concept Все-равно, по факту, в современном мире деньги определяют все. Правильно. Поэтому бизнесу нужны решения, адекватные по соотношению цена-качество. Цена - это в том числе и расходы владения, а качество - расшипяемость, изменяемость, масштабируемость, юзабилити на разных уровнях. Решение с нулевой ценой ПОКУПКИ необязательно будет выгоднее решения с ценой, отличной от нуля. Т.к. учесть придется сумму затрат на приобретение и доработку под себя - взять бесплатно, потратить время на доработку а потом в случае сбоя вообще не знать что делать - это не особо привлекательно. Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл. Я люблю играть в го, правда делаю это совсем плохо. Игра учит, что невозможно контролировать ВСЕ ПОЛЕ. Но можно - хорошие куски этого поля, по размеру. Или важные. Или перспективные. Винда держит определенные сегменты, немелкие отнюдь, но не все поле целиком..... бизнес - не шахматы где поставил мат и все. И неажно, сколько ресурсов потратил... (часто не шахматы) часто это го. ищется тесудзи - лучший ход в области, ход решающий конкретную задачу, или адзи - ход создающий перспективы.... Интересные мысли. Не могу не согласиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2017, 12:15 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий ConceptВсе-равно, по факту, в современном мире деньги определяют все. И если не участвуешь в этой финансовой системе кровообращения, то будешь на задворках. И 1C Битрикс и Амо СРМ - рулез!!! Алилуя!!! Что будет через 5 лет, кого этот интересует? Я это проходил. Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл. Что дальше? Слушать новых Оракулов? Вообще то умные люди говорили "Microsoft must die!" И они таки не ошиблись В этом легко убедиться, посмотрев статистику популярности браузеров и прочитав фразу в стиле "To install the mssql-server Package on Ubuntu , follow these steps" по адресу docs. microsoft.com /en-us/sql/linux/sql-server-linux-setup-ubuntu Вообще, желательно слушать не Оракулов, а аргументы. И тогда риск ошибиться можно снизить, хотя и не до нуля. Ранее вы привели очень хороший список: Дмитрий ConceptВот если сделать CASE технологию, которая бы была: 1.Простой в изучении и использовании. 2.Дешевой. 3.Гибкой (настраивалась на выходные языки программирования и среды, Фреймворки, интерфейсы и т.д.) 4.Использовала на входе описание модели информационной системы/ПО в популярных нотациях (UML, ER, XML) 5.Поддерживала автоматическое документирование для всех этапов жизненного цикла ПО. Но если его проанализировать, получается, что в нем есть внутренние противоречия. Например "Поддерживала автоматическое документирование для всех этапов жизненного цикла ПО." Это требование действительно очень важное. Любой, кто хоть раз разбирал код, написанный более нескольких месяцев назад (даже если это твой собственный код), с этим согласится. Причем об этом говорят уже очень долго. Какие есть работающие решения этой задачи? Я знаю только одно - сам код писать в соответствии с некими стандартами (комментарии, имена функций, оформление и т.д.), чтобы он и был документацией. Никаких других работающих вариантов не придумали. Но если мы будем вручную править текст программы, то зачем нам документировать все на уровне нотаций? И как добиться того, чтобы документация на уровне UML совпадала с тем, что в реальности делает программа? А теперь убираем из списка пункт "3.Гибкой (настраивалась на выходные языки программирования и среды, Фреймворки, интерфейсы и т.д.)" И сравниваем с BPM системами. Совпадение очень близкое: Относительно простые в освоении. Не очень дорогие (Bonita - open source) На входе используют описание на популярном языке (BPMN) Автоматически всё документируют (BPMN с комментариями - это и есть неплохая документация) Разумеется, всё совсем не идеально, но - достаточно хорошо. А теперь подумаем - а зачем нам нужен этот очень сложный элемент? Я говорю о преобразовании "описание модели информационной системы/ПО в популярных нотациях (UML, ER, XML)" --> "текст программы на ЯП высокого уровня". Вот какую он несет пользу? Для обучения - да, иногда полезен. Но в практической работе? Возьмем простой пример - ACCESS. Большая часть пользователей работает с ним в графическом интерфейсе, рисуя стрелочки и расставляя флажки - и успешно создает относительно простые приложения. Меньшая часть пишет код на SQL. И использует графический интерфейс только в отдельных случаях. Но например разработать сложный (несколько таблиц со сложными связями) и оптимизированный запрос, используя только графический интерфейс - практически невозможно. То есть как бы мы не изгалялись, сделать такой запрос сможет только квалифицированный специалист, и он это будет делать напрямую в SQL - так проще. Я это к чему. Сама по себе постановка задачи "на вход загрузить описание алгоритма в популярной нотации" --> "на выходе получить код на ЯП" крайне спорна. Вот пример относительно простого запроса из процедуры, которую сейчас дописываю: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. Попробуйте его описать в популярной нотации Засеките время, подумайте, - какие нужны знания для создания такого описания? Будет ли описание в популярной нотации понятнее, чем сам текст запроса на SQL? И подумайте - кто будет (сможет) на практике пользоваться этим функционалом? И будет ли это легче и быстрее (дешевле), чем писать сразу на SQL? Например, это могло бы быть дешевле, если использовать специалистов с более низкой квалификацией. Но поможет ли использование графической нотации (интерфейса) написать такой запрос пользователю, который не может его написать на SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2017, 17:26 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
s_ustinov, искреннее спасибо. Прочитал Ваш пост спустя несколько часов после публикации. Не смог сразу ответить. Переваривал. Вы несколько тем интересных затронули. Если честно, то на все ответить до сих пор откровенно даже для себя не могу. Но. 1.Ваш SQL-запрос - красавец. Но я никогда и не говорил о том, что кодогоенерация заменит программирование. Наоборот, она освободит программистов от рутины, и позволит ТОЛЬКО и писать такие красивые запросы. Я претендую на CRUD, но с учетом зоопарка и моды на технологии, надеюсь найти нишу. 2.Указанная Вами связь с BPM/BPMN весьма уместна, буду думать и работать над этим. Считаю это правильным направлением. 3.Вы меня сподвигли на решительные действия (отдельное спасибо). Подробности в следущем посте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 21:50 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Всем! Всем! Всем! Если Вы читаете это сообщение, скорее всего, Вы понимаете толк в программировании. И сможете отделить зерна от плевел. Чтобы продемонстрировать полезность автоматической генерации исходных кодов программ, я готов абсолютно бесплатно для Вас по Вашему запросу реализовать шаблоны генерации программ в соответствии с Вашими идеями или стандартами. Должен сообщить, планирую, что с апреля можно будет задавать определение сущности в произвольном виде, а не в рамках предопределенных полей. Напишите мне о Ваших идеях (лучше пошлите пример кода) и я в течение 3-7 дней разработаю отдельный шаблон, учитывающий Вашу специфику. Чтобы у Вас не было ощущения в "шапкозакидательстве" сообщу, что в настоящий момент разрабатываю шабон для AngularJS-NodeJS-SequelizeJS-PostgreSQL. Жду Ваших идей и предложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 22:14 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий Concept, А скрипты только на создание структуры (я пока про БД) или на модификацию тоже? И что должно быть на входе? Произвольное описание в формате внешней системы (xml\json)? Если так, то чур я первый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 00:21 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
dma_caviarДмитрий Concept, А скрипты только на создание структуры (я пока про БД) или на модификацию тоже? И что должно быть на входе? Произвольное описание в формате внешней системы (xml\json)? Если так, то чур я первый) На модификацию тоже. Высылайте мне на почту (есть в профиле) или публикуйте прямо здесь описание Ваших сущностей в удобном для себя виде в формате JSON. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 14:59 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий Conceptdma_caviarДмитрий Concept, А скрипты только на создание структуры (я пока про БД) или на модификацию тоже? И что должно быть на входе? Произвольное описание в формате внешней системы (xml\json)? Если так, то чур я первый) На модификацию тоже. Высылайте мне на почту (есть в профиле) или публикуйте прямо здесь описание Ваших сущностей в удобном для себя виде в формате JSON. Например Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 15:55 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
dma_caviar, MSSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 16:11 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
dma_caviar, Хорошо, подходит. Только, можно еще типы данных добавить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:16 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий Concept, А ну да, есть там такое, я "подчистил" зачем-то. MetadataKeyColumn - guid MetadataStringColumn - nvarchar MetadataNameColumn - nvarchar MetadataForeignKeyColumn - guid, внешний ключ, индекс, связь с другой таблицей MetadataBooleanColumn - bit Код: css 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:04 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
dma_caviar, Ok. В начале следующей недели напишу и покажу, что получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:19 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий ConceptЧтобы продемонстрировать полезность автоматической генерации исходных кодов программ, я готов абсолютно бесплатно для Вас по Вашему запросу реализовать шаблоны генерации программ в соответствии с Вашими идеями или стандартами. Должен сообщить, планирую, что с апреля можно будет задавать определение сущности в произвольном виде, а не в рамках предопределенных полей. Напишите мне о Ваших идеях (лучше пошлите пример кода) и я в течение 3-7 дней разработаю отдельный шаблон, учитывающий Вашу специфику. Чтобы у Вас не было ощущения в "шапкозакидательстве" сообщу, что в настоящий момент разрабатываю шабон для AngularJS-NodeJS-SequelizeJS-PostgreSQL. Я несколько дней думал, что может быть мне полезно... И ничего не придумал Я занимаюсь очень "прикладными" вещами. Есть ERP система (сейчас NAV, но работал и с другими), для которой пишу отчеты и / или куски функционала. Причем написание кода не основная моя задача - я в основном консультант, а не разработчик. :) И основная моя ценность в том, что я знаю, как это должно работать (могу придумать алгоритм, решающий определенную бизнес-задачу, и написать ТЗ), а не в том, что умею реализовать алгоритм на конкретном ЯП. Насколько я понимаю, примерно такие специалисты и являются вашей целевой аудиторией. Но у меня нет задач, которые можно решать с помощью этого инструмента. Для создания табличек в базе - копипаст + редактирование прекрасно решают мои задачи (для каждой задачи требуется создавать в основном не больше десятка табличек). Написание SQL кода - мне НАМНОГО проще сразу писать на SQL, чем пытаться описать это в какой-то нотации и потом всё равно править сиквел. Написание кода на специфическом языке системы (C/AL (язык навижина), язык 1С, ABAP) - создавать генерацию такого кода не в платформе просто глупо, так как ЯП не универсальный. Да даже для универсального ЯП (compiere/adempiere/idempiere использует java) - как именно подобный сервис сможет сгенерировать код, если мне надо, например, НЕМНОГО доработать алгоритм расчета себестоимости основных средств? А вот BPMN в данном случае может пригодиться. Можно рассматривать куски функционала системы (фин учет, расчет себестоимости, учет товародвижений и т.п.) как "микросервисы", которые будет "дергать" BPM система через те же веб-сервисы (почти во всех системах сейчас есть возможность интеграции с другими системами через веб сервисы). То есть BPM будет находиться на уровень выше "модулей" - мы повышаем уровень абстракции, и во многих случаях это будет полезно и, главное, будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2017, 13:23 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
dma_caviar, приветствую! Я написал адаптер для загрузки описания сущности (таблицы) из Вашего формата JSON во внутренний формат WEB сервиса. Соответственно, для него доступны все имеющиеся шаблоны генерации, в т.ч. SQL. Посмотреть можно по ссылке: http://gendoc.ru/cgi-bin/gcadapter.htm Теперь нужно уточнить у Вас, что нужно получить на выходе. Можно поправить имеющийся шаблон для SQL, можно генерить хранимые процедуры MS SQL. Хорошо, если Вы напишете, на каком языке программирования должно быть написано приложение-клиент и как оно должно осуществлять передачу (подстановку) параметров в команды SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 09:50 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
s_ustinov, добрый день! Все верно, так и есть. Вам не нужно морочиться с генерацией кода, если Вы: 1) Опытный профессионал, имеющий свою устойчивую нишу. 2) Работаете в рамках сложившейся и замкнутой технологии (особенно характерна для ERP). 3) Работаете на проекте с большой/длительной историей. Потребность в генерации (в том числе - ПЕРЕгенерации, ДОгенерации) эффективна, если возникает потребность: 1) Для новых разработок. 2) Перехода на новые платформы/языки программирования/фреймворки/библиотеки. 3) Переноса (выноса из существующей системы) части функционала в другую (заново разрабатываемую) систему. 4) Разработки внешних интеграционных интерфейсов. Ваша идея соединения технологии BPM с результатами кодогенерации - мне нравиться. Таким образом, можно было бы обеспечить стандартизацию вызовов сервисов/методов в определенном BPM движке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 13:10 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Дмитрий Concept, Не, нужно только create table и alter table. Правда alter пока не понятно как делать. Надо наверное тогда два json-а передавать до изменений и после. Чтобы сгенерился скрипт alter. Еще не нужно sys_id, uid - это uniqueidentifier и нету NULL, NOT NULL. И еще API, через который можно дергать сервис)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 13:20 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
dma_caviar, Ну и еще возможность править шаблоны через личный кабинет. Не будут же ваши потребители постоянно вас дергать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 13:22 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
1) Для новых разработок. - сомнительная выгода - структуры данных рождаются синхронно и взаимозависимо с алгоритмами, при уточнении требований - чистый ==водопад== - когда сначала появилась вся до последней запятой постановка, и потом по ней ничего не меняя пишут код - редкость. 2) Перехода на новые платформы/языки программирования/фреймворки/библиотеки. тут данные уже обычно описаны, в слое метаданных базы, и надо их правильно прочитать 3) Переноса (выноса из существующей системы) части функционала в другую (заново разрабатываемую) систему. логическая и смысловая и техническая изоляцие фрагмента - это труд, по сравнению с которым генерирование кода CRUD не так сильно портит нервы 4) Разработки внешних интеграционных интерфейсов. Вот всякий ETL - это да, но тут хорошо бы как раз получать метаописание с живых данных - а так, руками нагенерять иксэмэльное или json - описание чтобы по нему система сгенерировала таблички - не очень интересно. Не хватает какой-то изюмины, ради которой можно плюнуть на остальные шероховатости.... вот в руби-на-рельсах, на момент когда они родились, изюмина была. этот робот сделает за меня простую работу, с которой я и сам неплохо справляюсь, оставляя разгребать самостоятельно завалы и нестыковки - такое впечатление. Именно концептуальной дорожной карты - это что и для чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 09:43 |
|
||
|
WEB сервис генерации программного кода
|
|||
|---|---|---|---|
|
#18+
Vladimir BaskakovНе хватает какой-то изюмины Изюмину коротко называют ИИ. Ну а длинно - это все технологии, которые могут быть использованы при создании ИИ. Всяческие генерации не решают ничего, поскольку решают давно решённую типовую задачу. А вот интеллекта добавить - сразу всем изюм понравится. И здесь давно уже масса авторов тренировалась. Все они начинали с такой же идеи, что и автор темы. И все закончили на этапе красивого генерения табличек при помощи менюшек. А вот логику приложения все они реализуют только типовую, то есть ими же давно описанную и формализованную, а затем переведённую в код, который генерит новый код. Дмитрий Концепт Вам специально повторю - забейте на генераторы и займитесь ИИ. Вот начали что-то там про естественные тексты - туда и копайте, раз интересно. И все авторы подобного вашему кода в конце концов именно в ИИ упираются, точнее в неумение его реализовать. Но процесс идёт, умение тренируется и лет через 10-20-30 кто-то обязательно сумеет. Ну и тогда всех нас выставят на продажу в игру "Сафари" в качестве, естественно, мишени. Хотя у всех Дмиртиев Концептов на этом пути есть альтернатива - подумайте о будущем и возможно вашему стремлению к идеалу не понравится всё то безобразие, которое вы увидите в своих мыслях. И тогда ковыряйте своё творение с простым прицелом - что бы избежать "Сафари". Хотя бы так, гении вы этакие, по дороге к аду идущие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 13:52 |
|
||
|
|

start [/forum/topic.php?fid=33&msg=39419337&tid=1547260]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 420ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...