Успешный непрограммист, 5GL, визуальный, 0 исходных кодов или подобные инструменты?

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

В компании, в которой я работаю, мы разработали внутренний MVC, который мы используем для разработки веб-приложений. Это - в основном уменьшенный конечный автомат, записанный в XML (а-ля Spring WebFlow) для контроллера и простого основанного на шаблоне механизма для презентации. Некоторые преимущества:

  • динамический характер: никакая потребность перекомпилировать для наблюдения изменений
  • уменьшенная “семантическая загрузка”: в основном действия в контроллере знают только “Если”. Поэтому легко обучить кого-то разрабатывать приложения.

Современная тенденция в компании (или по крайней мере на уровне управления) состоит в том, чтобы попытаться произвести инструменты для платформы, которые требуют 0 исходных кодов, визуальны и т.д. Это имеет хороший эффект на клиенты (или по крайней мере на уровне управления) с тех пор:

  • они могут быть убеждены, что этот способ, которым они не будут нуждаться ни в каких программистах или по крайней мере смогут нанять end-of-the-lather программистов, которые стоят намного меньше, чем типичные программисты.
  • Кажется, что существует сниженный включенный риск, так как инструмент ограничивает реализатора, или пользователь (просто не используют программиста слова!) в том, что он может сделать, таким образом, существует менее случайное, что он может представить ошибку
  • Это, кажется, упрощает целую проблему, так как, кажется, нет никакого программирования, включенного (известно сложный). Так как приложения загружаются динамично, существует меньше сложности, затем обычно связанной с жизненным циклом J2EE: компиляция, пакет, развертывается и т.д.

Я - лично скептик, что что-то вроде этого может быть достигнуто. Решение, которое мы имеем сегодня, имеет много проблем:

  • Реализаторы пишут, код JavaScript для обогащения страниц (мог быть решен путем разработки виджетов). Хотя клиентский, все еще код, который может стать очень сложным и привести к некоторым трудным ошибкам.
  • Уже существует визуальный инструмент, но реализаторы предпочитают редактировать XML, так как это более быстро и легче. Для сравнения я предполагаю не, многие используют плагин Eclipse Spring WebFlow для редактирования потока XML.
  • Существует очень плохое повторное использование в решении (на основе вставки копии XML). Это препятствует производительности и некоторым другим аспектам, как содействие знаниям о бизнесе.
  • Была многочисленная производительность и другие проблемы на основе неправильного использования инструментов. Неважно, насколько уменьшенный playfield, всегда существует пространство для ошибки.
  • В то время как платформа, вероятно, более продуктивна, чем Struts, я сомневаюсь, что это более продуктивно, чем сегодняшние веб-платформы RAD как RoR или Grails.
  • Многословие

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

Мне кажется, что компания направления берет, в этом отношении тупик. Что Вы думаете?

Править: Это стоит отметить (и это - то, куда некоторые insipiration прибывают из), что многие крупные игроки экспериментируют в том направлении. Посмотрите Microsoft Popfly, Google Sites, iRise, много решений для Мэшапа и т.д.

6
задан John Saunders 18 February 2012 в 13:08
поделиться

5 ответов

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

Я использую Automator от Apple, который позволяет пользователям объединять в цепочку "действия", выполняемые различными приложениями в их системах.

Действия имеют входы и/или выходы, некоторые имеют элементы пользовательского интерфейса, и к цепочке может быть применена базовая логика.

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

Подробнее > http://www.macosxautomation.com/automator/

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

Я бы хотел узнать, могут ли iHook или Platypus (создатели оберток для shell-скриптов на osx) позволить мне разрабатывать плагины на python .....

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

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

PS. Было еще одно приложение для OS-preX под названием "Filter Tops", которое имело гораздо более ограниченный набор плагинов.

1
ответ дан 8 December 2019 в 14:43
поделиться

Не подвергать сомнению решение использовать 5GLS и т. Д., Но программирование сложно .

John Skeet - программирование трудно
Кодирование ужасов - программирование трудно

5GLs было считать тупиком некоторое время.

4
ответ дан 8 December 2019 в 14:43
поделиться

Я думаю о семействе продуктов, которое включает Ms Access, Excel, Clarion для DOS и т. Д. Где вы можете создавать приложения с нулевым исходным кодом и без программистов. Не то чтобы они могли выполнять AI-качество операций, но они могут создавать очень удобные приложения.

2
ответ дан 8 December 2019 в 14:43
поделиться

Да, это тупик. Проблема проста: каким бы простым ни было выражение решения, все равно нужно проанализировать и понять проблему, которую нужно решить. Это примерно 80-90% того, как (наиболее хорошие) программисты тратят свое время, и это та часть, которая занимает настоящее мастерство и мышление. Да, как только вы решили, что делать, есть некоторый навык, связанный с тем, чтобы понять, как это сделать (на выбранном вами языке программирования). В большинстве случаев это небольшая часть проблемы, и наименее открытая для таких вещей, как проскальзывание графика, перерасход средств или полный провал.

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

Для более полного трактата на эту тему, возможно, вы захотите прочитать No Silver Bullet - Essence and Accident in Software Engineering , by Frederick Brooks (Included in the 20th Anniversary Edition of The Mythical Man-Month ). Вся статья посвящена, по сути, этому вопросу: насколько важны усилия, затрачиваемые на разработку программного обеспечения, и насколько это случайный результат использования инструментов, сред, языков программирования и т.д., которые мы используем. Его вывод заключался в том, что нет технологии, которая давала бы любую разумную надежду на повышение производительности на порядок.

9
ответ дан 8 December 2019 в 14:43
поделиться

Как насчет Dabble DB ?

Конечно, как и в MS Access и других непрограммистских платформах программирования, у него есть некоторые необходимые ограничения, чтобы пользователь не застрял ... как указал Джон , программирование сложно . Но это дает пользователю много возможностей, и кажется, что большинство приложений, которые хотят создавать непрограммисты, в любом случае являются приложениями типа баз данных.

0
ответ дан 8 December 2019 в 14:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: