powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / WEB сервис генерации программного кода
151 сообщений из 151, показаны все 7 страниц
WEB сервис генерации программного кода
    #39332700
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!
Увлекаюсь генерацией программного кода по концептуальной модели предметной области.
На днях запустил микросервис http://gendoc.ru/cgi-bin/GenCode.htm .
Не знаю, куда дальше двигаться.
Буду всем признателен за любые предложения, замечания комментарии, идеи.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39333405
rbc5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Concept,
идея любопытная, но мне больше нравится подход XAF. Хотя, его лучше сравнивать с "КОНЦЕПТ".
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39333918
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rbc5, спасибо за подсказку про XAF!
Смотрю, изучаю..
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39345457
scaffolding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39346101
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любой код это зло. А генератор кода - это генератор зла))
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39347151
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы!

А эти ваши системы смогут сгенерить код по формулировкам вида, например:

Код: html
1.
2.
3.
4.
Требуется учет расходов.
Справочник статей расходов.
Таблица с полями: дата, статья расходов, сумма, валюта, кто потратил и примечание.
Отчет по расходам в разрезе дат, статей расходов и кто потратил.


Мое приложение сможет.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39356192
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rbc5 , scaffolding ,
спасибо, посмотрел, интересно, буду учитывать эти идеи и подходы к реализации в своих разработках.

На странице http://gendoc.ru/cgi-bin/GenCode.htm в разделе Ссылки буду размещать интересные ссылки по теме.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39356204
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В WEB сервис генерации исходных кодов добавил генерацию по шаблонам: ASP, Java-таблица и различных вариантов комментариев.

Ссылка на сервис: http://gendoc.ru/cgi-bin/GenCode.htm

Интересно узнать мнение участников форума.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39356212
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptСпасибо за ответы!

А эти ваши системы смогут сгенерить код по формулировкам вида, например:

Код: html
1.
2.
3.
4.
Требуется учет расходов.
Справочник статей расходов.
Таблица с полями: дата, статья расходов, сумма, валюта, кто потратил и примечание.
Отчет по расходам в разрезе дат, статей расходов и кто потратил.


Мое приложение сможет.

Можно посмотреть результат генерации по таким формулировкам:
Код: html
1.
2.
3.
Требуется учет пациентов.
Отчет по выявленным заболеваниям.
Форма 30.


?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39356277
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak,

В своем сообщении от 14 ноября я указал направление движения данной разработки.
На данный момент, реализации еще нет, появится месяца через три.
На данном этапе в приоритете - формирование онтологии (описание сущностей, их атрибутов и отношений между ними) и доработка шаблонов для генерации программного кода.

Как планируется обрабатывать постановку вида:

Alexander A. SakТребуется учет пациентов.
Отчет по выявленным заболеваниям

1) Анализ предложений на ограниченном естественном языке (ЕЯ) позволяет выделить из текста сущности ПАЦИЕНТ и ЗАБОЛЕВАНИЕ.
На сайте GENDOC.RU есть информация о имеющихся наработках по обработке ЕЯ (морфология, синтаксис, извлечение понятий)

2) В онтологии эти понятия должны быть предопределены с типовыми (наиболее распространенными атрибутами) и отношением многие ко многим. По сути UML диаграмма классов или ER диаграмма. Можно OWL.

3) Результаты отображения исходной постановки п.1 (ограниченный ЕЯ) в модель п.2 (фрагмент онтологии) достаточно информации для запуска шаблонов генерации исходного программного кода для целевой системы.
Можно будет просматривать, фильтровать, редактировать списки пациентов и заболеваний.

Здесь не вижу проблем.

А вот с фразой обстоят дела иначе:

Alexander A. SakФорма 30.


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

Коллеги, правда, у меня много недостатков.
НО Я НЕ СУМАСШЕДШИЙ!!!
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39356981
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ваше направление тупиковое. бросьте и не страдайте фигней.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39356983
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в лучшем случае получится аналог 1С (но ничего подобного конечно не получится)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357003
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fsharp_fsharpв лучшем случае получится аналог 1С (но ничего подобного конечно не получится)
Интересно, а причем тут 1С?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357013
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarfsharp_fsharpв лучшем случае получится аналог 1С (но ничего подобного конечно не получится)
Интересно, а причем тут 1С?

это то, во что через 100...000 итераций может превратиться "WEB сервис генерации программного кода". ну, хотя к тому моменту уже может уже ИИ будет программы писать
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357028
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fsharp_fsharp,

А что, 1С умеет делать анализ на естественном языке?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357036
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarfsharp_fsharp,

А что, 1С умеет делать анализ на естественном языке?

нет. но пока ни одна система это не умеет. даже сам человек
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357050
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fsharp_fsharpdma_caviarfsharp_fsharp,

А что, 1С умеет делать анализ на естественном языке?

нет. но пока ни одна система это не умеет. даже сам человек
Так а 1С то тут причем?))
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357055
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarfsharp_fsharpпропущено...


нет. но пока ни одна система это не умеет. даже сам человек
Так а 1С то тут причем?))

этот ПП (и аналоги) наиболее близки к "...генерацией программного кода по концептуальной модели предметной области"
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357073
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptAlexander A. Sak,

В своем сообщении от 14 ноября я указал направление движения данной разработки.
На данный момент, реализации еще нет, появится месяца через три.
На данном этапе в приоритете - формирование онтологии (описание сущностей, их атрибутов и отношений между ними) и доработка шаблонов для генерации программного кода.

Как планируется обрабатывать постановку вида:

Alexander A. SakТребуется учет пациентов.
Отчет по выявленным заболеваниям

1) Анализ предложений на ограниченном естественном языке (ЕЯ) позволяет выделить из текста сущности ПАЦИЕНТ и ЗАБОЛЕВАНИЕ.
На сайте GENDOC.RU есть информация о имеющихся наработках по обработке ЕЯ (морфология, синтаксис, извлечение понятий)

2) В онтологии эти понятия должны быть предопределены с типовыми (наиболее распространенными атрибутами) и отношением многие ко многим. По сути UML диаграмма классов или ER диаграмма. Можно OWL.

3) Результаты отображения исходной постановки п.1 (ограниченный ЕЯ) в модель п.2 (фрагмент онтологии) достаточно информации для запуска шаблонов генерации исходного программного кода для целевой системы.
Можно будет просматривать, фильтровать, редактировать списки пациентов и заболеваний.

Здесь не вижу проблем.

А вот с фразой обстоят дела иначе:

Alexander A. SakФорма 30.


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

Коллеги, правда, у меня много недостатков.
НО Я НЕ СУМАСШЕДШИЙ!!!

вы либо школьник, либо троль
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357215
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fsharp_fsharp,
какой реакции на свои комментарии Вы от меня ждете?

Вы не верите в возможность реализации данной идеи.
И ничего конструктивного по теме мне не подскажете.
У нас с Вами разные дороги.

А проект я буду продолжать.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357242
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Продолжать то надо, хотя бы для самообразования.
А так, ты дойдешь до глаголов (остальное все относительно просто), а они требуют очень точных действий надо остальными (это программные методы) товарищами.
Вот типа сентенция - Создать форму 30.
Формы ты найдешь, и даже конкретно 30ую.
Но "Создать" это великий гемор.
Нужны контексты для "Создать":
1. проектировать
...в БД
... ЮМЛ
...
2. нарисовать на бумаге карандашом
... на доске мелом
... на экране смартфона
...

Этих гребаных контекстов неисчислимое количество и они, падлы, меняются во времени и в пространстве, в зависимости от интерпретирущего козла (машина, человек!!!!(ужасное слово) и т.д.
Самое главное - вычислить контекст. Дальше сама пойдет.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357262
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная идея ...
Какие планы путей развития?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357294
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Интересная идея ...
Какие планы путей развития?
ИИ
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39357306
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptНа днях запустил микросервис http://gendoc.ru/cgi-bin/GenCode.htm .
Не знаю, куда дальше двигаться.
Буду всем признателен за любые предложения, замечания комментарии, идеи.Предоставить визуальную среду создания КОНЦЕПТА.
Ведь об направление работ вы уже сказали http://www.sql.ru/forum/1238177/koncept-budushhee-za-konceptualnym-i-estestvenno-yazykovym-programmirovaniem
Жаль что ваша разработка не open source.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39407390
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!

Прошло почти 3 месяца, как я взял паузу на осмысление того, что и зачем делаю.
Спасибо всем, кто дал мне полезные ссылки и комментарии на этом форуме.

Сразу сообщу, что проект развивается и актуальная версия WEB сервиса
доступна в разделе "Генерация программного кода" на сайте www.gendoc.ru

Генерация программного кода позволяет:
1) Сократить рутину в программировании, чтобы освободившееся время программисты могли использовать
для творчества, экспериментов, обучения новым технологиям и решения более интеллектуальных и нестандартных задач.
2) Ускорить, упростить и исключить ошибки и опечатки при составлении типового программного кода.
3) Упорядочить и стандартизовать исходный код программ, разрабатываемых коллективом программистов.
4) Быстро создавать прототипы приложений даже для тех систем и платформ, с которыми у разработчика раннее не было опрыта работы.
5) Упростить и ускорить процесс перевода программ с одного языка программирования на другой.
6) Более глубоко вовлечь аналитиков в процесс создания программ,
сократить коммуникационный разрыв между аналитиками и программистами.
7) Упростить обучение новым языкам программирования и технологиям,
путем сравнения сгенерированного кода на знакомом и незнакомом для пользователя зыках программирования
(аналог сравнения параллельных текстов при изучении иностранных языков).
8) Автоматизировать процесс разработки сопроводительной документации для программного орбеспечения.

Конечно, текущая версия WEB сервиса генерации программного кода на данный момент не позволяет
в полном объеме решать указанные выше задачи, но многое уже сделано.

Ниже приведены принципы, в соответствии с которыми будет осуществляться дальнейшее развитие сервиса:
1) Постепенное наращивание сложности (функциональности) шаблонов генерации от простых к сложным.
2) Максимальный охват шаблонами популярных и хорошо зарекомендовавших себя языков программирования,
программных систем и технологий.
3)"Осторожное" использование в шаблонах и результах генерации фреймворков и библиотек третьих (по отношению к базовой технологии) лиц.
4) Автоматическая генерация не только программ, но и документации к ней
(справочники (хэлпы) для разработчиков и пользователей,
описание API, шаблоны пользовательских инструкций и т.д.)
5) Простота использования WEB сервиса.

Также остается неизменным принцип:
отсутствие каких-либо ограничений на использование сгенерированного WEB сервисом программного кода.

Буду признателен за любые идеи и комментарии.

С уважением к форумчанам.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39411793
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия 0.41 от 28.02.2017
1.Добавлен шаблон для генерации WEB приложения на PHP+MySQL для работы с таблицами.
2.Добавлен шаблон для генерации SQL-команд в синтаксисе SQLite и MySQL.
3.Добавлена возможность генерации в формат JSON.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39411824
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

цит. статью к Jeomant-у по ссылке на сайте:

статьяТаким образом, первый шаг работы по созданию чего-то нового в любой системе — воспроизведения базового шаблона той или иной конструкции, которая заложена в её фундамент. Например, если вы в рамках выбранного фреймворка, например Laravel на PHP, строите свой сайт, вы по-любому будуте создавать контроллеры, модели, миграции, сиды и так далее .

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

.................
в коллекцию - тоже универсальные конструкторы человек пытался сотворить
jfeldman.narod.ru - Яков Фельдман, книжечка его лежала у меня все, пока не выкинул
http://www.ozon.ru/context/detail/id/137220121/
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39411944
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakov,
спасибо!

В части развития направления генерации кода на PHP я подумывал о Yii 2.
Какого Вы мнения об этом фреймворке?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39411950
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Вы бы наоборот сделали. Что-то типа API, чтоб энти самые фреймворки сами могли настроить себе такую кодогенерацию, которой уже бы пользовались конечные юзеры.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39411952
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Concept,

Вы бы наоборот сделали. Что-то типа API, чтоб энти самые фреймворки сами могли настроить себе такую кодогенерацию, которой уже бы пользовались конечные юзеры.
Иначе вы пол жизни будете пилить такие шаблоны под всё широко распространенное.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412018
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptVladimir Baskakov,
спасибо!

В части развития направления генерации кода на PHP я подумывал о Yii 2.
Какого Вы мнения об этом фреймворке?

Никакого - я не пэхапист )))
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412039
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,
у Вас хорошая платформа.
Всегда мечтал нечто подобное сделать, но не сложилось.

Вы правы, гоняться за технологиями - неблагодарное занятие.
Особенной за фреймворками и библиотеками - на них еще быстрее мода проходит.

