像Clarion和WinDev这样的RAD工具声称开发速度提高了10到20倍,这些工具的用户声称也是如此.如果是这样的话,为什么很少有人使用这些工具?如果申请是在40小时而不是400分钟内完成的,那么你可以赚到更多的钱,对吗?
kaz*_*aki 33
因为
没有银弹,20倍的声称值等等.
然而,其中很大一部分是这个帖子中其他答案中提到的感知.它们从简单("不可能是真实的")到通用("难以定制")到一般("生成凌乱的代码")不等.为了真正比较,您需要将特定的3GL环境与特定的4GL环境进行比较.两者都有优点和缺点.两者都可能允许您创建好的或坏的程序.
最大的界限是技能因素.从任何工具中获得最佳效果需要时间和精力.毫不奇怪,4GL的用户通常是它的最大支持者,因此很明显它们适用于很多人.但他们通常花费更多(购买),有自己的特质和自己的优点和缺点.让程序员从一个环境转换到另一个环境很难.
在大型组织中,还有许多现有的代码需要满足.如果您拥有开发人员团队,那么很难将整个团队的程序员从一个工具更改为另一个工具.即使你这样做了,团队中没有经验丰富的用户,学习过程也会变得缓慢而艰难.无论语言或环境如何,这都是正确的.
经济学也起着重要作用.公司喜欢在主流中的安全性.即使它花费更多.他们喜欢程序员中队可以用"当前"语言编写代码的想法.程序员是一种预计会来去的商品,可以在需要时更换.世界上到处都是C,Java,C#程序员等.选择"小"语言会导致无休止的政治问题,决策必须合理等等.这是旧的"没有人因为购买IBM而被解雇".在一天结束时,如果钱不是对象,那么还有其他考虑因素(政治上)更重要.
因此,像Clarion和Windev这样的产品的大多数用户要么是独立程序员,要么是非常小的公司的成员,这就不足为奇了.在这些情况下,日常经济比使用最新工具或填充简历更重要.想象一个世界,你只有在程序发货时才能获得报酬.突然,原始生产力确实很重要,最重要的是完成工作,这样你就可以吃.
由于作为员工工作的人比为自己工作的人多得多,因此大多数程序员不需要直接担心获得报酬就不足为奇了.如果你得到你的工资,无论你使用什么,那么你也可以顺其自然.如果这个工作没有,那里还有更多的工作.所以主流工具仍然是主流,其他一切都被忽略了.
这里其他答案中提到的许多先入之见都是错误的事实并不重要.感知就是一切,在一个二元对立的世界中,无论你现在使用什么语言都是"正确的",其余的都是"错误的".
RAD工具不能为您提供自行编写内容的自定义功能.客户通常会说"如果它的工作方式与此类似,那将会很好",如果你编码它会是一个非常快速的变化,但是需要你研究工具来看看这种变化是否可能(并且令人沮丧)客户,如果不是).
此外,您可以更好地控制所执行的操作,并且不太可能因错误的假设而导致奇怪的行为.编写测试也更容易.
最后,这是一个全新的学习方法,风险是花费的时间不值得(可能会,但我不愿冒冒险学习一些我可能不会使用的特定内容).