微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

工具集的选择:scala,ruby,java等等

我是从头开始新开发项目的团队的一员.
目前它是基于业余爱好,但我们的目标是让它成为我们的生活
在1 – 2年的时间范围内.
我们是来自多种语言和技术的高级开发人员
过去几年里,人们对 Java的关注很多.

现在,我们正在考虑选择工具集和语言(未来是
从头开始时很亮.
我们希望能够有效地使用现代建筑并拥有
良好的Java和其他基于JRE技术的经验.

该项目简而言之很多I / O,数据库和可能的体面UI
需要基于网络,感觉非常有效.

一条路线是使用GWT的经典Java和构建UI(或GWT之上的层),
一个是斯卡拉电梯.

然后还有其他基于Ruby,Groovy等的技术.

我的问题是:你会选择什么作为新的长期工具
项目如上所述. Scala在这里是留下来还是一个
只有暂时炒作的人?

您从头开始考虑对大型项目采用哪些其他技术?

解决方法

可能你最大的二元选择是你是否决定通过Java或其他编译为字节码的语言继续使用 Java Virtual Machine(JVM),或者转移到其他平台,可能是Ruby或Python(具有使用的复杂性)这可能需要不同的架构/操作系统).就个人而言,我认为我非常想坚持使用JVM,因此您的语言选择将是……

斯卡拉

我可以给出的只是我自己从Java背景中获得的经验:通过自然地集成到Java生态系统中以及以相同方式继续使用几乎相同的工具集的能力,迁移到scala变得容易.

通过这最后一点,我的意思是scala的静态类型性质意味着所有重构和代码导航机会仍然可供开发人员使用,但scala的类型推断意味着这不会在代码中散布不必要的类型声明冗长.

我仍然可以使用我最喜欢的东西,如Spring,ant,IDEA,我仍然可以使用我用Java编写过的所有库(这是一个选择与Java集成的语言的论据,如Ruby,Smalltalk或Python).

从scala是否作为JVM语言保留的角度来看,这是我最关心的问题.但考虑到有多少关于SO的问题被标记Jython(161),JRuby(176),clojure(388)和Groovy(661),假设您希望留在JVM上. scala现在不仅远远超过这些(815),而且正以相当快的速度增长.

最后,虽然我没有使用过Lift,但是同事对它的印象非常深刻(如果我正在编写Web应用程序,我可能会考虑它).我发现脂肪 – 客户替代品(scala swing)不仅可以使用(无论如何都比原始摆动更好!).

Groovy的

值得注意的是Groovy recently said的创建者,他知道Scala的存在,他永远不会打扰创建Groovy!

 JRuby / Jython

我将这两种语言混为一谈,因为它们都代表了将动态语言的语法移植到JVM上的尝试.除非您已经熟悉这种语法,为什么还要费心去沿着这条路走?我必须说,SO统计数据(上图)并未表明这些动力目前具有动力.

我还认为从静态编译到动态语言是一个很大的步骤,你可能会对你错过的东西感到惊讶(在重构和开发助手等方面) – 你也可能关心这个问题这些语言的性质makes them over an order of magnitude slower than Scala.

Clojure的

我对clojure没有真正的意见,除了说具有强制性的背景,它的语法是可怕的,它的流程非常陌生.我对functional paradigm的印象越来越深刻,但我觉得clojure对我来说太过分了;我会用这种语言的水中的鱼,没有LISP/Scheme的经验.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