Именно по этотой причине хочется хоть в некоторой части обрести независимость
(или возможность перехода) не только от ОС, но и от языка/среды программирования.

Моя работа не носит коммерческий результат.
Мне интересно найти общее в подходах и технологиях пограммирования.
Этакое метапрограммирование.

Пример:
20 лет назад было 3 SQL-лидера: Sybase (потом MS SQL), Oracle, Informix.
И общее мнение было, что так и останется.
Сегодня, следуя моде, мне пришлось в WEB сервисе генерации
реализовать синтаксис SQL запросов для MySQL, PostgreSQL, SQLite.
Все, в общем, одинаково.
Но у каждого из них свои особенности в синтаксисе, иначе работать не будет или будет работать криво.
А ведь есть стандарты SQL92 и SQL2000.
Кто мог предположить такое развитие событий 20 лет назад?

А C-подобный синтакцис у C++, Java, JavaScript, того же PHP.
20 лет назад любой, кто хотел разработать свой язык программирования, был чудаком
и "изобретателем велосипеда". А сколько с тех пор появилось новых языков?

Еще можно спорить, что лучше: XML (для серьезных) или JSON (попса).

ИТОГ, к которому я пришел.
Очень хочется вынести "за скобку" программирования:
1.Особенности синтаксиса по-сути одинаковых языков программирования, библиотек и ИТ-технологий.
2.Общую модель (онтологию) данных. Чтобы в каждом проекте, например, не нужно было изобретать
таличку физических лиц (будь то клиент, работник или пациент) с одними и теми же полями.

Понимаю, что это не монетизируется, но это мой путь.
Буду продолжать идти, пока есть интерес и силы :)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412058
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

сегодня только наткнулся
ИИ научили писать код
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412063
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Так и я про то же. Я имею ввиду что вот вы например добавляете новую кодогенерацию под очередной язык. Для этого пользуетесь каким-то своим инструментарием... ну по типу как это в .net среде сделано - чтобы создать свой .net язык нужно (грубо говоря) унаследоваться от базового класса и переопределить функции возвращающие текст операторов и ключевых фраз в требуемом синтаксисе. Конечно грубо описал, но смысл понятен.

Вот вы бы взяли этот свой инструментарий и опубликовали через некое api. Чтобы те кому нужно смогли за вас реализовать провайдера требуемой кодргенерации под свою платформу.

Т.е. ядро ваше, а реализация провайдеров через api.
Причем я бы сфокусировался сначала например на sql языках. Потому как у ЯП и у реляционных языков ведь совмем разные принципы. В одном базовом провайдере не учесть и то и другое.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412177
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar .... Чтобы те кому нужно , смогли за вас ....

Так в том и проблема, сделать что-то что хоть кому-то нужно. Это раз. Два - уже из коробки оно должно кодогенерить хотя бы под одну платформу. Три - разработка адаптеров и их использование на платформе Х должно быть проще, чем разработка того-же продукта на платформе Х с нуля, включая будущие расходы на развитие и поддержку.

4 - на примере ближаеших аналогов (рельс например) рассмотреть, как по мере развития продукта росла сложность того, что должно было упрощать жизнь.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412190
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir BaskakovДва - уже из коробки оно должно кодогенерить хотя бы под одну платформу.
Ну это само собой. И к тому же примеры должны быть, чтобы было по аналогии с чем делать.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412377
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptОчень хочется вынести "за скобку" программирования:
1.Особенности синтаксиса по-сути одинаковых языков программирования, библиотек и ИТ-технологий.
2.Общую модель (онтологию) данных. Чтобы в каждом проекте, например, не нужно было изобретать
таличку физических лиц (будь то клиент, работник или пациент) с одними и теми же полями.
А что мешает? Строим единую расширяемую модель и дорисовываем к ней "особенности синтаксиса языков" и "клиентов, работников и пациентов".
Дмитрий ConceptПонимаю, что это не монетизируется, но это мой путь.
Не смешно. Не монетезируется, это когда с открытым кодом (да и то не всегда). А так вы всегда оставляете себе ядро, а наружу только сервисы торчат (потенциально платные). Ну и идейки у народа за одно собираете, мол не для бабла, а чисто для души - помогите кто чем может, расскажите как вы там всё делаете (забесплатно, ведь для души!).

Хотя бывают и исключения.

Но конечный итог один - ещё лет 15 и будет вам ИИ, поувольняют не только кассиров да бухгалтеров, но и кодеров. Хотя опять же - ну какой дурак так далеко смотрит? Нам бы ипотеку выплатить, да унитаз подороже приобрести.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412443
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)Дмитрий Concept,

сегодня только наткнулся
ИИ научили писать код

IDE станет еще более интеллектуальным, что ли? набираешь - ну давай бухучет, - и оно так пошуршав программу рождает?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412451
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)Дмитрий Concept,

сегодня только наткнулся
ИИ научили писать код

Спасибо за ссылку, но смущает (привожу цитату из заметки) "В данный момент он может работать примерно с ПЯТЬЮ строками кодами. "

Вообще я не сторонник алгоритмов генерации произвольных программ.
Чтобы программа была полезна - ИИ нужно задать некий механизм целеполагания и критерии оценки полученного результата.
Обычно это можно сделать используя механизм спецификаций: т.е. не того как нужно программе работать, а что она должна делать или какой результат должен быть получен.
Это более реалистичный подход и он известен как генерация программ по входным спецификациям.
Я для того, чтобы не было комбинаторного взрыва - ограничивают такие генераторы программ предметной областью или классом решаемых задач.

Этот подход мне кажется более реалистичным, иначе такой ИИ (как в приведенной заметке) так и будет формировать абстрактные синтаксически правильные программы из 5-10 строк с неясной семантикой (для кого и чего такие программы будут нужны).
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412461
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovkealon(Ruslan)Дмитрий Concept,

сегодня только наткнулся
ИИ научили писать код

IDE станет еще более интеллектуальным, что ли? набираешь - ну давай бухучет, - и оно так пошуршав программу рождает?
Почему нет?) Сейчас же это так и делается, людьми.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412474
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Concept,

Вот вы бы взяли этот свой инструментарий и опубликовали через некое api. Чтобы те кому нужно смогли за вас реализовать провайдера требуемой кодргенерации под свою платформу.

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

Реально спасибо Вам за подсказанную идею. Не сразу, но Ваши слова до меня дошли.

По-сути внутри у меня именно такая архитектура (провайдер+api+классы генерации конструкций для различных ЯП) и используется.
Только нет четкого разделения на указанные компоненты. Т.е. где-то есть, а где-то еще все перемешано (каша).
У меня сейчас выделено три мета шаблона приложений:
1.Простая последовательность команд, включая циклические обработки (например цикл по полям сущности)
2.Приложение в архитектуре "десктоп" (основанное на создании и манипулировании классами компилируемых форм)
3.Приложение с архитектурой тонкого веб-клиента

В рамках одного мета шаблона настройка на конкретный ЯП вполне может быть вынесена в классы занимает около 10-20% от общего
объема команд шаблона.

Возможности интерпретатора дают невероятную гибкость:
1.Можно в рантайме в любой момент перегружать классы и методы
2.Можно по строковому шаблону сформировать имя функции и тут же вызвать ее, если она существует, а если нет - вызвать функцию по умолчанию или просто пропустить данный шаг генерации
3.Вплоть до того, что можно в рантайме сгенерить фрагмент шаблона, загрузить его и выполнить на его основе генерацию

Еще раз спасибо за идею и конструктив!
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412498
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovdma_caviar .... Чтобы те кому нужно , смогли за вас ....

Так в том и проблема, сделать что-то что хоть кому-то нужно. Это раз. Два - уже из коробки оно должно кодогенерить хотя бы под одну платформу. Три - разработка адаптеров и их использование на платформе Х должно быть проще, чем разработка того-же продукта на платформе Х с нуля, включая будущие расходы на развитие и поддержку.

4 - на примере ближаеших аналогов (рельс например) рассмотреть, как по мере развития продукта росла сложность того, что должно было упрощать жизнь.

Владимир, я с Вам согласен.
Но Вы обрисовали конечный продукт.
Я еще в начале пути к нему, думаю, где-то 20% только прошел.
И не могу гарантировать, что смогу дойти до конца (промышленной реализации).
Да и нужно ли?

Одно из применений сервиса - обучение ЯП. Особенно 2-му, 3-му и т.д. Например, я знал ASP. Сгенерировав параллельный код на PHP и сравнив его с аналогичным на ASP, не залезая в документацию, я сразу вижу принципиальные отличия.
<?php вместо <%
$sql = 'create ' . $id вместо sql='create '+id
echo '<tr>' вместо Response.Write('<tr>')

И т.д. Время существенно экономится. Обучение, так сказать, на примерах "параллельных текстов".
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412507
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555Дмитрий ConceptОчень хочется вынести "за скобку" программирования:
1.Особенности синтаксиса по-сути одинаковых языков программирования, библиотек и ИТ-технологий.
2.Общую модель (онтологию) данных. Чтобы в каждом проекте, например, не нужно было изобретать
таличку физических лиц (будь то клиент, работник или пациент) с одними и теми же полями.
А что мешает? Строим единую расширяемую модель и дорисовываем к ней "особенности синтаксиса языков" и "клиентов, работников и пациентов"..

Размерность задачи. ЯП много и предметных областей тоже. Онтология большая.

alex55555Дмитрий ConceptПонимаю, что это не монетизируется, но это мой путь.
Не смешно. Не монетезируется, это когда с открытым кодом (да и то не всегда). А так вы всегда оставляете себе ядро, а наружу только сервисы торчат (потенциально платные). Ну и идейки у народа за одно собираете, мол не для бабла, а чисто для души - помогите кто чем может, расскажите как вы там всё делаете (забесплатно, ведь для души!).

Хотя бывают и исключения.

Но конечный итог один - ещё лет 15 и будет вам ИИ, поувольняют не только кассиров да бухгалтеров, но и кодеров. Хотя опять же - ну какой дурак так далеко смотрит? Нам бы ипотеку выплатить, да унитаз подороже приобрести.

"Ну и идейки у народа за одно собираете, мол не для бабла, а чисто для души'.
Да и не скрываю, за идеи буду признателен. К тому же, это в обе стороны.
Кто-то посмотрит на WEB сервис генерации кода, подумает "а вон значит как можно" и сделает лучше, учтя мои ошибки.
Ну и хорошо.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39412542
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Conceptalex55555пропущено...

А что мешает? Строим единую расширяемую модель и дорисовываем к ней "особенности синтаксиса языков" и "клиентов, работников и пациентов"..

Размерность задачи. ЯП много и предметных областей тоже. Онтология большая.

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

Но тем не менее - вот так ещё лет 15 народ пострадает, идейками пообменивается, и будет вам ИИ, так что можно не напрягаться, само скоро будет.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39415859
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept...
...чисто для души'....

если это цель, то....

1) можно искать подобных людей обладающих кучей бабла и тонной времени. Можно собственно не само действие (искать), а предложить некие правила объединяющих различные модули по генерации в единую платформу. Ну и богачи желающие подтянуться.

2) (немного дёгтя наверное) с точки зрения рынка - это не удачный вектор. более удачный рядом - в пол шажке от Вас. На рынке требуются (как тут уже прозвучало) продукты для конечного потребителя. Ваш же подход - без раскрутки имени = имхо тупиковая ветка.

3) выше Вы писали, что столкнулись с заточкой под те или иные БД. Это действительно так. Универсальность либо фичи. как более гибкий подход - создать адаптирующий слой под тот или иной движок. не все фичи вынуть сможете, но думаю для большинства задач подойдёт. Тут правда для адаптирующего слоя требуется опыт общения с различными БД и практическое применение наработок при той или иной модели классов обслуживающих БД.

4) ваш сервис предлагает некий интерфейс общение с человеком в рамках ваших знаний и понимания, далее идёт готовое решение в рамках ваших знаний и понимания. Системе как воздух требуется гибкость. И в плане интерфейса и в плане генерации. Может имеет смысл рассмотреть промежуточный слой строения классов?

как то так...пока :)
(круглый)
ЗЫ
Но всё же = вектор не тот. Вашу бы энергию да в мирных целях!!!
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416012
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0, спасибо!

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

kolobok0предложить некие правила объединяющих различные модули по генерации в единую платформу.

ЭТА ИДЕЯ НУ ОЧЕНЬ НРАВИТСЯ. Готов присоединиться к такому обсуждению, если кто-нибудь возьмет модерацию темы на себя.

kolobok02) (немного дёгтя наверное) с точки зрения рынка - это не удачный вектор. более удачный рядом - в пол шажке от Вас. На рынке требуются (как тут уже прозвучало) продукты для конечного потребителя. Ваш же подход - без раскрутки имени = имхо тупиковая ветка.

