有人用Groovy,Scala和Clojure这数学的三种语言言吗

比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
JVM 平台上的各种语言的开发指南
关键字:Java
  为什么我们需要如此多的JVM语言?
  在2013年你可以有50中JVM语言的选择来用于你的下一个项目。尽管你可以说出一大打的名字,你会准备为你的下一个项目选择一种新的JVM语言么?
  如今借助来自像Xtext和ANTLR这样的工具的支持,创建一种新的语言比以前容易多了。个体编码者和群体受突破和改进现存JVM语言,以及传统Java的限制和缺陷的驱使,让许多新的JVM语言应运而生。
  新的JVM语言开发者感觉他们的工作室针对现存语言的产物――现存的语言提供了太过受限制的功能,要不就是功能太过繁杂,导致语言的臃肿和复杂。软件开发 在一个的范围被应用,于是一种语言的有效性就决定于它跟特定任务领域的相关性,或者它如何在更广泛的范围中通用。所有这一切导致了资源库和框架的开发。
  大部分人大谈特谈JAVA语言,这对于我来说也许听起来很奇怪,但是我无法不去在意。JVM才是Java生态系统的核心啊。
  James Gosling,
  Java编程语言的创造者 (2011, TheServerSide)
  如此多的语言存世,语言的坟场是否会饱满呢?这里有一个潜在的风险,市面上可供使用的选择太多,将会导致许多语言由于足够的关注和社区贡献而无法生存发展下去。
  然而要在这个行业生存下去,必须基于创新和创造――这些往往来自于一个从零开始,并且放弃现有的抱怨和成见,在一块白板上面起家的项目。
  这里有我们将自然而然遵循的:现有的语言建设和框架帮助建造起来的社区支持了Java生存,并且也使得下一代Java和新的创意、结构和范式,这些东西的产生成为可能,最终将使它们的方式体现在现存的语言当中。
  Rebel Labs的报道了概览了Java 8,Scala,Kotlin,Ceylon,Xtend,Groovy,Clojure和Fantom。但是如此多的JVM语言可供选择,我们如何会只看中这8种选择?
  Rebel Labs 的团队就如何出这样一份报告,还有选择哪种语言,进行了六个月的讨论。最基本的,我们想要呈现给每个人一些东西:Java是一种极其著名,应用广泛的语 言,但是Java 8拥有许多我们想要一探究竟的新东西。Groovy,Scala和Clojure已经找到了它们在市场中的核心竞争力,并且变得越来越流行起来,而像 Ceylon,Kotlin,Xtend和Fantom在我们的涉猎中相对还比较新颖,需要经受一些考察来获得信任。
  我们的目标是建立对每一种语言的认识,它们是如何进化的,未来将走向何方。因此在这份报告中,你将会看到我们阐述对于这些语言的第一印象,包括那些给我们带来震撼的特性,以及不那么能打动人的特性。
  你将会看到一个HTTP基础实现的源代码示例,它链接到了GitHub,因此你可以同我们一道来探讨它。
  一小段历史
  最开始只存在Java,它是用于在JVM上编程的唯一选择。但是这个行业很早就满足了对在JVM上面编程的更多和潜在的选择需求。在脚本领域首先出现了 Jython,JVM的一种Python实现,还有Rhino和JavaScript的JVM引擎,它们出现在1997年,跟着就是2000年的 BeanShell和2011年的JRuby。
  由于对于动态定制应用程序的需哟,在那时脚本设施的需求很旺盛。如今,像 WebLogic和 WebSphere这些器都使用Jython脚本来执行操作,而Rhino也被绑定在Java 6上面,使得JavaScript成了JVM上的一等公民。
  然而,脚本设施不是唯一一个让基于JVM的可选编程语言滋生的因素。归因于Java的向后兼容性原则,为了提供一些Java或者它的标准库没有提供的新颖特性,可选语言开始出现了。Scala和Groovy就是最先提供了一些东西超越了Java的成功项目.
  我们可以观察到一种有趣的现象:大部分新晋的编程语言都利用了静态类型。使用Scala,Ceylon,Xtend,Kotlin和Java本身的开发者 都依赖于在编译时验证目标类型。Fantom在动态和静态类型之间找到黄金的平衡中点,而Groovy,尽管一开始是一种动态语言,但是如今也在其 2012年的2.0发行版中也开始加入编译时的静态类型检查了。Clojure――有点Lisp的味道――是坚持使用动态类型,但唯一还收到合理拥泵的 JVM编程语言,然而一些在的大型团队中工作的开发者择认为这会是Clojure的一个缺陷。
  运行在JVM上的新的编程语言,已经有从定制化应用程序的动态脚本语言,向着一般意义的静态的应用程序开发语言改变的趋势。
  Java仍然是最常使用在JVM上的编程语言,而随着Java 8发行版的到来,Java将尝试在语法美学和多核编程方面,跟上时代的潮流。
  在 Github Repo 上代码样例
  在几个JVM语言的引擎下这会变的很geek。 在这篇文章中,我们从新的角度看Java(换句话说, 在Java 8中), Scala, Groovy, Fantom, Clojure, Ceylon, Kotlin 和XtendCmostly, 并且给出最吸引我们和我们最深刻的印象。
  每一个语言都有自己的 HTTPServer 样例 ,它们都在 github 上。你可以检查我们的代码,所有在这篇文章的JVM 语言 都在这:
[ 责任编辑:jj ]
去年,手机江湖里的竞争格局还是…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注ChinabyteJava 和它的兄弟们 - 编程语言 - ITeye资讯
相关知识库:
开发商ZeroTurnaround近日发布了一份长达50页的报告《》,详细介绍了Java和其他一些基于JVM的编程语言。(JRebel是一款JVM插件,它使得Java开发者能在不进行重部署的情况下,即时看到代码改变对应用程序带来的影响)
该报告介绍的语言包括Java 8、Scala、Kotlin、Ceylon、Xtend、Groovy、Clojure和Fantom,其中涵盖语言的由来、演化、未来发展以及主要特性等。并提供了一些托管在Github中的示例。
下面是报告中包含的编程语言时间表,显示了语言的起始时间和目前状态。
报告中,对于每种语言,先是给出了一个大致介绍,然后挑选出一些特有的功能,比如,Java 8中的lambda表达式、Groovy中的静态类型、Clojure中的函数式并发编程等。大致内容如下:
简介及历史:介绍,JVM语言时间表,Github上的代码示例
Java 8:开始使用Java 8,lambda表达式,JDK8功能接口,defender方法,专家评估报告
Scala:开始使用Scala,与Java的主要区别,case类,模式匹配,字符串
Groovy:开始使用Groovy,闭包,集合,静态类型
FANTOM:入门,pods/scripts,标准库,互操作,静态和动态类型,持久性和并发性,函数和闭包
Clojure:开始使用Clojure,IDE支持,读取/求值/打印/循环(Read-Eval Print Loop),函数式编程,与Java互操作性,并发性
Ceylon:入门,在JBoss中构建,与Java的互操作性,语言作者评论
Kotlin:入门,如何编写优雅、安全的代码,函数和文档,语言作者评论
XTEND:入门,XTEND代码转换成Java代码,包含哪些无法在Java中使用的功能,与Java的互操作性,代码片段,语言作者评论
报告下载:
(934.2 KB)
下载次数: 468
开发这么多东西, 有什么鸟用, 能当饭吃, 还是能当女人........................&&&
asterman 写道syx 写道Scala用过一个小项目,还好是小项目,不然会搞死人啊、、、我用基于scala 的 play2.1开发了一个网站食美特
,数据库链接使用的是slick,slick的确很难受,生成的sql语句很糟糕scala 开发起来很爽,但是维护起来,感觉就不爽了
syx 写道Scala用过一个小项目,还好是小项目,不然会搞死人啊、、、我用基于scala 的 play2.1开发了一个网站食美特
,数据库链接使用的是slick,slick的确很难受,生成的sql语句很糟糕
开发这么多东西, 有什么鸟用, 能当饭吃, 还是能当女人...
dt_flys 写道 JVM也显得拥挤了啊那X86不是都要挤破房间了?
正在用破解版的。
支持Oracle收购jrebal,把jrebal纳入jvm,java已经多年没有颠覆式的变化了
Scala用过一个小项目,还好是小项目,不然会搞死人啊、、、
JVM也显得拥挤了啊
相关资源推荐JVM语言“三巨头” – Scala Clojure Groovy - ImportNew
| 标签: , , ,
最近举行了两次大型的JVM编程语言的投票 (, )。这些投票产生了一些非常有趣的数据。由于投票者来自不同的阵营,两次投票结果之间也稍有不同。
在我参与的投票中Clojure进展非常顺利(领先Scala和Groovy),因为投票者中很多来自喜爱LISP的HackerNews团体。另一场DZone的投票也吸引了一长队的投票者(主要是dzone的Java开发者团体),最受欢迎的是Groovy,其次是Scala,Coljure紧随其后。两个投票结果都表现出来的相同点是JVM语言“三巨头”(Scala、Clojure和Groovy)远远领先于其他所有语言。这个超凡脱俗的组合代表着最受开发者支持的非正统的JVM开发语言。
为了更清晰的看出两次投票中各语言的人气,我整合了投票结果数据,画了一张图。“三巨头”和JRuby(鼓励奖)包含在图中。可以看到整合后的数据中Scala、Clojure和Groovy的投票量非常接近:
开发者中的人气并不绝对意味着商业应用的热度。从海量的招聘网站中采集数据,作为反映商业应用情况的理想数据源。从它提供的职位趋势系统中查询三巨头语言,结果十分有意思:
Groovy和Scala两者的数据都显示出强劲的商业应用热度,Clojure则远远落后、上涨缓慢。这和DZone投票结果是一致的,并且验证了我的理论,Clojure的支持绝大部分来自业余爱好者和lisp黑客,而不是商业组织。
Groovy在图中名列第一。三巨头包含了两个动态类型的语言(Groovy、Clojure)和一个静态类型的语言(Scala)。
最近几年最振奋人心的成果是围绕新兴JVM编程语言发展而来的欣欣向荣的生态系统,而10年前的这个时候,CLR(.NET提供的,译者注)正被宣告为支持多种编程语言的运行时。感谢广大团体的积极努力,JVM正成为新兴语言、创新和研究的优先选择。
英文原文:,编译: -
译文链接:
【如需转载,请在正文中标注并保留原文链接、译文链接和译者等信息,谢谢合作!】
关于作者:
现任支付宝架构师,负责监控分析域的架构和产品设计。架构时严谨,编码时疯狂。新浪微博:
我是没觉得你这样改让代码变得优雅了
花溪的小石头
关于ImportNew
ImportNew 专注于 Java 技术分享。于日 11:11正式上线。是的,这是一个很特别的时刻 :)
ImportNew 由两个 Java 关键字 import 和 new 组成,意指:Java 开发者学习新知识的网站。 import 可认为是学习和吸收, new 则可认为是新知识、新技术圈子和新朋友……
新浪微博:
推荐微信号
反馈建议:@
广告与商务合作QQ:
– 好的话题、有启发的回复、值得信赖的圈子
– 写了文章?看干货?去头条!
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 活跃 & 专业的翻译小组
– 国内外的精选博客文章
– UI,网页,交互和用户体验
– JavaScript, HTML5, CSS
– 专注Android技术分享
– 专注iOS技术分享
– 专注Java技术分享
– 专注Python技术分享
& 2017 ImportNew登录以解锁更多InfoQ新功能
获取更新并接收通知
给您喜爱的内容点赞
关注您喜爱的编辑与同行
966,690 九月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
Java之外,选择Scala还是Groovy?
Java之外,选择Scala还是Groovy?
0&他的粉丝
日. 估计阅读时间:
:Facebook、Snapchat、Tumblr等背后的核心技术
Author Contacted
语言 & 开发
43 他的粉丝
0 他的粉丝
1 他的粉丝
0 他的粉丝
3 他的粉丝
1130 他的粉丝
1 他的粉丝
相关厂商内容
相关赞助商
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
Groovy Web
Agreed,如今许多软件致胜的关键(功夫)恰在程序语言之外。
Re: Groovy Web
Groovy 是 Java 的补充
Re: Groovy 是 Java 的补充
目前Scala占绝对优势
Re: 目前Scala占绝对优势
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
赞助商链接
架构 & 设计
文化 & 方法
<及所有内容,版权所有 &#169;
C4Media Inc.
服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
找回密码....
InfoQ账号使用的E-mail
关注你最喜爱的话题和作者
快速浏览网站内你所感兴趣话题的精选内容。
内容自由定制
选择想要阅读的主题和喜爱的作者定制自己的新闻源。
设置通知机制以获取内容更新对您而言是否重要
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
我们发现您在使用ad blocker。
我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。}

我要回帖

更多关于 三种语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信