语言和发展方法

时间:2010-05-23 10:10:26

标签: c# ruby-on-rails programming-languages methodology agile

从未使用Ruby on Rails,我在维基百科上查了一下。它说

  

它打算用于   敏捷开发方法就是这样   Web开发人员用于快速   发展。

这让我想知道给定的语言/框架如何更适合于给定的开发方法。例如,某些语言对结对编程是否更友好?是否有语言功能使某些方法更合适?是否存在使某些方法无法实现的功能?

我最初的反应是解除连接(设计过程是一个业务流程,它更依赖于语言功能的业务需求)。但我是公司内唯一的程序员,而且我是合作伙伴,因此我可以决定业务需求。你觉得怎么样?

此外,如果SO社区发现某些语言指向某些方法,那么c#最常见的是什么方法,这是我大部分时间都使用的方法?

3 个答案:

答案 0 :(得分:2)

我当然会考虑使用不同的语言来推广某些方法,因为它们需要不同的哲学


面向对象语言适用于较大的组,因为代码可以整齐地解耦。相反,动态语言将允许更多的探索性和直接的方法,因为可以在没有长编译时间的情况下交互式地测试代码(例如交互式shell)。

RoR实施的常规配置适用于快速开发,而像F#或Haskells这样的高级功能类型系统提升了类型的第一个方法。

当然,更容易证明相反 - 你不能依赖于类型不足的类型系统,你不能通过接口解耦它们都是隐含的,你不能轻易地通过在C ++等语言中尝试和错误。是的,有一个联系。

答案 1 :(得分:0)

某些环境有帮助,特别是对于规定快速代码和单元测试周期的方法。例如,我需要4s来编译和运行C中的50,000行项目的基本测试,但是大约一年前有一篇帖子,有人花了2分钟在RoR上运行“单元”测试由于数据库开销。

答案 2 :(得分:0)

动态语言是敏捷方法论的天生朋友(敏捷不是一种方法论,而是一系列使用Scrum,XP,......的方法论),因为它们源于相同的“实用主义”精神,但正如商业压力所要求的那样,甚至是编译器的语言现在使用Agile,实际上通过将动态功能(如C#或.NET Framework)与4.0版本集成,变得更加灵活。