Понимаю. Но я стараюсь реально смотреть на вещи. Себя я давно знаю. Я технарь и вырос из системного программирования.
Маркетинг, продвижение, сегмент B2C - не умею я. Пробовал, но не умею.
Вот фреймворки, библиотеки, шаблоны - это мое. Но это сегмент B2B. А в нем в каждой софтверной компании свои программисты-технологи, технологии, внутренние стандарты и т.д.

kolobok03) выше Вы писали, что столкнулись с заточкой под те или иные БД. Это действительно так. Универсальность либо фичи. как более гибкий подход - создать адаптирующий слой под тот или иной движок. не все фичи вынуть сможете, но думаю для большинства задач подойдёт. Тут правда для адаптирующего слоя требуется опыт общения с различными БД и практическое применение наработок при той или иной модели классов обслуживающих БД.

С этим согласен. Общение с различными БД и практическое применение наработок необходимо.
Иначе не получить объективную оценку и обратную связь.

kolobok04) ваш сервис предлагает некий интерфейс общение с человеком в рамках ваших знаний и понимания, далее идёт готовое решение в рамках ваших знаний и понимания. Системе как воздух требуется гибкость. И в плане интерфейса и в плане генерации. Может имеет смысл рассмотреть промежуточный слой строения классов?

Здесь Вы абсолютно правы. Гибкость в плане интерфейса и в плане генерации необходимо.
Над этим работаю.
Не люблю загадывать и давать обещания, но, надеюсь, к концу марта продвинуть сервис в этом направлении.
Наработки есть, но они существуют для десктопной версии.
Сейчас переношу в WEB. Но процесс идет не быстро, т.к. я не являюсь глубоким специалистом в WEB технологиях и
приходится многому дообучаться в процессе.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416020
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptМаркетинг, продвижение, сегмент B2C - не умею я. Пробовал, но не умею.
А зря что не умеете. Сейчас это самое главное. Вон хотя бы глянуть на битрикс или лучше даже не amocrm. Г полнейшее. Но собирают по 15 тыс чел на свои конференции. 1С их уже купила. И все только за счет маркетинга.
Дмитрий ConceptВот фреймворки, библиотеки, шаблоны - это мое. Но это сегмент B2B. А в нем в каждой софтверной компании свои программисты-технологи, технологии, внутренние стандарты и т.д.
Буквально в соседней ветке пример. Там товарищ рассказывал как они по 12 тыс $ в год платили за один из фреймворков. И все бы хорошо, но просто решили другой такой же найти. Свои программисты-технологи сейчас уже никому не нужны. Дороговасто выходит. Нужны профильные программисты. Или точнее ИТ специалисты с большим прикладным опытом в конкретной отрасли. Как 1Сники например.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416211
s_ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarСвои программисты-технологи сейчас уже никому не нужны. Дороговасто выходит. Нужны профильные программисты. Или точнее ИТ специалисты с большим прикладным опытом в конкретной отрасли. Как 1Сники например.
Ну я бы так не обобщал, что никому не нужны.
Но если говорить о фирмах (не ИТ) до 200-300 человек, то именно так и есть. Нужны админы + специалисты по обслуживанию систем (ERP, CRM, документооборот...). И большинство этих специалистов разработкой как таковой занимается только часть времени.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416234
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s_ustinovdma_caviarСвои программисты-технологи сейчас уже никому не нужны. Дороговасто выходит. Нужны профильные программисты. Или точнее ИТ специалисты с большим прикладным опытом в конкретной отрасли. Как 1Сники например.
Ну я бы так не обобщал, что никому не нужны.
Но если говорить о фирмах (не ИТ) до 200-300 человек, то именно так и есть. Нужны админы + специалисты по обслуживанию систем (ERP, CRM, документооборот...). И большинство этих специалистов разработкой как таковой занимается только часть времени.
Не, ну понятно что много где они таки нужны))
Но тенденция к тому идет. И не только 200-300 человек. Но и по 10 тыс. Платить полнофункциональному разрабу не хотят.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416271
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На мой взгляд, сейчас ускорились (или просто четче стали проявляться) две тенденции:
1.Сроки и бюджеты на разработку программ сокращаются. Как следствие, уход заказчиков от постоянных затрат и длительных проектов в пользу привлечения подрядчиков под конкретные проекты с фиксированными сроками и бюджетами.
2.Бум Open Source технологий, которые снижают универсальность и мобильность команд разработки ПО. Вложившись своими наработками в один стек разработки ПО не факт, что эта мода долго продлиться или найдешь заказчиков, которые лояльны к этому стеку разработки ПО.

Интуиция мне подсказывает (могу ошибаться, конечно), что именно в плоскости автоматизации программирования и документирования (CASE-технологии) находится решение.
Сейчас современные CASE средства дороги, тяжеловесны, сложны в применении и ориентированы на специализированные (ограниченный набор) языки моделирования, программирования, технологии и стандарты.

Вот если сделать CASE технологию, которая бы была:
1.Простой в изучении и использовании.
2.Дешевой.
3.Гибкой (настраивалась на выходные языки программирования и среды, Фреймворки, интерфейсы и т.д.)
4.Использовала на входе описание модели информационной системы/ПО в популярных нотациях (UML, ER, XML)
5.Поддерживала автоматическое документирование для всех этапов жизненного цикла ПО.

Собственно, это и есть цели разработки WEB сервиса генерации ПО.
Если удастся 50-70% программного кода на НАЧАЛЬНОМ ЭТАПЕ РАЗОРАБОТКИ ПО (или на этапе миграции на другую платформу/стек разработки ПО) сгенерировать автоматически, заложив прочный скелет приложения - это будет хороший результат,
который позволит вписаться в тенденции (указаны в начале данного сообщения) и позволит командам разработчиков
обеспечить необходимую мобильность, снизить зависимость от платформы, вписываться в сжатые сроки разработки и бюджеты.

Остальные 30%-50% программного кода - удел высокопрофессиональных разработчиков, допиливающих приложение под специфику задачи. От этого никогда и никуда не деться. Да и не нужно - это нормально.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416340
s_ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,
совсем недавно на хабре читал статью на эту тему https://habrahabr.ru/post/320652/
В комментариях много спорили

Дмитрий ConceptИнтуиция мне подсказывает (могу ошибаться, конечно), что именно в плоскости автоматизации программирования и документирования (CASE-технологии) находится решение.

Если говорить конкретно о ИС предприятий, то с моей точки зрения самый перспективный вариант - BPM системы. Они УЖЕ работают. И ближе всего подошли к тому, что людям надо. Хотя именно автоматизации программирования там и нет :)

Если абстрагироваться от деталей, что надо пользователям (заказчикам)?
Объяснил компьютеру, что надо сделать - он сделал.
А будет при этом генерироваться код, или компьютер воспримет описание задачи как руководство к действию без дополнительных генераций кода (как делают BPM системы) - пользователю не важно.
Но есть отличие между CASE и BPM системами. Простую прикладную задачу (не "привет, мир!") в BPM уже сейчас можно запустить на исполнение вообще без привлечения программиста. А с CASE системами так не получается.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416342
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Не то чтобы они сокращались, конечно. Где-то они может даже и увеличились. Но теперь кроме того чтобы остатки сходились, хотят получить больше гибкости, больше красивости, в общем, больше качества. К тому же, вырос технический долг проектов, который давит на грудь.

Я помню как лет 10 назад особо продвинутые владельцы, уже тогда крупных компаний, стали обзаводиться своими собственными ИТ отделами. Так как это дешевле и быстрее чем постоянно пинать аутсорс. Особенно если бизнес-процесс сложный. Хочешь что-то быстро оптимизировать или прогнуться под изменившиеся реалии, например выдавать кредиты без лишнего этапа - даешь команду ИТ отделу, и через относительно короткий срок получаешь результат и соответственно конкурентное преимущество. В случае аутсорса же, нужно встать в очередь, родить ТЗ, пройти согласования, поставить подпись под ТЗ, потом опомниться что нужно не один этап убирать, а два, переписывать ТЗ, заплатить за это. Потом понять что все не так и далее с этим жить)).

Так вот, а сейчас этой гибкости от придворных разработчиков стало мало. Теперь эти тонны самописного кода (а, будет более правильно сказать - говнокода), нуждаются в подпирании и обслуживании. О красивостях и речи быть не может, т.к. много других более насущных проблем. А сотрудники-то привыкли к качеству вокруг, на работе уже себя ощущают как в помойке.
Иногда разобраться как работает какой-либо функционал просто нереально. Так как очень много кода, статусов, обработок этих статусов и т.д. Визуализировать эту мешанину тоже не представляется возможным, местами прямо в формах прописана какая-то порнуха логика. Да и не важно где она прописана, код есть код, иногда даже человек, даже автор не может воткнуть, что это и для чего это было написано.

Поэтому всеобщая платформизация неибзежна))
Тут суть очень проста - чтобы создать нечто очень качественное, нужно чтобы это была не наколенная разработка, а полноценный продукт. А чтобы создать продукт, нужно чтобы в его основе уже был продукт (платформа). Чтобы выпустить новое качественное авто, нужно взять уже существующий продукт, например хороший движок. Иначе ничего не получится.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416350
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s_ustinovДмитрий Concept,
совсем недавно на хабре читал статью на эту тему https://habrahabr.ru/post/320652/
В комментариях много спорили

Дмитрий ConceptИнтуиция мне подсказывает (могу ошибаться, конечно), что именно в плоскости автоматизации программирования и документирования (CASE-технологии) находится решение.

Если говорить конкретно о ИС предприятий, то с моей точки зрения самый перспективный вариант - BPM системы. Они УЖЕ работают. И ближе всего подошли к тому, что людям надо. Хотя именно автоматизации программирования там и нет :)

Если абстрагироваться от деталей, что надо пользователям (заказчикам)?
Объяснил компьютеру, что надо сделать - он сделал.
А будет при этом генерироваться код, или компьютер воспримет описание задачи как руководство к действию без дополнительных генераций кода (как делают BPM системы) - пользователю не важно.
Но есть отличие между CASE и BPM системами. Простую прикладную задачу (не "привет, мир!") в BPM уже сейчас можно запустить на исполнение вообще без привлечения программиста. А с CASE системами так не получается.
Нельзя не согласиться. Это как самолеты и птицы, про которых рассказывал Сербант (маркетолог яндекса). Сначала пытались изучать как у птиц устроены перья, так нифига с этим и не раобравшись, сделали самолет по другому приницпу. Тоже самое с мозгами и машинным обучением. И тоже самое к кодом и логикой. Я всегда говорил - код это зло, а кодогенерация это генерация зла)). Если код порождает проблемы, то кодогенерация плодит эти проблемы на автомате.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416351
s_ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,
Это точно. Проходит буквально 2-3 года - и огрехи первоначальной архитектуры начинают существенно раздражать. Как маленький камешек в кроссовке - ходить вроде можно, но аккуратно (не побегаешь) и РАЗДРАЖАЕТ. А лет через 10 - БОЛЬ. И рефакторингом уже не отделаешься... Вернее рефакторинг будет заключаться в написании системы с нуля.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416493
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarСначала пытались изучать как у птиц устроены перья, так нифига с этим и не раобравшись, сделали самолет по другому приницпу. Тоже самое с мозгами и машинным обучением. И тоже самое к кодом и логикой. Я всегда говорил - код это зло, а кодогенерация это генерация зла)). Если код порождает проблемы, то кодогенерация плодит эти проблемы на автомате.

Не могу согласиться с Вами. То, что Вы имеете возможность писать в этом форуме, следствие отработки написанной кем-то CMS и отработки кода. :) Даже редактор текстов это чей-то код. Какое уж тут зло? Просто двойстенность явления. Все одновременно хорошо и плохо. С чъей точки зрения и в какой момент времени посмотреть? Да ну ее - эту философию!

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

И 1C Битрикс и Амо СРМ - рулез!!! Алилуя!!! Что будет через 5 лет, кого этот интересует?

Я это проходил. Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл.
Что дальше? Слушать новых Оракулов?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416501
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Conceptdma_caviarСначала пытались изучать как у птиц устроены перья, так нифига с этим и не раобравшись, сделали самолет по другому приницпу. Тоже самое с мозгами и машинным обучением. И тоже самое к кодом и логикой. Я всегда говорил - код это зло, а кодогенерация это генерация зла)). Если код порождает проблемы, то кодогенерация плодит эти проблемы на автомате.

Не могу согласиться с Вами. То, что Вы имеете возможность писать в этом форуме, следствие отработки написанной кем-то CMS и отработки кода. :) Даже редактор текстов это чей-то код. Какое уж тут зло? Просто двойстенность явления. Все одновременно хорошо и плохо. С чъей точки зрения и в какой момент времени посмотреть? Да ну ее - эту философию!

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

