在曾经的一封邮件中,我指出在众多改变中,最明显的一个就是:在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. busdog is a filter driver for MS Windows (XP and above) to sniff USB traffic.

    https://code.google.com/p/busdog/ busdog is a filter driver for MS Windows (XP and above) to sniff U ...

  2. How to open a web site with the default web browser in a NEW window

    http://delphi.about.com/cs/adptips2004/a/bltip0504_4.htm When using ShellExecute (as explained in th ...

  3. gitignore : VisualStudio.gitignore

    https://github.com/github/gitignore/blob/master/VisualStudio.gitignore ## Ignore Visual Studio tempo ...

  4. [js插件]分享一个文章内容信息提示插件Colortip

    引用 项目中需要一个信息提示的功能,就上网找了一个插件,发现colortip实现比较简单,就定了这个插件. 实现过程 官网:http://tutorialzine.com/2010/07/colort ...

  5. Linux进程间通信—管道

    Linux下的进程通信手段基本上是从UNIX平台上的进程通信手段继承而来的.而对UNIX发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间 ...

  6. linux查找超过一定时间的文件,并批量删除

    1.find . -maxdepth 4  -name "*-*" -mtime 3 -maxdepth的值决定是否对下面的子目录进行递归查找 -mtime 3表示查找刚好3天的: ...

  7. 在Spark中尽量少使用GroupByKey函数(转)

    原文链接:在Spark中尽量少使用GroupByKey函数 为什么建议尽量在Spark中少用GroupByKey,让我们看一下使用两种不同的方式去计算单词的个数,第一种方式使用reduceByKey  ...

  8. Android内存调试命令

    adb shell dumpsys meminfo 包名 比如: adb shell dumpsys meminfo cn.com.test

  9. Unity3D 浅谈被忽略的Quality [转]

    开始分享之前,我先墨迹几句... 最近在工作上,在交流群中,都会遇到一些问题.比如: 为什么打包Android Apk以后,图片变模糊了? 为什么移动端的阴影和电脑端不一样? 我的电脑明明配置很好,为 ...

  10. java学习笔记6--类的继承、Object类

    接着前面的学习: java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记 ...