为什么不是每个人都使用RAD工具?

时间:2009-08-13 14:13:58

标签: rad

ClarionWinDev这样的RAD工具声称开发速度提高了10到20倍,这些工具的用户声称相同。如果是这样的话,为什么很少有人使用这些工具?如果申请是在40小时而不是400分钟内完成的,那么你可以赚到更多钱,对吗?

10 个答案:

答案 0 :(得分:33)

由于

  1. 如果你想要他们预测过的东西,那就太好了,但如果不是,那就很糟糕
  2. 他们有时会隐藏太多对良好表现至关重要的技术信息
  3. 您无法轻易创建流畅的动态界面或“开箱即用”的任何内容
  4. 你无法轻易扩展它们
  5. 您无法购买/获取可能适合您的第三方组件
  6. 他们允许平庸的程序员产生可憎的行为
  7. 质量,价格,时间。选择二。

答案 1 :(得分:8)

没有银弹,20倍的声称值等等。

然而,其中很大一部分是这个帖子中其他答案中提到的感知。它们从简单(“不可能是真实的”)到通用(“难以定制”)到一般(“生成凌乱的代码”)不等。为了真正比较,您需要将特定的3GL环境与特定的4GL环境进行比较。两者都有优点和缺点。两者都可能允许你创建好的或坏的程序。

最大的界限是技能因素。从任何工具中获得最佳效果需要时间和精力。毫不奇怪,4GL的用户通常是它的最大支持者,因此很明显它们适用于很多人。但他们通常花费更多(购买),有自己的特质和自己的优点和缺点。让程序员从一个环境转换到另一个环境很难。

在大型组织中,还有很多现有的代码需要满足。如果您拥有开发人员团队,那么很难将整个程序员团队从一个工具更改为另一个工具。即使你这样做了,团队中没有经验丰富的用户,学习过程也会变得缓慢而艰难。无论语言或环境如何,这都是正确的。

经济学也起着重要作用。公司喜欢在主流中的安全性。即使它花费更多。他们喜欢程序员中队可以用“当前”语言编写代码的想法。程序员是一种预计会来去的商品,可以在需要时更换。世界上到处都是C,Java,C#程序员等。选择“小”语言会导致无休止的政治问题,决策必须合理等等。这是旧的“没有人因为购买IBM而被解雇”。在一天结束时,如果钱不是对象,那么还有其他考虑因素(政治上)更重要。

Clarion和Windev等产品的大多数用户要么是独立程序员,要么是非常小的公司的成员,这就不足为奇了。在这些情况下,日常经济比使用最新工具或填充简历更重要。想象一个世界,你只有在程序发货时才能获得报酬。突然,原始生产力确实很重要,最重要的是完成工作,这样你就可以吃了。

由于作为员工工作的人比为自己工作的人多得多,因此大多数程序员不需要直接担心获得报酬就不足为奇了。如果你得到你的工资,无论你使用什么,那么你也可以顺其自然。如果这个工作没有,那里还有更多的工作。所以主流工具仍然是主流,其他一切都被忽略了。

这里其他答案中提到的许多先入之见都是假的并不重要。感知就是一切,在一个二元对立的世界中,无论你现在使用什么语言都是“正确的”,其余的都是“错误的”。

答案 2 :(得分:7)

没有Silver Bullet

根据我的经验,RAD工具和IDE可以消除一些编程的苦差事,但对加快项目速度没什么作用。生产力的主要收益在软件开发周期中提前得多,特别是在定义问题的性质,大小和范围,创建估算和管理风险方面。

没有RAD工具可以修复SDLC中早期发生的错误。实际上,可能会出现相反的情况:使用这些工具的开发人员可以快速生成针对错误规范的代码。这实际上产生了错误的产品,从而产生了他们正在富有成效的错觉。

答案 3 :(得分:5)

RAD工具不能为您提供自行编写内容的自定义功能。客户通常会说“如果它的工作方式与此类似,那将会很好”,如果你编码它会是一个非常快速的变化,但是需要你研究工具来看看这种变化是否可能(并且令人沮丧)客户,如果不是)。

此外,您可以更好地控制所做的事情,并且不太可能因错误的假设而导致奇怪的行为。编写测试也比较容易。

最后,这是一个全新的学习方法,风险是花费的时间不值得(可能会,但是我不愿冒冒险学习一些我可能不会使用的特定内容)

答案 4 :(得分:4)

快速并不总是意味着准确。我可以想到一个例子,如果有人正在开发心脏起搏器,我宁愿他们花400小时才能使其正确,而不是只在40岁时开发它,并冒着潜在的灾难性后果。

答案 5 :(得分:2)

不完全正确。他们可以提高某些任务的生产力,而不是全部。大多数IDE已经包含许多工具来提高生产力。例如代码模板和代码完成。因此,与其他现代工具相比,我认为他们不能管理整个项目10至20次。

答案 6 :(得分:2)

您不能相信RAD工具可以编写干净,可维护的代码。 只是看看自己,使用Visual Studio Designer,拖动数据网格和数据库连接,然后检查它将生成的混乱代码,如果你需要自定义向导的开发人员没有预见到的东西,你会发现自己在很麻烦。现在你将如何维护代码?一切都是如此混乱和紧密耦合。

答案 7 :(得分:1)

当您决定使用RAD工具时,您接受某些牺牲:

  • 当您生成大量代码或允许RAD工具提供帮助时,对代码/系统的深入了解是非常困难的。

  • 灵活性可能会丢失;一些工具将推翻任何人为的更改并重新生成代码,因为他们知道如何。我个人认为,这些工具应该能够识别一个人何时做出改变,并且至少拒绝运行 - 人类的改变应该始终是先例。

  • 这些工具通常可以帮助开发绿地,但却留下了大量的代码来维护。生产率提高10倍至20倍的索赔可能是通过代码行而不是实际完成的功能来衡量的。

答案 8 :(得分:1)

如果已经有一个团队已经习惯了某些IDE,那么改变它的成本是多少?我的意思是,如果我从Visual Studio 2008转到Clarion或WinDev,我的雇主是否准备好应付我的增加成本?还有一个问题是,我认为这些工具的成本是多少以及如果可以提供哪种保证,那么它们会做出多少保证。

答案 9 :(得分:0)

我相信RAD工具不会灵活地为您提供代码。但是,如果任何特定的RAD工具节省了60-70%的开发时间,那么值得投入时间。现在一天熟练的开发人员处于最高需求。这导致磨损率的增加。可靠的开发商仅仅因为薪资水平上涨5/10%而辞职。这对发展公司影响很大。那个完成了大部分开发工作的人突然离开了。这严重影响了项目完成时间表。 RAD Tools使组织减少对技术开发人员的依赖。最重要的是,大多数客户对您用于开发的WHAT技术最不感兴趣。如果满足他们的功能要求,他们会很高兴。

总而言之,在目前的情况下,RAD工具将会有越来越多的需求,其中损耗很高。由于这种依赖性,大多数项目都被拖出了计划。读者可能会有所不同。