新的绿地项目应该选择Java还是Scala?

7

6
我认为错过使用Scala进行全新项目的机会将是一个很大的错误。 - Randall Schulz
1
真正限制和严重惩罚Scala的是他们让在现有的Java项目中“逐渐添加一些Scala”变得非常痛苦。如果他们稍微花点功夫改进这一点就好了...但当然,那可能比创建另一种针对JVM的编程语言更困难 ;) - SyntaxT3rr0r
4
@WizardOfOdds 怎么样?我认为逐渐添加一些Scala非常容易。 - Daniel C. Sobral
4个回答

11

如果你需要选择Java或Scala,你应该选择Scala。Spring、Hibernate等工具在Scala下运行良好,所以如果你能立即使用它就用Scala吧。目前,IntelliJ的Scala工具也不错。与六个月到一年前相比,Scala的工具现在更加完善。

然而,我必须提醒你......对于仅进行网站开发而言,Java平台已经变得十分臃肿。我曾经是一个九年Java软件架构师,最近开始接触Scala,所以我对这些平台有偏见。即使如此,如果你只想做一个在数据库上提供适度功能的应用程序,你应该使用Grails,甚至是Rails(尽管Grails可能更适合你的技能)。

我不建议你使用Lift来写Scala,除非你已经了解函数式编程。


非常感谢Egervari,提供了非常有用的信息。 - sirmak

4

这取决于您想要使用哪种类型的Web应用程序,尽管我会选择Java,因为它有大量的代码和API库以及庞大的社区。


1
同意。庞大的用户群和丰富的API非常重要。 - cherouvim
13
你可以在Scala中使用几乎所有的Java代码,所以我不确定为什么这是一个很大的问题。 - Jackson Davis

3

我仍然是Java Spring的忠实粉丝。有些人认为它可能有点笨重,但是通过注释和自动装配,您可以非常快速地组合Web应用程序。此外,使用Java,您可以访问整个Apache commons的大量开源库。

我不太喜欢Scala / Lift的一件事情是视图和控制器之间的界限有点混淆。使用Java Spring,特别是如果您为视图使用像Apache Velocity这样的模板语言,则视图和控制器之间有明确的区别。

总的来说,取决于您的项目规模,我认为Scala和Java之间没有太大的区别。两者都能胜任您的工作。如果您的项目有成为非常大的潜力,则我会选择Java,因为它具有成熟性并且具有大量成熟的开源库可供使用。


4
你几乎可以轻松地从Scala中使用任何Java库,因此有许多成熟的开源Java库并不是选择Java而不是Scala的真正原因。 - Jesper

2
我认为这取决于您的Web应用程序规模和人力资源。您是否有能够快速掌握新技术的优秀程序员?您还需要关注项目的截止时间和预算。
如果新技术确实适合您的项目,那么现在可能是尝试新技术的好时机。Java在社区中仍然占据着强势地位,并且您还可以找到许多支持和开源框架。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接