C# 我们应该使用Scala而不是Java吗?

C# 我们应该使用Scala而不是Java吗?,c#,java,scala,C#,Java,Scala,我们将启动一个新项目,该项目将涉及对所有.net开发人员进行Java(框架/生态系统等)培训。我们有很多用C#编写的代码,而所有这些似乎都将被浪费掉,因为我们必须用Java重新编写它们。我看到的问题是,在第一年左右(可能是两年),我们将没有什么可以交付的,因为我们将花费大部分时间复制我们以前使用的Java,但现在使用的是Java 由于我们的团队分布在世界各地的不同办公室,我们有大量的java开发人员(20到30名)和10名使用.net的开发人员,因此我们希望让所有开发人员使用相同的语言/平台,以

我们将启动一个新项目,该项目将涉及对所有.net开发人员进行Java(框架/生态系统等)培训。我们有很多用C#编写的代码,而所有这些似乎都将被浪费掉,因为我们必须用Java重新编写它们。我看到的问题是,在第一年左右(可能是两年),我们将没有什么可以交付的,因为我们将花费大部分时间复制我们以前使用的Java,但现在使用的是Java

由于我们的团队分布在世界各地的不同办公室,我们有大量的java开发人员(20到30名)和10名使用.net的开发人员,因此我们希望让所有开发人员使用相同的语言/平台,以便我们可以开始重用组件/模块。所以我能理解管理层的观点

昨天我遇到了Scala,我想知道在当前产品(用C#编写)中使用它是否更好,这样至少一年后我们会有一个可用的产品。同样在一年内,我们有了可以在Java世界中使用的模块,同时我们也迁移了产品的其他部分

这样行吗


JD

大卫·波拉克最近写了几篇关于这一点的博客文章。他的观点很清楚,对于Scala来说,你的团队将是一个非常糟糕的选择


您是否在问是否可以使用Scala来编译您的C#代码?唉,如果人们停止回答他们不理解的问题…@AngelO'Sphere IMHO这个问题属于程序员,因为它不是特定于实现的。我不知道他们为什么喜欢关闭而不是移动它。总而言之,Scala需要大量的个人投资才能很好地编程。您团队中的人员不太可能投入大量的时间和精力学习Scala,以从中获得好处。您如何判断他们不太可能投入时间?Scala最适合于熟悉函数式编程的人员,例如具有强大数学背景的人员。如果你有面向对象的过程背景,你仍然可以使用Scala,但要想获得它的好处需要付出大量的努力。如果你在c#代码中大量使用LINQ,并且熟悉基本的FP概念,Scala可能是更好的选择。如果不是的话,你永远不会发现有人抱怨Java有更好的工具……有趣的文章,尽管我认为Pollak在很大程度上夸大了他的观点。此外,Pollak正在谈论说服一个团队从Java转换到Scala。OP的情况则不同:他说的是无论如何都会发生的变化,所以选择不是无所事事与学习Scala的相对优势:而是从C#迁移到更原始但相当相似的语言(Java)或迁移到更高级、更强大、更美好的语言(Scala)。如果我是一名C#程序员,我肯定会认为学习Java是一种回归。