Может любой давать мне пример успешного непрограммиста, 5GL (не, что я уверен, каковы они!), визуальный, 0 исходных кодов или подобные инструменты, которые бизнес-пользователи или аналитики могут использовать для создавания приложений?
Я не полагаю, что существует, и я хотел бы быть доказанным неправым.
В компании, в которой я работаю, мы разработали внутренний MVC, который мы используем для разработки веб-приложений. Это - в основном уменьшенный конечный автомат, записанный в XML (а-ля Spring WebFlow) для контроллера и простого основанного на шаблоне механизма для презентации. Некоторые преимущества:
Современная тенденция в компании (или по крайней мере на уровне управления) состоит в том, чтобы попытаться произвести инструменты для платформы, которые требуют 0 исходных кодов, визуальны и т.д. Это имеет хороший эффект на клиенты (или по крайней мере на уровне управления) с тех пор:
Я - лично скептик, что что-то вроде этого может быть достигнуто. Решение, которое мы имеем сегодня, имеет много проблем:
Исторически, в этом направлении были многочисленные отказы. Идея программ, записанных непрограммистами, стара, но AFAIK, никогда не успешный. На определенном уровне что-либо кроме питания исходного кода становится незаменимым. Сегодня, существует большой разговор о DSLs, но не как что-то, что непрограммисты должны записать, больше как что-то, что они могли считать.
Мне кажется, что компания направления берет, в этом отношении тупик. Что Вы думаете?
Править: Это стоит отметить (и это - то, куда некоторые insipiration прибывают из), что многие крупные игроки экспериментируют в том направлении. Посмотрите Microsoft Popfly, Google Sites, iRise, много решений для Мэшапа и т.д.
Всегда будут существовать "настоящие" языки для выполнения работы, но мы можем перетащить рабочий процесс.
Я использую Automator от Apple, который позволяет пользователям объединять в цепочку "действия", выполняемые различными приложениями в их системах.
Действия имеют входы и/или выходы, некоторые имеют элементы пользовательского интерфейса, и к цепочке может быть применена базовая логика.
Ключевое различие между automator и другими визуальными средами заключается в том, что действия используют существующий код и не требуют специальной установки.
Подробнее > http://www.macosxautomation.com/automator/
Я использовал его для "автоматизации" многих пакетных процессов и получил действительно отличные результаты (каждый раз меня это удивляет). Я запускаю сборки и резервные копии, и всякий раз, когда мне нужно обработать множество текстовых файлов, он справляется с этой задачей.
Я бы хотел узнать, могут ли iHook или Platypus (создатели оберток для shell-скриптов на osx) позволить мне разрабатывать плагины на python .....
Определенно есть место для большего количества подобных приложений и для большей поддержки со стороны разработчиков приложений для OSX, но идея здравая.
Пока нет серьезной поддержки, доступно не так много "действий", но быстрая проверка моей системы только что показала мне дополнительные 30, о которых я не знал.
PS. Было еще одно приложение для OS-preX под названием "Filter Tops", которое имело гораздо более ограниченный набор плагинов.
Не подвергать сомнению решение использовать 5GLS и т. Д., Но программирование сложно .
John Skeet - программирование трудно
Кодирование ужасов - программирование трудно
5GLs было считать тупиком некоторое время.
Я думаю о семействе продуктов, которое включает Ms Access, Excel, Clarion для DOS и т. Д. Где вы можете создавать приложения с нулевым исходным кодом и без программистов. Не то чтобы они могли выполнять AI-качество операций, но они могут создавать очень удобные приложения.
Да, это тупик. Проблема проста: каким бы простым ни было выражение решения, все равно нужно проанализировать и понять проблему, которую нужно решить. Это примерно 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 ). Вся статья посвящена, по сути, этому вопросу: насколько важны усилия, затрачиваемые на разработку программного обеспечения, и насколько это случайный результат использования инструментов, сред, языков программирования и т.д., которые мы используем. Его вывод заключался в том, что нет технологии, которая давала бы любую разумную надежду на повышение производительности на порядок.
Как насчет Dabble DB ?
Конечно, как и в MS Access и других непрограммистских платформах программирования, у него есть некоторые необходимые ограничения, чтобы пользователь не застрял ... как указал Джон , программирование сложно . Но это дает пользователю много возможностей, и кажется, что большинство приложений, которые хотят создавать непрограммисты, в любом случае являются приложениями типа баз данных.