Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不同语言开发的相对成本研究_C#_Java_Delphi - Fatal编程技术网

C# 不同语言开发的相对成本研究

C# 不同语言开发的相对成本研究,c#,java,delphi,C#,Java,Delphi,有没有人看过最近(相当平衡的)关于使用不同语言进行软件开发的相对成本的研究?我特别想看看Java与C#与Delphi的相对成本。没有。但我并不热衷于任何一种,我作为顾问工作,并根据我的每个需求推荐其中一种。因此,这里有一些事实可以让您更容易地选择使用什么来满足系统开发需求 常见的: 他们都是各自领域的佼佼者: Java是最好的Java开发选项 C#是最好的.NET开发选项 Delphi是最好的本地开发选项 他们都有: 提供优质组件和库的全球第三方供应商 使用它们创建的全球知名应用程序(例如

有没有人看过最近(相当平衡的)关于使用不同语言进行软件开发的相对成本的研究?我特别想看看Java与C#与Delphi的相对成本。

没有。但我并不热衷于任何一种,我作为顾问工作,并根据我的每个需求推荐其中一种。因此,这里有一些事实可以让您更容易地选择使用什么来满足系统开发需求

常见的: 他们都是各自领域的佼佼者:

  • Java是最好的Java开发选项
  • C#是最好的.NET开发选项
  • Delphi是最好的本地开发选项
他们都有:

  • 提供优质组件和库的全球第三方供应商
  • 使用它们创建的全球知名应用程序(例如Delphi应用程序可能更为知名:Yahoo Go for TV!、Macromedia Captivate、TotalCommander、MediaMonkey、FinalBuilder、InstallAware、WinLicense、MySQL Administrator等)
它们都是:

  • 具有RAD功能的高可靠性技术
  • 由最好的开发辅助工具(UML等)支持
  • 发布了主要的技术升级(Java 7、.NET 4.0和Delphi多平台)
差异: C#更好的三件事:

  • 可以在其中编码的可用开发人员数量(与Java相比)()
  • 微软已经落后了
  • 就工资而言,开发成本较低(通常)
3件Java更好的事情:

  • 可以在其中编码的可用开发人员数量(与Delphi相比(*)
  • 便携性
  • 有太阳在后面
德尔福的三大优势:

  • 速度(时间关键型系统的性能更佳)
  • 占用空间小(Delphi编译器生成非常小的二进制文件)
  • 没有明确的依赖关系(更容易分发)


(*)有一个非常可靠的事实,可以用C#编写代码的其他语言开发人员比可以用Java编写代码的其他语言开发人员多,这意味着更容易找到C#程序员。也许这就解释了为什么在许多允许多语言提问、重构等的网站和论坛中,通常会有更多的C#问答()。此外,因为在世界许多地方,常识指出Java开发人员的工作时间比C语言开发人员长,这使得找到Java开发人员比C语言开发人员更困难。当然,还有一些其他因素可以讨论,但我非常确定,找到C#程序员通常比找到Java程序员更容易。

这种定量比较很难确定,因为有许多复杂的变量:开发人员的语言经验,语言是否适用于目标域、开发者的整体质量(有人认为非主流语言吸引了高质量的开发人员)、与最终产品(是Ruby或Python应用程序一样快,如Delphi或C++应用程序编写的)? 在中,Steve McConnell根据其表达能力列出了几种语言(每种语言的一条语句可以表达多少行等效的C代码)。有人认为,程序员在代码行中的生产力是相对恒定的,无论使用何种语言;如果这是真的,那么每种语言的表达能力应该粗略估计每种语言开发的相对成本。根据第62页表4.1:

LANGUAGE LEVEL RELATIVE TO C C 1 C++ 2.5 Fortran 95 2 Java 2.5 Perl 6 Python 6 Smalltalk 6 Visual Basic 4.5 相对于C语言的语言水平 C1 C++ 2.5 Fortran 95 2 Java 2.5 Perl 6 Python 6 Smalltalk 6 Visual Basic 4.5 他为此表列出了几个来源:,“七种编程语言的经验比较”(Prechelt,来自IEEE Computer,2000年10月)


麦康奈尔引用的数据都是几年前的,但据我所知,Cocomo II模型的详细程度令人难以置信,因此当前的Cocomo II材料可能提供了德尔菲和C#的最新数据。

我不知道正式研究的情况,但我听过很多关于公司在Delphi中使用现有应用程序并出于某种原因用C#重写它的轶事报道。它们都以同样的方式结束

用C#重写程序所用的时间是最初用Delphi编写程序所用的时间的两倍,即使所有的业务逻辑和领域知识都已经以现有Delphi代码库的形式编制和呈现出来。在这段时间里,他们没有发布更新,因为他们所有的资源都忙于重写,让他们的竞争对手获得市场份额。当它完成时,它是一个1.0级的产品。故障多、速度慢且难以使用,通常存在严重的向后兼容性问题

之所以可以解释,但我认为使Delphi比C#(或Java)更高效的一个主要因素是语言的外观和感觉

众所周知,与最初编写现代程序相比,维护和调试现代程序需要投入更多的工作、时间和精力,但这一原则通常不会得到合乎逻辑的结论。如果需要做的工作最多的是维护程序,那么在编写代码容易或快速的基础上选择一种语言是过早的优化。如果你使用一种易于阅读和维护的语言,你的投资将获得更好的回报。在代码可读性方面,Pascal(Delphi)轻而易举地击败了C系列


这不是一项正式的研究,但值得思考。

我从未寻找过这样的研究,但如果