提高Java或C#的编程效率是一个神话吗?

时间:2010-07-13 14:51:47

标签: c# java c++

Java或C#在提高开发效率方面的一大优势是,您应该通过复杂的语言功能(尤其是与内存管理相关的功能)减少时间。但这只是一种印象吗?

我认为C ++的学习曲线肯定比较陡峭,但是对于一个熟练的C ++程序员来说,并且给出了一套C ++的编码标准,Java和C ++之间的区别是不是逐渐消失了?

5 个答案:

答案 0 :(得分:11)

  

对于熟练的C ++程序员

这就是问题所在。根据我的经验,大多数程序员都不熟练。 Java允许盲目的流水线工人以C ++没有的方式提高工作效率。

熟练的开发人员无论用什么语言写作都会很有效率。

答案 1 :(得分:2)

更高级别的语言意味着您必须(并且担心)减少crud,这肯定 可以加快某些应用程序(GUI,Web应用程序等)的开发时间。如果您正在编写较低级别的东西,虽然像设备驱动程序一样,我发现我浪费了尽可能多的时间来进出托管/非托管代码(在C ++ / CLI的情况下),因为我可能已经保存了。

如果有的话,我建议像C#和Java这样的高级语言正在变得越来越好,因为传统上只有C ++领域,因为越来越多的低级控制库和包装器被编写,开发和优化。

所以我的建议;如果您正在进行更高级别的开发,请使用更高级别的语言。如果您需要更多控制,请使用较低级别的语言(或者为低级别任务找到一个包含一些不错包装器的高级语言)。

答案 2 :(得分:1)

在我看来没有。 Java和C#更简单,更安全,因此编写速度更快。当然,如果C ++程序员具有一定的技能水平,则可能没有区别。但我认为这是Java和C#可以提供更好的整体生产力的原因之一。你不必是一个特别熟练的程序员才能提高工作效率。而且普通程序员比熟练程序员多得多。

答案 3 :(得分:0)

这种逻辑不适用于任何语言吗?我认为(无论是否真实)的想法是,使用Java或C#,从新手到熟练的时间平均比使用C ++要少。

另外,从表面上看,我倾向于同意。但是,辩论的双方都有很多细节,我保证不会通过SO线程解决。

答案 4 :(得分:0)

嗯,当然,但确切地说,学习曲线是讨论的核心。

讨论的目的不是比较两位熟练的开发人员,一位是C ++,一位是Java。鉴于这种情况,C ++开发人员编写的样板文件要少得多,而且可能更有效率。

当提到Java和.NET等托管平台时,很明显新手程序员可以更容易地深入研究,并在比C ++更短的时间内生成一个有效的应用程序。

请记住,世界上大多数程序员都不熟练。他们很可能没有受过良好教育,没有接受过重大培训,并且有最后期限可以参加。

考虑到这种情况 - 您是否会选择聘请5名新手C ++程序员或5名Java / C#程序员来完成工作?