代码之家  ›  专栏  ›  技术社区  ›  Sorskoot

为什么每个人都不使用RAD工具?[关闭]

rad
  •  11
  • Sorskoot  · 技术社区  · 15 年前

    类RAD工具 Clarion WinDev 声称开发速度是开发速度的10到20倍,这些工具的用户也声称如此。如果是通过,为什么很少有人使用这些工具?如果一个申请是在40小时内而不是400小时内提出的,你会赚更多的钱,对吗?

    10 回复  |  直到 13 年前
        1
  •  33
  •   kazanaki    15 年前

    因为

    1. 如果你想要他们预言过的东西,他们是伟大的;如果你不想要,他们是可怕的。
    2. 他们有时隐藏了太多对良好性能至关重要的技术信息。
    3. 您不能轻松创建流体、动态界面或任何“框外”内容。
    4. 你不能轻易地扩展它们
    5. 您不能购买/获取适合您的第三方组件
    6. 他们允许平庸的程序员制造令人憎恶的东西。
    7. 质量,价格,时间。选两个。
        2
  •  8
  •   Bruce    15 年前

    没有银弹,20倍的索赔额等价值一粒盐。

    然而,其中很大一部分是在这条线索的其他答案中提到的看法。它们从简单的(“不可能是真的”)到一般的(“难以定制”)到一般的(“生成混乱的代码”)。为了真正地进行比较,您需要将特定的3GL环境与特定的4GL环境进行比较。两者都有优点和缺点。这两者都可能让你创建好的或坏的程序。

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

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

    经济学也起着很大的作用。公司喜欢处于主流的安全。即使成本更高。他们喜欢这样的想法,即有一批程序员可以用“当前”语言编写代码。程序员是一种可以来来往往的商品,在需要时可以更换。这个世界充满了C、Java、C程序员等等。选择一种“小”语言,虽然导致无休止的政治问题,决策必须是合理的,等等。这是“没有人因为买IBM而被解雇”的老毛病。最后,如果金钱不是目标,那么还有其他(政治上)更重要的考虑。

    毫无疑问,像Clarion和Windev这样的产品的大多数用户要么是独立的程序员,要么是非常小公司的成员。在这种情况下,日常经济比使用最新工具或填充简历更重要。想象一下这样一个世界,你只有在程序发布时才能得到报酬。突然间,原始生产力就变得重要了,最重要的是把工作做好,这样你就可以吃饭了。

    由于作为雇员工作的人比为自己工作的人要多得多,所以大多数程序员不需要直接为获得报酬而担心也就不足为奇了。如果你得到你的薪水,不管你用什么,那么你也可以随大流。如果这件事失败了,还有很多工作要做。所以主流工具仍然是主流,其他的一切都被忽略了。

    事实上,其他答案中提到的许多先入之见都是错误的,这并不重要。感知是一切,在一个对与错的二元世界里,你现在使用的任何语言都是“对”的,其余的都是“错”。

        3
  •  7
  •   Chris R. Timmons    15 年前

    没有 Silver Bullet .

    在我的经验中,rad工具和ides消除了一些编码工作的繁重工作,但对加快项目的进度几乎没有做什么。在软件开发周期中,生产率的主要提高要早得多,特别是在定义问题的性质、规模和范围、创建评估和管理风险方面。

    没有RAD工具可以修复早期在 SDLC .事实上,可能会发生相反的情况:使用这些工具的开发人员可以针对一个糟糕的规范快速地生成代码。这给了他们一种错觉,即当实际上构建了错误的产品时,他们是高效的。

        4
  •  5
  •   Samuel Carrijo    15 年前

    RAD工具并没有给你自己写东西的可定制性。客户通常会说“如果它完全像这样工作的话,这会很好”,如果您对它进行了编码,这将是一个非常快速的更改,但是需要您研究工具,看看是否有可能发生这种更改(如果没有,这会使客户感到沮丧)。

    而且,你对所做的事情有更多的控制,并且不太可能有“由错误的假设引起的奇怪行为”。编写测试也更容易。

    最后,学习是一件全新的事情,可能花费的时间是不值得的(也许是这样,但我不愿意冒险去学习一些我可能不会使用的过于具体的东西)。

        5
  •  4
  •   Scott Vercuski    15 年前

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

        6
  •  2
  •   Toon Krijthe    15 年前

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

        7
  •  2
  •   Raphael    15 年前

    您不能信任RAD工具来编写干净的、可维护的代码。 只需亲自查看,使用Visual Studio设计器,拖动数据报和数据库连接,然后检查它将生成的混乱代码,如果需要自定义向导开发人员无法预见的内容,您会发现自己遇到很多麻烦。现在,您将如何维护代码?一切都是那么杂乱和紧密相连。

        8
  •  1
  •   STW    15 年前

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

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

    • 灵活性可能会丢失;一些工具会否决任何人为的更改,并根据他们所知道的方式重新生成代码。我个人认为,这些工具应该能够识别一个人何时做出了改变,至少拒绝运行——人类的改变应该总是先例。

    • 通常,这些工具可以帮助绿地开发,但会留下大量的代码需要维护。10倍到20倍的生产率增长可能是通过代码行来衡量的,而不是实际完成的功能。

        9
  •  1
  •   JB King    15 年前

    如果一个团队已经习惯了特定的IDE,那么更改它的成本是多少?我的意思是,如果我从Visual Studio 2008转到Clarion或Windev,我的雇主是否准备好承担我在这方面的花费?在我看来,还有一个问题,那就是这些工具的成本有多高,如果有什么保证的话,它们的性能和声称的一样好。

        10
  •  0
  •   Abhay Damle    15 年前

    我相信RAD工具并不能灵活地处理代码。但是,如果任何一个特定的RAD工具节省了60-70%的开发时间,那么值得花时间在它上面。如今,技术娴熟的开发人员正处于需求高峰期。这会导致磨损率增加。可靠的开发商辞职只是为了提高工资标准的5/10%。这对开发公司影响很大。做了大部分开发工作的人突然离开了。这严重影响了项目的完工进度。RAD工具减少了组织对熟练开发人员的依赖。最重要的是,大多数客户对您用于开发的技术最不关心。如果他们的功能需求得到满足,他们会很高兴。

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