在曾经的一封邮件中,我指出在众多改变中,最明显的一个就是:在java领地上的JVM上使用其它流行的语言的发展变得越来越快。一些老的和新的创建的基于JVM的语言---JRuby 和 Jython ,Java风格的语言---Groovy 和Scala 和brand ,新语言---Clojure 和 Kotlin,这些语言为我们提供了选择------得到JVM的性能和可靠性却能够使用一种不同的语法。

在一个理想的世界里全部的开发人员都能够自己选择的自己的语言。

现实情况是,作为开发人员,我们被适合(我们的)语言和支持这个工具的公司实际上使用什么语言所约束。首先。你选择的适合你的领域的语言---能让你的工作高速easy,更重要的是对于你们的非功能化需求比如:性能能够变得高速easy。其次,没人愿意成为使用简单的编辑器来处理编码过程-苦力(码农)。是的,我知道,我们都能够使用Vim和Emacs或者流行的IDE比方IntelliJ或Eclipse等,来easy和迅速地完毕大片代码的重构(你好TDD!

)。第三。现实的情况是,在我们的位置上(职位上)非常少能指导(决定)我们的雇主选择什么语言。

学习一种不断上升人气的语言意味着你在未来有很多其它的就业机会,但是雇主却决定着语言的选择权。

其实。很多公司夸耀他们使用最新的语言,由于它使他们更具吸引力来招聘他人。

你差点儿不能不关注微博和推特上的人们在大喊大叫“我们的公司已经被新的语言改变了开发流程”但是这个场面是真的么?

在Indeed.com上有一个实用的业界认可的我们能够继续工作的趋势图。在Tiobe爷爷辈的语言图中,但是在以下两点上却没实用。a) 
它没有提供足够的信息 b)它是简单的游戏。—是的我们知道是Delphi干的(yes
Delphi dudes)。如今。在你抱怨之前,我知道使用这种(处理方式)从完美和科学的角度是远远不够的还有非常长一段路要走。但除非你想做一个纵向研究。询问全部的公司。他们使用的是什么?相信他们的答案都是真实的而不是营销的上的噱头,来说明它可能是足够好来解释(语言的流行)

那么,这能告诉我们关于行业怎样看JVM的主要语言:Java。Groovy。Scala。Clojure。Jython和JRuby *。当我们一览(关注)全部在工作中涉及到的语言所占比例的时候会发生什么呢?

嗯,好……非常明显,在业界虽然关于其它语言有的喧嚣之声不绝,Java仍然是大量存在。在就业市场上差点儿占有3.5%的工作都对Java的知识有要求。我们都知道。Java是一个行业重量级的,但有点惊讶,相比其它语言是一个难以分辨的线。

总计都近0线,他们就须要一些大量的,指数性增长才干開始威胁到Java。

当你拿走Java会发生什么情况

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdGluX2JrZHJvbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

这是一个有趣的多。首先,Jython是比其它Java真的接受了JVM上的第一语言。Groovy開始回升2007,非常快成为替代语言第一,毫无疑问。而由Grails,Clojure和JRuby从来没有得到太多的支持。虽然在过去18个月左右開始的上升。我认为最有趣的一点是,在Scala的接受近期有所添加。

眼下排Jython后排第三,梯度表明,它将非常快进入第二。把Scala和Groovy置于一个相相应的基准,来比較他们的增长速率。我们就会看到例如以下。

于是我们能够看到,Scala最终超越了Groovy的增长率。于是我们能够说,当你想温习一下旧的Groovy课本也许看了一眼Scala, 但你能做的最好的事情就是保持你的Java水平(在这些语言中)顶层的位置。

业内人士关心的是Java是JVM语言的老大什么时候到头呢?只是看起来是在路上(被代替的路上)。

