Scala, Groovy, Clojure, Jython, JRuby and Java ----我们的工作语言
在曾经的一封邮件中,我指出在众多改变中,最明显的一个就是:在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 ----我们的工作语言的更多相关文章
- Java 下一代: 函数式编码风格——Groovy、Scala 和 Clojure 共享的函数结构及其优势
原文地址 本文内容 命令式处理 函数式处理 函数式编程的优势 所有 Java 下一代语言都包括函数式编程结构,让您可以从一个更高的抽象层面来思考问题.然而,语言间术语的不同使得难以看到类似的结构.本期 ...
- [转载] 详述三种现代JVM语言--Groovy,Scala和Clojure
转载自http://www.tuicool.com/articles/jYzuAv和http://www.importnew.com/1537.html 在我与Martin Fowler曾经合作呈现的 ...
- Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)
摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...
- 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 & ...
- 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 ...
- Java动态调用脚本语言Groovy
Java动态调用脚本语言Groovy 2019-05-15 目录 0. pom.xml添加依赖1. 使用GroovyShell计算表达式2. 使用GroovyScriptEngine脚本引擎加载Gro ...
- Groovy轻松入门——通过与Java的比较,迅速掌握Groovy
转自 :Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18) 在前几篇文章中,我已经向大家介绍了Groovy是什么,学习Groovy的重要性等内容,还不了 ...
- Java 调用执行其他语言的程序
以 Java 调用 Python 为例 1. 使用 Runtime 类 该方式简单,但是增加了 Java 对python 的依赖,需要事先安装python,及python程序依赖的第三方库 Runti ...
- 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...
随机推荐
- 不用call和apply方法模拟实现ES5的bind方法
本文首发我的个人博客:前端小密圈,评论交流送1024邀请码,嘿嘿嘿
- Hyper-v: Snapshot merge
我有一个Hyper-V上的虚拟机, 在使用的过程中我给这个虚拟机创建了多个snapshots. 有一天我把整个的snapshots tree从root删掉了(delete snapshot with ...
- Linux/UNIX线程(2)
线程(2) 线程同步 当多个控制线程共享同样内存时,须要确保每一个线程看到一致的数据视图.假设每一个线程使用的变量都是其它线程不会读取或改动的,那么就不在一致性问题. 当两个或多个线程试图在同一时间改 ...
- js 实现纯前端将数据导出excel
通过将json遍历进行字符串拼接,将字符串输出到csv文件,输出的文件不会再是html类型的文件而是真正的csv文件,代码如下 <html> <head> <p styl ...
- java 中文与unicode互转
public class FontUtil { public static void main(String[] args) { System.out.println(chinaToUnicode(& ...
- 菜鸟的mongoDB学习---(七)MongoDB 备份(mongodump)与恢复(mongorerstore)
MongoDB数据备份 在Mongodb中我们使用mongodump命令来备份MongoDB数据. 该命令能够导出全部数据到指定文件夹中. mongodump命令能够通过參数指定导出的数据量级转存的s ...
- OpenShift负载分区策略(Router Shading)
在很多场景下,单靠几个在Infra节点上的Router进行服务请求的转发是不够的,项目中很多时候都有流量隔离的需求,主要场景在于: 一个集群中的不同的环境的流量隔离需求,比如开发走几个Router,生 ...
- [Ubuntu]明明白白安装中文字体
Ubuntu 6.06 dapper对中文的支持应该说是一向不错的,包括现在默认安装就包含了scim输入法.然而,一般安装的ubuntu虽然能够显示.输入中文了,但总觉 得所显示的中文像歪瓜裂枣,很是 ...
- ArrayList的使用和List<T>的比较
使用非泛型集合类的限制可以通过编写一小段程序来演示,该程序利用 .NET Framework 基类库中的 ArrayList 集合类.ArrayList 是一个使用起来非常方便的集合类,无需进行修改即 ...
- 【python】gevent学习
之前测试了stackless,感觉不太好. 不过python作为最火的脚本语言,还是吸引力难挡. python的协程方案,除了stackless,还有greenlet, 相应的事件框架也有gevent ...