И 1C Битрикс и Амо СРМ - рулез!!! Алилуя!!! Что будет через 5 лет, кого этот интересует?

Я это проходил. Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл.
Что дальше? Слушать новых Оракулов?
Ну я думаю мы поняли о каком коде идет речь). Форум тут ни при чем.
По поводу Виндовс - хз. Мы тоже сделали на них ставку, вроде выиграли вместе с ними))
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416648
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept Все-равно, по факту, в современном мире деньги определяют все.
Правильно. Поэтому бизнесу нужны решения, адекватные по соотношению цена-качество.
Цена - это в том числе и расходы владения, а качество - расшипяемость, изменяемость, масштабируемость, юзабилити на разных уровнях. Решение с нулевой ценой ПОКУПКИ необязательно будет выгоднее решения с ценой, отличной от нуля. Т.к. учесть придется сумму затрат на приобретение и доработку под себя - взять бесплатно, потратить время на доработку а потом в случае сбоя вообще не знать что делать - это не особо привлекательно.
Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл.
Я люблю играть в го, правда делаю это совсем плохо. Игра учит, что невозможно контролировать ВСЕ ПОЛЕ. Но можно - хорошие куски этого поля, по размеру. Или важные. Или перспективные. Винда держит определенные сегменты, немелкие отнюдь, но не все поле целиком..... бизнес - не шахматы где поставил мат и все. И неажно, сколько ресурсов потратил... (часто не шахматы) часто это го. ищется тесудзи - лучший ход в области, ход решающий конкретную задачу, или адзи - ход создающий перспективы....
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39416791
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir BaskakovДмитрий Concept Все-равно, по факту, в современном мире деньги определяют все.
Правильно. Поэтому бизнесу нужны решения, адекватные по соотношению цена-качество.
Цена - это в том числе и расходы владения, а качество - расшипяемость, изменяемость, масштабируемость, юзабилити на разных уровнях. Решение с нулевой ценой ПОКУПКИ необязательно будет выгоднее решения с ценой, отличной от нуля. Т.к. учесть придется сумму затрат на приобретение и доработку под себя - взять бесплатно, потратить время на доработку а потом в случае сбоя вообще не знать что делать - это не особо привлекательно.
Многие говорили, что победит Виндовз. Я сделал на них ставку. Я проиграл.
Я люблю играть в го, правда делаю это совсем плохо. Игра учит, что невозможно контролировать ВСЕ ПОЛЕ. Но можно - хорошие куски этого поля, по размеру. Или важные. Или перспективные. Винда держит определенные сегменты, немелкие отнюдь, но не все поле целиком..... бизнес - не шахматы где поставил мат и все. И неажно, сколько ресурсов потратил... (часто не шахматы) часто это го. ищется тесудзи - лучший ход в области, ход решающий конкретную задачу, или адзи - ход создающий перспективы....

Интересные мысли.
Не могу не согласиться.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39417119
s_ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий 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.
INSERT INTO [Analysis].[Grouped CoGS Value Entry]
           ([Company ID]
           ,[Item Ledger Entry No_]
           ,[Positive]
           ,[Document Type]
           ,[Document No_]
           ,[Document Line No_]
           ,[ILE Quantity]
           ,[Invoiced Quantity]
           ,[From Value Entry No]
           ,[To Value Entry No]
           ,[To Check (Minimum)]
           ,[Equal (To Process)]
           ,[Cost Amt_(Non-Inv_) Expense])

SELECT
 ve.[Company ID]
,ve.[Item Ledger Entry No_]
,ile.Positive
,ve.[Document Type]
,ve.[Document No_]
,ve.[Document Line No_]
,ile.Quantity as [ILE Quantity]
,invoiced_q_line.[Invoiced Quantity]
,coalesce(ve_prev.[Entry No_],0) as [From Value Entry No]
,ve.[Entry No_] as [To Value Entry No]
,0 as [To Check (Minimum)]
,0 as [Equal (To Process)]
,ve.[Cost Amt_(Non-Inv_) Expense]

FROM           [Analysis].[Track Calculate - VE] as ve

	inner join [Analysis].[Track Calculate - ILE] as ile
		 on ile.[Company ID] = ve.[Company ID]
		and ile.[Entry No_] = ve.[Item Ledger Entry No_]

	inner join [Analysis].[Track Calculate - VE] as invoiced_q_line
		 on invoiced_q_line.[Company ID] = ve.[Company ID]
		and invoiced_q_line.[Item Ledger Entry No_] = ve.[Item Ledger Entry No_]
		and invoiced_q_line.[Document Type] = ve.[Document Type]
		and invoiced_q_line.[Document No_] = ve.[Document No_]
		and invoiced_q_line.[Document Line No_] = ve.[Document Line No_]
		and invoiced_q_line.[Invoiced Quantity] <> 0

	OUTER APPLY
	(select top 1
		ve_prev.[Entry No_]
	from [Analysis].[Track Calculate - VE] as ve_prev
	  where ve.[Company ID] = ve_prev.[Company ID]
		and ve.[Item Ledger Entry No_] = ve_prev.[Item Ledger Entry No_]
		and ve.[Document Type] = ve_prev.[Document Type]
		and ve.[Document No_] = ve_prev.[Document No_]
		and ve.[Document Line No_] = ve_prev.[Document Line No_]
		and ve.[Entry No_] > ve_prev.[Entry No_]
		and ve_prev.[Item Ledger Entry Type] = 1
		and ve_prev.[Cost Amt_(Non-Inv_) Expense] <> 0
	  order by ve_prev.[Entry No_] desc
	) as ve_prev

	where ve.[Item Ledger Entry Type] = 1
      and ve.[Cost Amt_(Non-Inv_) Expense] <> 0

	  and NOT EXISTS
		  (Select * from [Analysis].[Operation Entry (Table)] as exist_op
				where ve.[Company ID] = exist_op.[Item Ledger Company ID]
				  and ve.[Item Ledger Entry No_] = exist_op.[Item Ledger Entry No]
				  and ve.[Entry No_] = exist_op.[Value Entry No]
				  and exist_op.[Initial Value Entry No] <> exist_op.[Value Entry No])
;


Попробуйте его описать в популярной нотации
Засеките время, подумайте, - какие нужны знания для создания такого описания? Будет ли описание в популярной нотации понятнее, чем сам текст запроса на SQL?
И подумайте - кто будет (сможет) на практике пользоваться этим функционалом? И будет ли это легче и быстрее (дешевле), чем писать сразу на SQL?
Например, это могло бы быть дешевле, если использовать специалистов с более низкой квалификацией. Но поможет ли использование графической нотации (интерфейса) написать такой запрос пользователю, который не может его написать на SQL?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39419337
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s_ustinov, искреннее спасибо.

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

Но.

1.Ваш SQL-запрос - красавец. Но я никогда и не говорил о том, что кодогоенерация заменит программирование. Наоборот, она освободит программистов от рутины, и позволит ТОЛЬКО и писать такие красивые запросы. Я претендую на CRUD, но с учетом зоопарка и моды на технологии, надеюсь найти нишу.

2.Указанная Вами связь с BPM/BPMN весьма уместна, буду думать и работать над этим. Считаю это правильным направлением.

3.Вы меня сподвигли на решительные действия (отдельное спасибо). Подробности в следущем посте.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39419345
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем! Всем! Всем!

Если Вы читаете это сообщение, скорее всего, Вы понимаете толк в программировании.
И сможете отделить зерна от плевел.

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

Должен сообщить, планирую, что с апреля можно будет задавать определение сущности в произвольном виде, а не в рамках предопределенных полей.

Напишите мне о Ваших идеях (лучше пошлите пример кода) и я в течение 3-7 дней разработаю отдельный шаблон, учитывающий Вашу специфику.

Чтобы у Вас не было ощущения в "шапкозакидательстве" сообщу, что в настоящий момент разрабатываю шабон для AngularJS-NodeJS-SequelizeJS-PostgreSQL.

Жду Ваших идей и предложений.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39419384
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

А скрипты только на создание структуры (я пока про БД) или на модификацию тоже?
И что должно быть на входе? Произвольное описание в формате внешней системы (xml\json)?
Если так, то чур я первый)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39420028
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Concept,

А скрипты только на создание структуры (я пока про БД) или на модификацию тоже?
И что должно быть на входе? Произвольное описание в формате внешней системы (xml\json)?
Если так, то чур я первый)

На модификацию тоже.

Высылайте мне на почту (есть в профиле) или публикуйте прямо здесь описание Ваших
сущностей в удобном для себя виде в формате JSON.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39420107
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий 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.
{
	"TableName": "AM_Accounts",
	"EntityName": "Account",
	"Columns": [
			{
				"Name": "uid",
				"CanBeNull": "false"
			},
			{
				"Name": "Number",
				"CanBeNull": "false"
			},
			{
				"Name": "Name",
				"Descr": "Наименование",
				"CanBeNull": "false",
				"Length": "200",
			},
			{
				"Name": "BankAccountNumber",
				"Descr": "р/с",
				"Length": "20"
			},
			{
				"Name": "BankBIC",
				"Descr": "БИК",
				"Length": "20"
			},
			{
				"Name": "CurrencyID",
				"Descr": "Валюта",
				"CanBeNull": "false",
				"Relation": {
					"Entity": {
						"ID": "024503d1-9164-4ee6-8cb7-7526f77e5a5a"
					},
					"Column": "uid",
					"ParentEntityName": "Currency"
				}
			},
			{
				"Name": "IsOutBalance",
				"Descr": "Внешний",
				"CanBeNull": "false",
				"DefaultValue": {
					"Value": "false"
				}
			},
			{
				"Name": "Deleted",
				"Descr": "Удалено",
				"CanBeNull": "false",
				"DefaultValue": {
					"Value": "false"
				}
			},
			{
				"Name": "FullName",
				"CanBeNull": "false",
				"IsGenerateInScripts": "false",
				"Length": "251"
			},
			{
				"Name": "CategoryID",
				"Relation": {
					"Entity": {
						"ID": "fbe17da2-6000-4a99-ad77-7349e19a38ef"
					},
					"Column": "uid",
					"ParentEntityName": "Category"
				}
			},
			{
				"Name": "ContractorID",
				"Descr": "Контрагент",
				"Relation": {
					"Entity": {
						"ID": "ad82d012-85d2-4948-b8fe-e26fc0f8486b"
					},
					"Column": "uid",
					"ParentEntityName": "Contractor"
				}
			}
		]
}
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39420125
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,

MSSQL
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39420172
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,

Хорошо, подходит.
Только, можно еще типы данных добавить?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39420225
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий 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.
{
	"M": {
		"TableName": "AM_Accounts",
		"EntityName": "Account",
		"Columns": {
			"MetadataBaseColumn": [
				{
					"Name": "uid",
					"CanBeNull": "false",
					"_xsi:type": "MetadataKeyColumn"
				},
				{
					"Name": "Number",
					"CanBeNull": "false",
					"_xsi:type": "MetadataStringColumn"
				},
				{
					"Name": "Name",
					"Descr": "Наименование",
					"CanBeNull": "false",
					"Length": "200",
					"_xsi:type": "MetadataNameColumn"
				},
				{
					"Name": "BankAccountNumber",
					"Descr": "р/с",
					"Length": "20",
					"_xsi:type": "MetadataStringColumn"
				},
				{
					"Name": "BankBIC",
					"Descr": "БИК",
					"Length": "20",
					"_xsi:type": "MetadataStringColumn"
				},
				{
					"Name": "CurrencyID",
					"Descr": "Валюта",
					"CanBeNull": "false",
					"Relation": {
						"Entity": {
							"ID": "024503d1-9164-4ee6-8cb7-7526f77e5a5a"
						},
						"Column": "uid",
						"ParentEntityName": "Currency"
					},
					"_xsi:type": "MetadataForeignKeyColumn"
				},
				{
					"Name": "IsOutBalance",
					"Descr": "Внешний",
					"CanBeNull": "false",
					"DefaultValue": {
						"Value": "false"
					},
					"_xsi:type": "MetadataBooleanColumn"
				},
				{
					"Name": "Deleted",
					"Descr": "Удалено",
					"CanBeNull": "false",
					"DefaultValue": {
						"Value": "false"
					},
					"_xsi:type": "MetadataBooleanColumn"
				},
				{
					"Name": "FullName",
					"CanBeNull": "false",
					"IsGenerateInScripts": "false",
					"Length": "251",
					"_xsi:type": "MetadataStringColumn"
				},
				{
					"Name": "CategoryID",
					"Relation": {
						"Entity": {
							"ID": "fbe17da2-6000-4a99-ad77-7349e19a38ef"
						},
						"Column": "uid",
						"ParentEntityName": "Category"
					},
					"_xsi:type": "MetadataForeignKeyColumn"
				},
				{
					"Name": "ContractorID",
					"Descr": "Контрагент",
					"Relation": {
						"Entity": {
							"ID": "ad82d012-85d2-4948-b8fe-e26fc0f8486b"
						},
						"Column": "uid",
						"ParentEntityName": "Contractor"
					},
					"_xsi:type": "MetadataForeignKeyColumn"
				}
			]
		},
		"Designer": {
			"ID": "FE3DA424-1139-418A-B184-5951D0A19FAA"
		},
		"Permissions": {
			"Permission": {
				"ID": "c3038795-84f9-47fd-8851-5b543a79be72",
				"Name": "Admin",
				"Descr": "Привилегия администратора"
			}
		},
		"_xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
		"_xmlns:xsd": "http://www.w3.org/2001/XMLSchema"
	}
}
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39420239
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,

