成功的非程序员,5GL,Visual,0源代码或类似工具?

Dan*_*Dan 6 programming-languages

任何人都可以给我一个成功的非程序员,5GL的例子(不是我确定它们是什么!),可视化,0源代码或业务用户或分析师可以用来创建应用程序的类似工具?
我不相信有,我想证明是错的.

在我工作的公司,我们开发了内部MVC,用于开发Web应用程序.它基本上是一个用XML编写的简化状态机(用于控制器的Spring WebFlow)和一个用于表示的简单模板引擎.一些好处:

  • 动态性:无需重新编译即可查看更改
  • 减少"语义负载":基本上,控制器中的动作只知道"如果".因此,培训某人开发应用程序很容易.

公司(或至少在管理层面)的当前趋势是尝试为需要0源代码,视觉等的平台生成工具.它对客户(或至少在管理级别)具有良好的效果,因为:

  • 他们可以确信,通过这种方式,他们不需要任何程序员,或者至少能够雇佣那些费用低于典型程序员的泡沫程序员.
  • 似乎涉及的风险降低,因为该工具限制了实施者或用户(只是不使用"程序员"一词!)他能做什么,因此他引入错误的可能性较小
  • 它似乎简化了整个问题,因为似乎没有涉及编程(众所周知的复杂).由于应用程序动态加载,因此通常与J2EE生命周期相关的复杂性较低:编译,打包,部署等.

我个人怀疑这样的事情是可以实现的.我们今天的解决方案有很多问题:

  • 实施者编写JavaScript代码以丰富页面(可以通过开发小部件来解决).虽然客户端,仍然是一个代码,可能变得非常复杂,并导致一些困难的错误.
  • 已有一个可视化工具,但实施者更喜欢编辑XML,因为它更快更容易.为了比较,我想没有多少人使用Eclipse Spring WebFlow插件来编辑流XML.
  • 解决方案中的重用非常差(基于XML的复制粘贴).这妨碍了生产力和其他一些方面,如培养业务知识.
  • 基于错误使用工具,存在许多性能和其他问题.无论比赛场地如何减少,总会有错误的空间.
  • 虽然该平台可能比Struts更具生产力,但我怀疑它比现在的RAD Web框架(如RoR或Grails)更具生产力.
  • 赘言

从历史上看,这方面出现了许多失败.由非程序员编写的程序的想法很老,但AFAIK从未成功过.在某种程度上,除了源代码的强大功能之外的任何东西都变得无法替代.今天,有很多关于DSL的讨论,但不是非程序员应该写的东西,更像是他们可以阅读的东西.

在我看来,公司在这方面采取的方向是一个死胡同.你怎么看?

编辑:值得注意的是(这是一些潜在的来源),许多大型玩家正在试验这个方向.请参阅Microsoft Popfly,Google Sites,iRise,许多Mashup解决方案等.

Jer*_*fin 9

是的,这是死路一条.问题很简单:无论你如何简单地表达解决方案,你仍然需要分析和理解要解决的问题.大约80-90%的(最好的)程序员花费他们的时间,这是真正的技能和思考的部分.是的,一旦你决定做什么,有一些技巧涉及到如何做到这一点(用你选择的编程语言).在大多数情况下,这只是问题的一小部分,而且对计划延误,成本超支或彻底失败等问题最不开放.

软件项目中最严重的问题发生在更早的阶段,在这个阶段,你只是想弄清楚系统应该做什么,用户必须/应该/可能做什么,系统会遇到什么问题(并且赢了)尝试解决,等等.这些都是困难的问题,并且改变环境来表达某种方式等是源代码会做精确的解决方案没有帮助任何的那些困难的问题.

有关这一主题的更完整的论文,你可能需要阅读没有银弹-本质和事故的软件工程,由弗雷德里克·布鲁克斯(包含在20 的周年纪念版人月神话).整篇论文基本上都是这个问题:软件工程涉及多少工作是必不可少的,以及我们使用的工具,环境,编程语言等的偶然结果是多少.他的结论是,没有任何技术能够提高生产率达到一个数量级的任何合理希望.


And*_*nds 1

总会有“真正的”语言来完成工作,但我们可以拖放工作流程。

我正在使用Apple 的 Automator,它允许用户将其系统上的各种应用程序公开的“操作”链接在一起。

操作具有输入和/或输出,有些具有 UI 元素,并且基本逻辑可以应用于链。

automator 和其他可视化环境之间的主要区别在于,操作使用现有的应用程序代码并且不需要任何特殊安装。

更多信息 > http://www.macosxautomation.com/automator/

我已经用它来“自动化”许多批处理过程,并取得了非常好的结果(每次都让我感到惊讶)。我已经让它运行构建和备份,每当我需要处理一堆文本文件时,它就会通过。

我很想知道 iHook 或 Platypus(shell 脚本的 osx 包装器构建器)是否可以让我在 python 中开发插件......

肯定还有更多这样的应用程序的空间,也需要 OSX 应用程序开发人员的更多支持,但这个想法是合理的。

在获得主要支持之前,没有太多可用的“操作”,但对我的系统的快速检查只是向我显示了额外的 30 个我不知道的操作。

附言。OS-preX 还有另一个名为“Filter Tops”的应用程序,它的插件集更加有限。