Scala, Groovy, Clojure, Jython, JRuby and Java ----我们的工作语言的更多相关文章

  1. Java 下一代: 函数式编码风格——Groovy、Scala 和 Clojure 共享的函数结构及其优势

    原文地址 本文内容 命令式处理 函数式处理 函数式编程的优势 所有 Java 下一代语言都包括函数式编程结构,让您可以从一个更高的抽象层面来思考问题.然而,语言间术语的不同使得难以看到类似的结构.本期 ...

  2. [转载] 详述三种现代JVM语言--Groovy,Scala和Clojure

    转载自http://www.tuicool.com/articles/jYzuAv和http://www.importnew.com/1537.html 在我与Martin Fowler曾经合作呈现的 ...

  3. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)

    摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...

  4. Scala 安装 Exception in thread "main" java.lang.VerifyError: Uninitialized object exists on backward branch 96

    windows下载安装完最新版本的Scala(2.12.4)后,终端如下错误 C:\Users\Administrator>scala -versionException in thread & ...

  5. logstash报错 :backtrace=>["org/jruby/RubyIO.java:1457:in `write'", "org/jruby/RubyIO.java:1428:in `write'"

    报错: [2019-04-16T15:54:07,827][FATAL][logstash.runner ] An unexpected error occurred! {:error=>#&l ...

  6. Java动态调用脚本语言Groovy

    Java动态调用脚本语言Groovy 2019-05-15 目录 0. pom.xml添加依赖1. 使用GroovyShell计算表达式2. 使用GroovyScriptEngine脚本引擎加载Gro ...

  7. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy

    转自 :Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18) 在前几篇文章中,我已经向大家介绍了Groovy是什么,学习Groovy的重要性等内容,还不了 ...

  8. Java 调用执行其他语言的程序

    以 Java 调用 Python 为例 1. 使用 Runtime 类 该方式简单,但是增加了 Java 对python 的依赖,需要事先安装python,及python程序依赖的第三方库 Runti ...

  9. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...

随机推荐

  1. Spring ListFactoryBean实例

    ListFactoryBean”类为开发者提供了一种在Spring的bean配置文件中创建一个具体的列表集合类(ArrayList和LinkedList). 这里有一个 ListFactoryBean ...

  2. Linq 分组(group by)求和(sum)并且按照分隔符(join)分割列数据

    转载:http://www.cnblogs.com/zq281660880/archive/2012/09/26/2704836.html 今天在使用linq处理一下需求时碰到一点小问题,特此记录. ...

  3. Wix使用整理(一)

    由于工作需要,学习了一段时间Wix,总算小有起色.鉴于国内Wix  的普及和使用有限,这里将个人遇到得问题和解决方案记录下来,以便交流和相互促进. Wix :全称 Windows Installer ...

  4. 采集音频和摄像头视频并实时H264编码及AAC编码[转]

    0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...

  5. 判断openfire用户的状态

    /** * 判断openfire用户的状态 * 说明 :必须要 openfire加载 presence 插件,同时设置任何人都可以访问 * /status?jid=user1@my.openfire. ...

  6. Ext面板

    <HTML> <HEAD> <TITLE>面板</TITLE> <link rel="stylesheet" type=&qu ...

  7. Andorid之Annotation框架初使用(五)

    注入res文件夹的资源: @StringRes @EActivity public class MyActivity extends Activity { @StringRes(R.string.he ...

  8. Flink及主流流框架spark,storm比较

    干货 | Flink及主流流框架比较 IT刊 百家号17-05-2220:16 引言 随着大数据时代的来临,大数据产品层出不穷.我们最近也对一款业内非常火的大数据产品 - Apache Flink做了 ...

  9. Win7+Qt5.6.0(64位)+msvc2015编译器 环境配置

    根据“Qt简介,Qt 5.6.0-VS2015 版本安装配置图文教程”安装第二套IDE,使用Qt官方的集成开发环境 QtCreator + 微软的WinDbg调试器(内含命令行调试器为CDB)的组合. ...

  10. Tapable 0.2.8 入门

    [原文:Tapable 0.2.8 入门] tapable是webpack的核心框架(4.0以上版本的API已经发生了变化),是一个基于事件流的框架,或者叫做发布订阅模式,或观察者模式,webpack ...