Ok. В начале следующей недели напишу и покажу, что получилось.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39422113
s_ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptЧтобы продемонстрировать полезность автоматической генерации исходных кодов программ,
я готов абсолютно бесплатно для Вас по Вашему запросу реализовать шаблоны генерации программ в соответствии с Вашими идеями или стандартами.

Должен сообщить, планирую, что с апреля можно будет задавать определение сущности в произвольном виде, а не в рамках предопределенных полей.

Напишите мне о Ваших идеях (лучше пошлите пример кода) и я в течение 3-7 дней разработаю отдельный шаблон, учитывающий Вашу специфику.

Чтобы у Вас не было ощущения в "шапкозакидательстве" сообщу, что в настоящий момент разрабатываю шабон для AngularJS-NodeJS-SequelizeJS-PostgreSQL.

Я несколько дней думал, что может быть мне полезно...
И ничего не придумал

Я занимаюсь очень "прикладными" вещами. Есть ERP система (сейчас NAV, но работал и с другими), для которой пишу отчеты и / или куски функционала. Причем написание кода не основная моя задача - я в основном консультант, а не разработчик. :) И основная моя ценность в том, что я знаю, как это должно работать (могу придумать алгоритм, решающий определенную бизнес-задачу, и написать ТЗ), а не в том, что умею реализовать алгоритм на конкретном ЯП.

Насколько я понимаю, примерно такие специалисты и являются вашей целевой аудиторией. Но у меня нет задач, которые можно решать с помощью этого инструмента. Для создания табличек в базе - копипаст + редактирование прекрасно решают мои задачи (для каждой задачи требуется создавать в основном не больше десятка табличек).
Написание SQL кода - мне НАМНОГО проще сразу писать на SQL, чем пытаться описать это в какой-то нотации и потом всё равно править сиквел.
Написание кода на специфическом языке системы (C/AL (язык навижина), язык 1С, ABAP) - создавать генерацию такого кода не в платформе просто глупо, так как ЯП не универсальный. Да даже для универсального ЯП (compiere/adempiere/idempiere использует java) - как именно подобный сервис сможет сгенерировать код, если мне надо, например, НЕМНОГО доработать алгоритм расчета себестоимости основных средств?

А вот BPMN в данном случае может пригодиться. Можно рассматривать куски функционала системы (фин учет, расчет себестоимости, учет товародвижений и т.п.) как "микросервисы", которые будет "дергать" BPM система через те же веб-сервисы (почти во всех системах сейчас есть возможность интеграции с другими системами через веб сервисы). То есть BPM будет находиться на уровень выше "модулей" - мы повышаем уровень абстракции, и во многих случаях это будет полезно и, главное, будет работать.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39422831
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar, приветствую!

Я написал адаптер для загрузки описания сущности (таблицы) из Вашего формата JSON во внутренний формат WEB сервиса.
Соответственно, для него доступны все имеющиеся шаблоны генерации, в т.ч. SQL.
Посмотреть можно по ссылке: http://gendoc.ru/cgi-bin/gcadapter.htm

Теперь нужно уточнить у Вас, что нужно получить на выходе.
Можно поправить имеющийся шаблон для SQL, можно генерить хранимые процедуры MS SQL.
Хорошо, если Вы напишете, на каком языке программирования должно быть написано приложение-клиент и как оно должно осуществлять передачу (подстановку) параметров в команды SQL.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39423137
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s_ustinov, добрый день!

Все верно, так и есть.
Вам не нужно морочиться с генерацией кода, если Вы:
1) Опытный профессионал, имеющий свою устойчивую нишу.
2) Работаете в рамках сложившейся и замкнутой технологии (особенно характерна для ERP).
3) Работаете на проекте с большой/длительной историей.

Потребность в генерации (в том числе - ПЕРЕгенерации, ДОгенерации) эффективна, если возникает потребность:
1) Для новых разработок.
2) Перехода на новые платформы/языки программирования/фреймворки/библиотеки.
3) Переноса (выноса из существующей системы) части функционала в другую (заново разрабатываемую) систему.
4) Разработки внешних интеграционных интерфейсов.

Ваша идея соединения технологии BPM с результатами кодогенерации - мне нравиться.
Таким образом, можно было бы обеспечить стандартизацию вызовов сервисов/методов в определенном BPM движке.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39423144
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Не, нужно только create table и alter table.
Правда alter пока не понятно как делать. Надо наверное тогда два json-а передавать до изменений и после. Чтобы сгенерился скрипт alter.
Еще не нужно sys_id, uid - это uniqueidentifier и нету NULL, NOT NULL.
И еще API, через который можно дергать сервис))
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39423148
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,

Ну и еще возможность править шаблоны через личный кабинет. Не будут же ваши потребители постоянно вас дергать.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39423774
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Для новых разработок. - сомнительная выгода - структуры данных рождаются синхронно и взаимозависимо с алгоритмами, при уточнении требований - чистый ==водопад== - когда сначала появилась вся до последней запятой постановка, и потом по ней ничего не меняя пишут код - редкость.

2) Перехода на новые платформы/языки программирования/фреймворки/библиотеки.
тут данные уже обычно описаны, в слое метаданных базы, и надо их правильно прочитать

3) Переноса (выноса из существующей системы) части функционала в другую (заново разрабатываемую) систему.
логическая и смысловая и техническая изоляцие фрагмента - это труд, по сравнению с которым генерирование кода CRUD не так сильно портит нервы

4) Разработки внешних интеграционных интерфейсов.
Вот всякий ETL - это да, но тут хорошо бы как раз получать метаописание с живых данных - а так, руками нагенерять иксэмэльное или json - описание чтобы по нему система сгенерировала таблички - не очень интересно.

Не хватает какой-то изюмины, ради которой можно плюнуть на остальные шероховатости.... вот в руби-на-рельсах, на момент когда они родились, изюмина была. этот робот сделает за меня простую работу, с которой я и сам неплохо справляюсь, оставляя разгребать самостоятельно завалы и нестыковки - такое впечатление. Именно концептуальной дорожной карты - это что и для чего.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39424836
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir BaskakovНе хватает какой-то изюмины
Изюмину коротко называют ИИ. Ну а длинно - это все технологии, которые могут быть использованы при создании ИИ. Всяческие генерации не решают ничего, поскольку решают давно решённую типовую задачу. А вот интеллекта добавить - сразу всем изюм понравится. И здесь давно уже масса авторов тренировалась. Все они начинали с такой же идеи, что и автор темы. И все закончили на этапе красивого генерения табличек при помощи менюшек. А вот логику приложения все они реализуют только типовую, то есть ими же давно описанную и формализованную, а затем переведённую в код, который генерит новый код.

Дмитрий Концепт

Вам специально повторю - забейте на генераторы и займитесь ИИ. Вот начали что-то там про естественные тексты - туда и копайте, раз интересно. И все авторы подобного вашему кода в конце концов именно в ИИ упираются, точнее в неумение его реализовать. Но процесс идёт, умение тренируется и лет через 10-20-30 кто-то обязательно сумеет. Ну и тогда всех нас выставят на продажу в игру "Сафари" в качестве, естественно, мишени. Хотя у всех Дмиртиев Концептов на этом пути есть альтернатива - подумайте о будущем и возможно вашему стремлению к идеалу не понравится всё то безобразие, которое вы увидите в своих мыслях. И тогда ковыряйте своё творение с простым прицелом - что бы избежать "Сафари". Хотя бы так, гении вы этакие, по дороге к аду идущие.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39424875
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не обязательно - в R-o-R ИИ не было, а юзабилити было.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39425233
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovне обязательно - в R-o-R ИИ не было, а юзабилити было.
В вашей любимой стрелялке тоже есть какое-то юзабилити. Если вам достаточно такой изюминки, то у вас не должно возникать вопросов к Дмитрию, ибо для кого-то такого рода изюминку в его продукте есть.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39425351
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ээ в ruby on rails можно стрелять? И стрелять тоже? Не, изюм по тем временам когда оно появилось - был. и есть. Вопросов у меня особо нет, потому что к моим задачам продукт не особо пригоден. А кому пригодится, то и хорошо.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426003
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Concept,

Не, нужно только create table и alter table.
Правда alter пока не понятно как делать. Надо наверное тогда два json-а передавать до изменений и после. Чтобы сгенерился скрипт alter.
Еще не нужно sys_id, uid - это uniqueidentifier и нету NULL, NOT NULL.
И еще API, через который можно дергать сервис))

Вот, что получилось c uid и NULL, NOT NULL.
API можно сделать, когда базовые шаблоны будут отлажены - через 2-3 месяца по моим оценкам.
Про alter table - думаю, как лучше реализовать.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
/* Программа: MyProg */
/* Язык: sql */
/* Дата создания: 23.03.2017 */
/* Сгенерировано по шаблонам КОНЦЕПТ, www.gendoc.ru */

/* Создание таблицы */
create table AM_Accounts (
  uid uniqueidentifier DEFAULT NEWID()
  ,Number varchar(50) NOT NULL
  ,Name varchar(200) NOT NULL
  ,BankAccountNumber varchar(20) NULL
  ,BankBIC varchar(20) NULL
  ,CurrencyID int NOT NULL
  ,IsOutBalance int NOT NULL
  ,Deleted int NOT NULL
  ,FullName varchar(251) NOT NULL
  ,CategoryID int NULL
  ,ContractorID int NULL
  ,CONSTRAINT PK_uid PRIMARY KEY (uid)
)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426007
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

Только желательно имя ключа генерить в виде PK_ИмяТаблицы
И индексы на CurrencyID, CategoryID и ContractorID так как это внешние ключи.

Но это уже детали)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426008
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

Только желательно имя ключа генерить в виде PK_ИмяТаблицы
И индексы на CurrencyID, CategoryID и ContractorID так как это внешние ключи.

Но это уже детали)
А индексы IX_ИмяТаблицы_ИмяСтолбца
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426027
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakov 1) Для новых разработок. - сомнительная выгода - структуры данных рождаются синхронно и взаимозависимо с алгоритмами, при уточнении требований - чистый ==водопад== - когда сначала появилась вся до последней запятой постановка, и потом по ней ничего не меняя пишут код - редкость.

2) Перехода на новые платформы/языки программирования/фреймворки/библиотеки.
тут данные уже обычно описаны, в слое метаданных базы, и надо их правильно прочитать

3) Переноса (выноса из существующей системы) части функционала в другую (заново разрабатываемую) систему.
логическая и смысловая и техническая изоляцие фрагмента - это труд, по сравнению с которым генерирование кода CRUD не так сильно портит нервы

4) Разработки внешних интеграционных интерфейсов.
Вот всякий ETL - это да, но тут хорошо бы как раз получать метаописание с живых данных - а так, руками нагенерять иксэмэльное или json - описание чтобы по нему система сгенерировала таблички - не очень интересно.

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

Что тут скажешь.. Вы опытный и мудрый человек.

Но то, чем я занимаюсь - мне интересно с точки зрения выявления наиболее сходных и общих правил проектирования и программирования информационных систем.
В некотором смысле - шаг в понимании, каким должно быть мета программирование.

Ведь каждому, кто программировал, легко заметить, что по-сути одни и те же структуры данных (философски - одно и то же содержание) в разных элементах ИС повторяются/проявляются в различных формах.
Здесь под элементами ИС я имею ввиду: БД, экранные формы, отчетные формы, формы фильтров, интерфейсы и API, описание/документация/хэлпы, разнообразные форматы экспорта/импорта.
Вот бы описав один раз сущность, иметь возможность автоматически трансформировать ее для использования в упомянутых элементах ИС.

А если принять во внимание, что:

Код: sql
1.
2.
3.
ЧИСЛО_ВОЗМОЖНЫХ_ВАРИАНТОВ_РЕАЛИЗАЦИИ_ИС = варианты_СУБД X варианты_клиентских_технологий_и_ЯП X 
варианты_серверных_технологий_и_ЯП X разнообразные_фреймворки X разнообразные_стандарты_и_форматы_данных X
различные_форматы_документации и т.д.



Интересная задача получается, особенно, если учесть, что каждая из категорий постоянно пополняется и мода меняется со временем.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426037
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555Vladimir BaskakovНе хватает какой-то изюмины
Изюмину коротко называют ИИ. Ну а длинно - это все технологии, которые могут быть использованы при создании ИИ. Всяческие генерации не решают ничего, поскольку решают давно решённую типовую задачу. А вот интеллекта добавить - сразу всем изюм понравится. И здесь давно уже масса авторов тренировалась. Все они начинали с такой же идеи, что и автор темы. И все закончили на этапе красивого генерения табличек при помощи менюшек. А вот логику приложения все они реализуют только типовую, то есть ими же давно описанную и формализованную, а затем переведённую в код, который генерит новый код.

Дмитрий Концепт

Вам специально повторю - забейте на генераторы и займитесь ИИ. Вот начали что-то там про естественные тексты - туда и копайте, раз интересно. И все авторы подобного вашему кода в конце концов именно в ИИ упираются, точнее в неумение его реализовать. Но процесс идёт, умение тренируется и лет через 10-20-30 кто-то обязательно сумеет. Ну и тогда всех нас выставят на продажу в игру "Сафари" в качестве, естественно, мишени. Хотя у всех Дмиртиев Концептов на этом пути есть альтернатива - подумайте о будущем и возможно вашему стремлению к идеалу не понравится всё то безобразие, которое вы увидите в своих мыслях. И тогда ковыряйте своё творение с простым прицелом - что бы избежать "Сафари". Хотя бы так, гении вы этакие, по дороге к аду идущие.

Я не верю в то, что ИИ сможет заменить творческую и интеллектуальную работу.
И не должен.
Думаю, хорошие специалисты-люди всегда будут востребованы.

От задачи генерации программного кода отказаться пока не могу.
Мне хочется разобраться в природе формирования и трансформации информационных объектов.
WEB сервис генерации программного кода,
которым я сейчас занимаюсь, это лишь экспериментальная установка (или полигон) для этой цели.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426040
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviardma_caviarДмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

Только желательно имя ключа генерить в виде PK_ИмяТаблицы
И индексы на CurrencyID, CategoryID и ContractorID так как это внешние ключи.

Но это уже детали)
А индексы IX_ИмяТаблицы_ИмяСтолбца

Сделаю.

dma_caviar ,
Если не секрет, откуда Вы свое замечательное описание таблицы на JSON выгружаете?
Если секрет - я не обижусь :)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426042
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Conceptdma_caviarпропущено...

А индексы IX_ИмяТаблицы_ИмяСтолбца

Сделаю.

dma_caviar ,
Если не секрет, откуда Вы свое замечательное описание таблицы на JSON выгружаете?
Если секрет - я не обижусь :)
Из своей платформы. Правда там xml, а json я конвертнул в каком-то онлайн конвертере.
Но если с API все сложится, то сделаем взаимодействие и в json формате.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426046
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptЯ не верю в то, что ИИ сможет заменить творческую и интеллектуальную работу.
А я верю) Мы же занимаемся творческой и интеллектуальной работой. А чем мы отличаемся от машинного обучения? Механизмами эволюции и генетики. Другой вопрос когда это произойдет. Возможно не скоро. Но как известно прогресс постоянно ускоряется.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426242
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что тут курят? что-то тяжелое?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426308
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept От задачи генерации программного кода отказаться пока не могу.
Мне хочется разобраться в природе формирования и трансформации информационных объектов.

Фиг знает, но может нужно что-то типа акцесса, чтобы можно было рисовать модель предметной области из готовых ==кубиков== но с учетом объектно- ориентированности или аспектно- ориентированности (трэйтов) чтобы в сущность можно было инжектировать готовые блочки данных - поведения, и хороший обкатанный набор таких блочков для предметных областей - например бухгалтерии, чтобы готовую систему собирать как в конструкторе ==лего==

- то есть удобная юзабельная среда вокруг допустим идеи онтологий
https://ru.wikipedia.org/wiki/Онтология_(информатика)


А так, муссировались же идеи, UML .... только системки недешевые были Rational Rose например. ну и не только https://habrahabr.ru/post/46648/
....лет 10 назад. Мода возвращается иногда, если к витку возврата подкатить продукт - может взлететь.....

а так, коллега же тут уже писал, допустим
http://www.vipros.ru/index.php?option=com_content&view=article&id=8&Itemid=2 - можно почитать доки, посмотреть как оно бывает....
что тут курят? что-то тяжелое?
ДААААА!
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39429045
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviardma_caviarДмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

Только желательно имя ключа генерить в виде PK_ИмяТаблицы
И индексы на CurrencyID, CategoryID и ContractorID так как это внешние ключи.

Но это уже детали)
А индексы IX_ИмяТаблицы_ИмяСтолбца

Доработал.
http://gendoc.ru/cgi-bin/gcadapter.htm
Шаблон генерации: 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.
/* Программа: MyProg */
/* Язык: sql */
/* Дата создания: 29.03.2017 */
/* Сгенерировано по шаблонам КОНЦЕПТ, www.gendoc.ru */

/* Создание таблицы */
create table AM_Accounts (
  uid uniqueidentifier DEFAULT NEWID()
  ,Number varchar(50) NOT NULL
  ,Name varchar(200) NOT NULL
  ,BankAccountNumber varchar(20) NULL
  ,BankBIC varchar(20) NULL
  ,CurrencyID int NOT NULL
  ,IsOutBalance int NOT NULL
  ,Deleted int NOT NULL
  ,FullName varchar(251) NOT NULL
  ,CategoryID int NULL
  ,ContractorID int NULL
  ,CONSTRAINT PK_AM_Accounts PRIMARY KEY (uid)
)
CREATE INDEX IX_AM_Accounts_CurrencyID ON AM_Accounts (CurrencyID);
CREATE INDEX IX_AM_Accounts_CategoryID ON AM_Accounts (CategoryID);
CREATE INDEX IX_AM_Accounts_ContractorID ON AM_Accounts (ContractorID);
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39432009
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Только
,CategoryID int NULL
,ContractorID int NULL
тоже Guid-ы.

Ну и конечно, важно иметь возможность генерации скрипта изменений. Например указываем json что было и json что стало. А система генерит скрипт на модификацию.
И API, чтобы это дергать из конфигуратора.

А по поводу сайта. Мне кажется есть смысл чтобы каждый вендор (типа нашей платформы) имел свой раздел, чтобы там только его шаблоны отображались.

Кстати в плане монетизации вполне себе сервис получился бы.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434578
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Concept,

Только
,CategoryID int NULL
,ContractorID int NULL
тоже Guid-ы.

Сделал пока так:
,CategoryID varchar(50) NULL
,ContractorID varchar(50) NULL

Если нужно поправить тип и длину поля - напишите, как именно.

dma_caviarНу и конечно, важно иметь возможность генерации скрипта изменений. Например указываем json что было и json что стало. А система генерит скрипт на модификацию.

Ага, понял: "json что было и json что стало", сравниваю их и нахожу новые поля,
затем генерю ALTER TABLE для новых полей.
На следующей неделе сделаю.

dma_caviarИ API, чтобы это дергать из конфигуратора.

Будет API.
Как только закончу отладку основного кода генерации.
Будет отдельный URL, на него можно будет отправить HTTP POST, а в теле запроса описание таблиц "json что было и json что стало", в ответ вернет сгенерированный SQL код.

dma_caviarА по поводу сайта. Мне кажется есть смысл чтобы каждый вендор (типа нашей платформы) имел свой раздел, чтобы там только его шаблоны отображались.

Хорошая мысль. Но это тема для будущего развития.
Пока в приоритете доработка кода для ввода описаний таблиц (сущностей) в различных форматах и "наращивания мяса" в части генерации исходного программного кода для различных приложений/систем/платформ/языков программирования.

dma_caviarКстати в плане монетизации вполне себе сервис получился бы.
Пока не думаю об этом.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434658
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptСделал пока так:
,CategoryID varchar(50) NULL
,ContractorID varchar(50) NULL

Если нужно поправить тип и длину поля - напишите, как именно.
Просто у нас тип "MetadataForeignKeyColumn" это uniqueidentifier
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434686
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий ConceptСделал пока так:
,CategoryID varchar(50) NULL
,ContractorID varchar(50) NULL

Если нужно поправить тип и длину поля - напишите, как именно.
Просто у нас тип "MetadataForeignKeyColumn" это uniqueidentifier

Это я понял.
Но мне что в CREATE TABLE для внешних ключей таблицы, ссылающихся на GUID, писать?
Из документации MS SQL я не понял.
Сомневаюсь, что запись вида:

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434693
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Conceptdma_caviarпропущено...

Просто у нас тип "MetadataForeignKeyColumn" это uniqueidentifier

Это я понял.
Но мне что в CREATE TABLE для внешних ключей таблицы, ссылающихся на GUID, писать?
Из документации MS SQL я не понял.
Сомневаюсь, что запись вида:

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.

А почему некорректна?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434744
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Conceptпропущено...


Это я понял.
Но мне что в CREATE TABLE для внешних ключей таблицы, ссылающихся на GUID, писать?
Из документации MS SQL я не понял.
Сомневаюсь, что запись вида:

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.

А почему некорректна?

Т.е. сделать так?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434751
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Ага. Вроде же все ок.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434919
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня по причине проблем на хостинге
сайт gendoc.ru с 12:00-15:30 (время московское) был недоступен.

Сейчас сервисы генерации исходного программного кода доступны.

Базовая версия генератора:
http://gendoc.ru/cgi-bin/GenCode.htm

Расширенная версия генератора:
http://gendoc.ru/cgi-bin/gcadapter.htm


Также добавлены:
1) описание форматов и примеры исходных данных для генерации;
2) описание реализованных шаблонов генерации и скриншоты с примерами полученных результатов.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39435092
Уважаемый автор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Добавьте, пожалуйста, генерацию кода на языке SWIFT!
Последняя версия 3.1
Очень жду!

Хотелось бы так.... "при запуске приложения медленно, как бы выезжая из пустоты, появляется форма регистрации в приложении. после регистрации пользователя необходимо послать push уведомляющий пользователя об успешной регистрации. далее появляется список контактов, которым при необходимости можно послать защищенное сообщение и также получить сообщение от другого пользователя"

вот так вот хочу описать и получить готовый листинг программы на языке Swift, ну крайний случай на Objective-C
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39435152
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый авторДмитрий Concept,

Добавьте, пожалуйста, генерацию кода на языке SWIFT!
Последняя версия 3.1
Очень жду!

Хотелось бы так.... "при запуске приложения медленно, как бы выезжая из пустоты, появляется форма регистрации в приложении. после регистрации пользователя необходимо послать push уведомляющий пользователя об успешной регистрации. далее появляется список контактов, которым при необходимости можно послать защищенное сообщение и также получить сообщение от другого пользователя"

вот так вот хочу описать и получить готовый листинг программы на языке Swift, ну крайний случай на Objective-C

К сожалению у меня нет никакого опыта программирования на яблочных технологиях, в частности на Swift и Objective-C.
Хотя, может быть, самое время начать.

Генератор кода, не может создать любую программу за программиста.
Но можно сгенерить вполне себе рабочий прототип (какркас) указанного Вами приложения.
Т.е. регистрацию пользователей, ведение контактов и обмен простыми сообщениями между пользователями.

Вероятно, данные о пользователях и контактах должны храниться в облаке?
Или в базе данных?
Тогда какую базу данных Вы предпочли бы?

Готов разработать шаблон генерации исходного кода программы под Вашу задачу.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39435675
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Conceptпропущено...


Это я понял.
Но мне что в CREATE TABLE для внешних ключей таблицы, ссылающихся на GUID, писать?
Из документации MS SQL я не понял.
Сомневаюсь, что запись вида:

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.

А почему некорректна?

Доделал, еще замечания к полученному коду есть?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
/* Создание таблицы */
create table AM_Accounts (
  uid uniqueidentifier DEFAULT NEWID()
  ,Number varchar(50) NOT NULL
  ,Name varchar(200) NOT NULL
  ,BankAccountNumber varchar(20) NULL
  ,BankBIC varchar(20) NULL
  ,CurrencyID uniqueidentifier NOT NULL
  ,IsOutBalance int NOT NULL
  ,Deleted int NOT NULL
  ,FullName varchar(251) NOT NULL
  ,CategoryID uniqueidentifier NULL
  ,ContractorID uniqueidentifier NULL
  ,CONSTRAINT PK_AM_Accounts PRIMARY KEY (uid)
)
CREATE INDEX IX_AM_Accounts_CurrencyID ON AM_Accounts (CurrencyID);
CREATE INDEX IX_AM_Accounts_CategoryID ON AM_Accounts (CategoryID);
CREATE INDEX IX_AM_Accounts_ContractorID ON AM_Accounts (ContractorID);
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39435701
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Разве что DEFAULT NEWID() убрать. Это в принципе без надобности + наименование у него будет не очень красивое.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39435799
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для расширенной версии генератора кода
реализован"базовый" формат описания сущности.

Описание:
В первой строке задается сначала заголовок, затем через пробел(ы) идентификатор сущности.
Заголовок является необязательным, но если присутствует, то должен быть заключен в одинарные кавычки.
Далее следуют строки описания полей сущности в формате:
Заголовок Идентификатор_поля Тип_данных Длина_поля
Заголовок,Тип_данных, Длина_поля - являются необязательными.
Если заголовок задан, то он должен быть заключен в одинарные кавычки.
Примеры типов полей: строка, стр, string, str, varchar, целое, int, integer, boolean, numeric, float, double и т.п.
Длина поля задается целым числом.

Пример 1 (полная запись):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
'Задачи' task 
'Раздел' fGroup1 строка 50 
'Наименование' fName строка 100 
'Срок' fDateFinish дата 10 
'Приоритет' fPriority целое 15 
'Статус задачи' fStatus строка 20 
'Описание' fDescr строка 255 
'Дата создания' fDateCreate дата 10 



Пример 2 (сокращенная запись):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
MyTask 
MyGroup str 
'Наименование' Name str 100 
DateFinish date 10 
Priority int 
Status str 20 
'Описание' fDescr str 255 
'Создана' fDateCreate date 10
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39436321
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что сейчас изобретается?

То есть чем запись лучше Create Table task -- Задачи
( fGroup1 varchar2(50) , -- Раздел
...
)

как будут описаны связи - много к одному, один ко многим? необходимость каскадных действий для связей?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39436396
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovа что сейчас изобретается?

То есть чем запись лучше Create Table task -- Задачи
( fGroup1 varchar2(50) , -- Раздел
...
)


Да ничем не лучше.
Просто одна из многих форм представления описания модели данных.
Может кому-то будет удобна.

На данный момент этот формат ("базовый") решает конкретную задачу связки базовой и расширенной версий генератора кода .
Порядок действия следующий:
1.Заходим на страницу базового генератора кода.
2.Выбираем поля для сущности (таблицы).
3. Если что-то не нравиться или чего-то не хватает (нужно изменить имя поля/заголовок/размер или добавить поля, которых нет в списке), то можно сделать следующее.
4.После выбора полей установить шаблон "базовый" и выполнить генерацию.
5.Затем полученный результат скопировать в буфер обмена.
6.Перейти в расширенную версию генератора кода.
7.В поле исходных данных скопировать содержимое из буфера обмена.
8.Внести в описание желаемые изменения и дополнения.
9.Указать формат "базовый" и желаемый шаблон генерации.
10.Выполнить генерацию.

Таким образом, с одной стороны, сохраняется возможность использования предопределенных примеров полей, с другой стороны, пользователь может "подкрутить" описание модели исходных данных по своему желанию.

Vladimir Baskakovкак будут описаны связи - много к одному, один ко многим? необходимость каскадных действий для связей?


Со связями имел дело.
Решение есть, но опубликовано будет в следующих версиях генератора.
На данном этапе нужно отладить текущую версию.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39436483
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уточняющий вопрос.
допустим есть json - описание.
из него система сгенерила ==базовый==, юзер поправил скормил системе и получил ==расширенный==.

Теперь, допустим, в самом низу поменялось - json - перегенерируем как бы.

- так юзеру надо будет вспомнить, что он там в базовом менял? и еще раз это накатить?

пока, очень похоже почему-то на неудобный чисто - текстовый ERWIN.......
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39436534
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovуточняющий вопрос.
допустим есть json - описание.
из него система сгенерила ==базовый==, юзер поправил скормил системе и получил ==расширенный==.

Теперь, допустим, в самом низу поменялось - json - перегенерируем как бы.

- так юзеру надо будет вспомнить, что он там в базовом менял? и еще раз это накатить?

пока, очень похоже почему-то на неудобный чисто - текстовый ERWIN.......

Владимир,
честное слово, у меня нет желания изобретать новый язык представления знаний (метаязык описания данных).

С удовольствием взял бы что-нибудь готовое.
Еще с большим удовольствием использовал бы подход:
Графический редактор моделей (ER диаграмма или UML диаграмма классов) =>
Выгрузка/экспорт в промежуточный (скрытый для пользователя) текстовый формат =>
Загрузка этого файла в генератор программ и генерация кода.

В ERWIN, Rational Rose, ARIS можно настроить отчеты, чтобы выгрузить данные для реализации данного подхода, но они рассчитаны на опытных пользователей и являются платными.

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

В общем, Владимир, я с Вами согласен.
Источник сведений о модели данных должен быть один и чтобы правки вносились на самом верхнем уровне.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39437400
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Буду признателен каждому , кто подскажет, при помощи какого свободно распространяемого графического редактора для моделирования данных, можно выгрузить в текстовом виде полное описание сущностный с атрибутами и связями между сущностными.
Наверное, этот вопрос нужно в отдельный топик вынести.


Есть формат XMI на котором общаются такие редакторы - их есть и беспатные .
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39437486
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий, немного можно наковырять

http://www.databaseanswers.org/modelling_tools.htm

и тут было http://www.sql.ru/forum/632522/case-sredstva-proektirovaniya немного.


- неопытному то может именно с инструментом проще - в схеме поменял = топ-хлоп - скрипт на изменение базы готов.
=================
Я думаю бесплатные ср-ва всегда будут немного кривее, тормознее и неудобнее платных (в разном сочетании этих качеств) - иначе кто бы платные покупал? а они продаются.
=================
В принципе, вот и для онлайн работы тоже было. например http://eax.me/dbdsgnr/ - может и исходники где лежат?

там же допустим в соседнем топике упомянуто https://wiki.gnome.org/Apps/Dia/Examples и доп-инструмент dia2code чтобы из диаграммы сделать программу ((((

или может ... мало ли? придумаете что-то типа скорописи http://haml.info/ - только для баз данных, и действительно станет в тексте но удобно, понятно и всем понра......... то есть, в идее что-то может и есть, но вот ухватить это.... суть хорошести.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39447685
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день!

Выношу на обсуждение два возможных варианта развития генератора программ на ближайшее время.

1) Экранная форма => Приложение по работе с БД.
Берем HTML форму (подготовленную в редакторе или взятую из какого-либо сайта или WEB приложения) и для нее автоматически генерируется приложение, содержащее SQL код БД для хранения записей с полями данной формы и выполнения основных операций (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

2) Таблица БД => Приложение с экранными формами для работы с таблицей БД.
Берем оператор SQL CREATE для создания некоторой таблицы (например, путем реверсивного инжиниринга из БД или из какого-нибудь устаревшего приложения) и для него автоматически генерируется приложение (десктоп или WEB), содержащее экранные формы для выполнения основных операций с данной таблицей (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

Интересно знать мнение участников форума.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39447686
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptВсем добрый день!

Выношу на обсуждение два возможных варианта развития генератора программ на ближайшее время.

1) Экранная форма => Приложение по работе с БД.
Берем HTML форму (подготовленную в редакторе или взятую из какого-либо сайта или WEB приложения) и для нее автоматически генерируется приложение, содержащее SQL код БД для хранения записей с полями данной формы и выполнения основных операций (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

2) Таблица БД => Приложение с экранными формами для работы с таблицей БД.
Берем оператор SQL CREATE для создания некоторой таблицы (например, путем реверсивного инжиниринга из БД или из какого-нибудь устаревшего приложения) и для него автоматически генерируется приложение (десктоп или WEB), содержащее экранные формы для выполнения основных операций с данной таблицей (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

Интересно знать мнение участников форума.


Вы занимаетесь ерундой
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39448336
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptВсем добрый день!

Выношу на обсуждение два возможных варианта развития генератора программ на ближайшее время.

1) Экранная форма => Приложение по работе с БД.
Берем HTML форму (подготовленную в редакторе или взятую из какого-либо сайта или WEB приложения) и для нее автоматически генерируется приложение, содержащее SQL код БД для хранения записей с полями данной формы и выполнения основных операций (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

2) Таблица БД => Приложение с экранными формами для работы с таблицей БД.
Берем оператор SQL CREATE для создания некоторой таблицы (например, путем реверсивного инжиниринга из БД или из какого-нибудь устаревшего приложения) и для него автоматически генерируется приложение (десктоп или WEB), содержащее экранные формы для выполнения основных операций с данной таблицей (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

Интересно знать мнение участников форума.

Идея хорошая.
Что-то подобное делал Clarion в конце 80-х начале 90-х, только под DOS, ну БД была своя.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39448378
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulДмитрий ConceptВсем добрый день!

Выношу на обсуждение два возможных варианта развития генератора программ на ближайшее время.

1) Экранная форма => Приложение по работе с БД.
Берем HTML форму (подготовленную в редакторе или взятую из какого-либо сайта или WEB приложения) и для нее автоматически генерируется приложение, содержащее SQL код БД для хранения записей с полями данной формы и выполнения основных операций (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

2) Таблица БД => Приложение с экранными формами для работы с таблицей БД.
Берем оператор SQL CREATE для создания некоторой таблицы (например, путем реверсивного инжиниринга из БД или из какого-нибудь устаревшего приложения) и для него автоматически генерируется приложение (десктоп или WEB), содержащее экранные формы для выполнения основных операций с данной таблицей (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

Интересно знать мнение участников форума.

Идея хорошая.
Что-то подобное делал Clarion в конце 80-х начале 90-х, только под DOS, ну БД была своя.

Да, с Clarion я успел поработать. Из него часть идей и почерпнул при разработке КОНЦЕПТ и генератора программ по шаблонам.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39448825
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

если тебе нечего делать, то сделай веб вью для ВИПРОС.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449021
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosДмитрий Concept,

если тебе нечего делать, то сделай веб вью для ВИПРОС.

Спасибо за предложение!
Жаль, что мы не пересеклись раньше, когда Вы имели внешнее финансирование Вашего проекта.
Он был интересный. На сайте проекта последняя новость от 2013 года.

Отличие моего подхода заключается в том, что у меня нет цели разработать CASE средство под определенную систему.

Моя цель - предоставить инструмент, с помощью которого программист-пользователь (организация) по своей модели
сгенерит типовой (стандартный, рутинный) программный код на желаемом (модном в текущий момент) языке программирования
и дальше будет делать с этим все, что захочет.

Т.к. целевой язык программирования и используемые библиотеки (фреймворки) общедоступны и популярны,
то нет проблем с авторскими правами, документацией и специалистами.
Нет последующей зависимости и отношений с КОНЦЕПТ или генератором программ от КОНЦЕПТ.

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

Тем не менее, если пошлете мне в личку или опубликуете здесь метаописание таблицы в формате ВИПРОС,
я обязательно рассмотрю и попробую что-то полезное для Вас сделать.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449031
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Тут картинка метаструктуры ВИПРОС в формате SVG.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449033
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свежее руководство разработчика выслал на твою почту яндексовую.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449034
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosСвежее руководство разработчика выслал на твою почту яндексовую.

Спасибо!
Это конструктив.
Смотрю.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449044
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptИнтересно знать мнение участников форума.

Автоматически сгенерированное приложение это примерно как автоматически сгенерированная художественная книга. Ничего общего с реальностью.

Максимум, что можно сделать, это CRUD по таблицам.
Но так это уже было много-много раз.
Но бизнесу не упёрся CRUD по таблицам.

Проблема генератора в том, что если сгенерировать, потом дописать логику, то уже перегенерировать нельзя, так как логика убьётся. Полезность и КПД инструмента генератора сводится к нулю.

Есть бутстраперы и всякие тулы для разработчиков, от них в тысячу раз больше пользы, чем от универсального генератора для универсального бизнеса в вакууме.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449046
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Другое дело, это не генерация кода, а возможность описывать логику декларативно в терминах бизнес-модели и генерировать UI по этой модели. Это вообще никаким боком к генерации кода не относится, но выхлоп просто огромный. Незнаю зачем генерировать код. Зачем вообще его генерировать, потом править, потом компилировать, если можно сразу генерировать результат при исполнении, без промежуточной бестолковой возни?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449050
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttДмитрий Concept,

Другое дело, это не генерация кода, а возможность описывать логику декларативно в терминах бизнес-модели и генерировать UI по этой модели. Это вообще никаким боком к генерации кода не относится, но выхлоп просто огромный. Незнаю зачем генерировать код. Зачем вообще его генерировать, потом править, потом компилировать, если можно сразу генерировать результат при исполнении, без промежуточной бестолковой возни?
Ну, он еще реально не занимался этим делом, потому выхлоп он видит в виде сгенерированного кода.
Код нафиг никому не уперся, если это не код интерпретации модели и трансформации модели в другие модели для других интерпретаторов :)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449058
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosНу, он еще реально не занимался этим делом, потому выхлоп он видит в виде сгенерированного кода.
Код нафиг никому не уперся, если это не код интерпретации модели и трансформации модели в другие модели для других интерпретаторов :)

Дмитрию надо взять реальную задачу с реальностью бизнеса, представить как будто генератор уже полностью готов, и попробовать положить на него решение.

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

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

У генерации кода, который через неделю уже станет не акуальный, а через месяц от него ничего не останется, потенциала нет от слова совсем. Бесполезная работа, с бесполезными перспективами, с непонятным выхлопом. Бизнесу нужен код? Не нужен ему код. Нафик он ему не упёрся.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449134
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПроблема генератора в том, что если сгенерировать, потом дописать логику, то уже перегенерировать нельзя, так как логика убьётся. Полезность и КПД инструмента генератора сводится к нулю.А git тут не поможет? Кладем результат генерации в одну ветку, а доработки ведем в отдельной - рабочей. Перегенерируем новый код в ветку генерации, и делаем её merge в рабочую.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449228
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shr,
это если Объектом автоматизации по ГОСТ 34 видеть ветку с кодом.
hVostt смотрит выше. У него Объект автоматизации - Технологический процесс производства ПО.
Даже не один отдельно взятый программист.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449233
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosСвежее руководство разработчика выслал на твою почту яндексовую.
Посмотрел.
Документ ОЧЕНЬ ПОНРАВИЛСЯ!
Качественный и содержательный.
Модель метаданных полная и очень хорошо продуманная.

Что Вы понимаете под "веб вью для ВИПРОС":
WEB редактор метаданных или генератор пользовательского UI по метаданным?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449252
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Проблема генератора в том, что если сгенерировать, потом дописать логику, то уже перегенерировать нельзя, так как логика убьётся. Полезность и КПД инструмента генератора сводится к нулю.
.

ну, в некоторых модулях OEBS кастомизировать можно было устанавливая перехватчики трех видов - до стандартной функциональности, после, вместо. этого хватает не абсолютно всегда, но нередко.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449272
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosДмитрий Concept,

если тебе нечего делать, то сделай веб вью для ВИПРОС.
Начните с Web API. Дальше по накатанной пойдет. Проверено.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449323
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarViPRosДмитрий Concept,

если тебе нечего делать, то сделай веб вью для ВИПРОС.
Начните с Web API. Дальше по накатанной пойдет. Проверено.

Кстати, на интересную мысль натолкнули.
По описанию интерфейса WEB API можно автоматически генерировать
библиотеку (обертку) для работы с этим API для выбранного языка программирования.
Например Java, C# или Delphi.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449335
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarViPRosДмитрий Concept,

если тебе нечего делать, то сделай веб вью для ВИПРОС.
Начните с Web API. Дальше по накатанной пойдет. Проверено.
Делать именно "веб-вью" той структуры, которая имеется - дохлый номер. Тоже проверено.
А при наличии API вы сможете для каких-то отдельных небольших задач рисовать веб интерфейс прям на чистом html+js, в виде SPA, например, поручив это студенту первого курса.

Прям, не пытаясь охватить неохватуемое, для отдельных маленьких задач. Быстро и сразу.

Например какому-нибудь отделу сделать веб интерфейс для отдельно взятой формы, чтоб они могли в дороге через телефон ее мониторить.

Мы запилили целых 2 проекта веб вью, работающих принципиально по разному. Работать работает, но все фигня.
У первого был принцип - полная копия десктоп форм.
Полный провал. У веба просто другие цели, другие задачи.
Да еще и DX сюда замешали. В общем ужас.
Второй работал по принципу Razor. Без DX, на бутстрапе. По умолчанию формируются формы списков и формы просмотра/редактирований. Но при желании с помощью Razor можно было сверстать такой шаблон формы, какой надо, нестандартный. Это уже было получше, но все равно, веб задачи лежали каким-то тяжелым грузом.

Потом так получилось, что понадобилось сделать API для интеграции с телефонией.
Взяли старый добрый asp.net и что-то там нахреначили. Но меня достало что IIS падла тормозит когда не надо. Сайт обновишь и всплывашка о новом звонке операторам колцентра прилетает не сразу, а через несколько секунд. Пока IIS взлетит.

Короче тогда я для себя понял что это за тяжелый груз на плчах, когда дело касается веб UI. Это долбаные веб серверные технологи)) Или это IIS меня просто добил. Или тормозной Web DX.

Короче не долго думая, плюнул я на это и, как обычно мы это делаем, запилили свой лисапед.
Не обращая внимание на то, что нам крутили пальцем у виска.
Свой веб сервер для API.
Летает как зверь. Никаких зедержек, ничего лишнего. Архитектура чем-то напоминает mvc asp.net. В том смысле что тоже есть некие контроллеры. Но только они у нас декларативные и управляются через конфигуратор.

Ну а дальше понеслось.
Для одного клиента, монтажной организации, ради интереса сделали личный кабинет для выездных монтажников. На html+js. Просто верстка и вызовы API. Мы им даже бюджета никакого особо не предъявили, потому что это было не сложно и нам самим хотелось это сделать.
Вот они в ладоши хлопали и прыгали. До этого юзали что-то унылое от Б24.

Сначала это были просто вызовы контроллера, который дергал скрипты в базе и возвращал результат в виде json. Ну например отбирал список заказов монтажника.
Сейчас уже пилим контроллеры более высокого уровня, чтобы можно было получать метаданные списков/формы, декларативную логику. Чтобы не нужно было тупой версткой заниматься.

Думаю это и будет нормальный "веб вью". С третьей попытки))
Но если бы не свой API, думаю до сих пор бы только лошадей запрягали).
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449344
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще, вчера общался на фейсбуке с каким-то товарищем, как он себя называет "когнитивный инженер". Говорит у нас у всех ограничено мышление. Скоро появится большая мега-рыба, которая автоматизирует весь бизнес и весь мир в придачу. И все мы окажемся на обочине этого бренного мира.
Вот и думай теперь))
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449474
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptViPRosСвежее руководство разработчика выслал на твою почту яндексовую.
Посмотрел.
Документ ОЧЕНЬ ПОНРАВИЛСЯ!
Качественный и содержательный.
Модель метаданных полная и очень хорошо продуманная.

Что Вы понимаете под "веб вью для ВИПРОС":
WEB редактор метаданных или генератор пользовательского UI по метаданным?

А пофиг, метаданные ничем не отличаются от данных, просто они описывают другие данные
Вот не хватает симметричной веб составляющей
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449476
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Web Api и т.д. генерировать не надо, доступ к веб сервисам имеется
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449477
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо налету из модели, которая сгенерирована налету из полученных метаданных формировать вью и контроллер
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449548
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosНадо налету из модели, которая сгенерирована налету из полученных метаданных формировать вью и контроллер

Генерить вью это понятно. Зачем генерить контроллер? Нафига?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449583
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRosНадо налету из модели, которая сгенерирована налету из полученных метаданных формировать вью и контроллер

Генерить вью это понятно. Зачем генерить контроллер? Нафига?

MainView и MainController должны дать функциональность этой MDI формы
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449585
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

А для выбранного из меню макротипа должны быть сгенерированы собственные view (куча их на самом деле) и контроллер (который управляет вызовом методов макротипа, обрабатывает события макротипа, валидирует и т.д.)
Контроллер этот для макротипа тоже может быть сделан универсальным для всех макротипов и один раз от руки - ниче против не имею
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449587
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Ведение метаданных, прав и т.д. можно исключить (их вобще надо вести в других прогах)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449589
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

да и вью для макротипа можно сделать универсальной

по сути в ВИПРОС так и сделано - универсальный вью и контроллер для всех макротипов
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449594
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

я бы за полгода все это сделал бы
но у меня нет времени совсем
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449597
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Т.е. ты хочешь сказать, генерация контроллера обошлась дешевле?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39449602
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRos,

Т.е. ты хочешь сказать, генерация контроллера обошлась дешевле?
Ну, на самом деле наверное и не надо генерировать контроллер и вью с нуля, так как основной функционал их для всех макротипов общий.

Просто их надо каждый раз привязать к модели макротипа.
Думаю, что вообще ничего не придется генерировать.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39454163
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptВсем добрый день!

Выношу на обсуждение два возможных варианта развития генератора программ на ближайшее время.

1) Экранная форма => Приложение по работе с БД.
Берем HTML форму (подготовленную в редакторе или взятую из какого-либо сайта или WEB приложения) и для нее автоматически генерируется приложение, содержащее SQL код БД для хранения записей с полями данной формы и выполнения основных операций (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

2) Таблица БД => Приложение с экранными формами для работы с таблицей БД.
Берем оператор SQL CREATE для создания некоторой таблицы (например, путем реверсивного инжиниринга из БД или из какого-нибудь устаревшего приложения) и для него автоматически генерируется приложение (десктоп или WEB), содержащее экранные формы для выполнения основных операций с данной таблицей (просмотр и фильтрация записей, добавление/модификация/удаление записей, экспорт в CSV).

Интересно знать мнение участников форума.

Двигаюсь по обоим пунктам. Не разочарован.
Интересно получается. Скоро опубликую.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39476062
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

В WEB сервисе генератора программного кода сделаны адаптеры для HTML формы и оператора SQL CREATE TABLE.

Идея заключается в том, чтобы извлекать описание сущности (структуры таблицы)
из кода HTML формы или оператора создания таблицы на SQL.
Т.е. в качестве входного языка описания сущности, подаваемой на вход генератора кода,
можно использовать синтаксис HTML или SQL (а не какой-то выдуманный).

Необходимо отметить, что программа не осуществляет полноценного синтаксического разбора HTML или SQL,
а лишь извлекает необходимую информацию и на данный момент имеется ряд ограничений.
Подробнее - на странице описания входных форматов и в приведенных примерах там же.

Расширенная версия генератора кода:
http://gendoc.ru/cgi-bin/gcadapter.htm

Пользуйтесь - как хотите.
Пишите, если будут пожелания по доработке генератора кода,
настройке на другие языки и системы программирования,
реализации в сгенерированном коде новой функциональности.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39560928
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новая версия доступна по:

http://gendoc.ru/cgi-bin/GenCode.htm

Новости - в разделе Новости.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39560930
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

javascript bootstrap не планируете?)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39560938
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,

да, как раз над этим работаю.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39560940
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviar,

сам удивлен, но спрос и интерес в этом есть.
А Вы смотрели мой vrobotov.ru
Мечтаю объединить диалгового агента и генератор кода.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39560942
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вчера пришла мне навязчивая идея объединения робота и редатора css.

Я пишу роботу - "каждый второй абзац сайта сделай синим".
Реально моя технология позволит сделать это.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39560954
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Это уже прикольнее. А робот через нейросети работает или через мильён if then ?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39561106
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пишу роботу - "каждый второй абзац сайта сделай синим".
Реально моя технология позволит сделать это. Ненужное баловство и хипстерская игра в ИИ.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39561193
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Concept,

Это уже прикольнее. А робот через нейросети работает или через мильён if then ?

Архитектура VROBOTOV.RU двухуровневая.

На данный момент:

На нижнем уровне ассоциативная сеть для отображения 1200 слов в 200 понятий (приблизительно).
Не втором уровне 400 правил if then.

Все это декомпозировано по нескольким практически независимым компонентам знаний:
1.Общий диалог.
2.Команды управления телом робота.
3.Команды перемещения робота по условной местности.
4.Простые арифметические действия.

Также реализовано подключение к внешним сервисам:
1.Перевод английских слов.
2.Мудрые фразы.

Для того, чтобы робот понял команды редактирования HTML/CSS нужно сделать еще одну дополнительную компоненту знаний.
В принципе, прототип за неделю можно сделать.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39561197
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЯ пишу роботу - "каждый второй абзац сайта сделай синим".
Реально моя технология позволит сделать это. Ненужное баловство и хипстерская игра в ИИ.

Что наша жизнь? - Игра!
...
Рейтинг: 0 / 0
151 сообщений из 151, показаны все 7 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / WEB сервис генерации программного кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]