继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Xtend语言(1):独辟蹊径的JVM语言

2018-06-05 12:03:298246浏览

神思者

9实战 · 7手记 · 5推荐
TA的实战

我是2004年开始学习Java语言的,那时候的Java是1.4版本,说实在的,最新的Java10跟我一开始学习Java时候的语法变化并不大。我相信很多人都会跟我有相同的感受:Java写的越多就越觉得语法十分啰嗦。看看隔壁家的Python、Ruby、Node.js……,编程效率快的不是一丁半点。

术业有专攻,写大型的互联网程序还是得老将出马,毕竟Spring良好的生态圈为我们提供了太多实用且省心的组件。既然还要用Java写程序又要兼容Java类库,就没有办法精简一下它那啰嗦的语法吗?说到这里,有的老鸟可能先想到的是Groovy语言。

图片描述

Groovy语言可是出身Sun公司正宗,按照百度百科的说法:Groovy是一种基于JVM的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。说到这里先上一段代码看看Groovy简练的语法。

class Test {
    public static void main(String[] args) {
        def address="辽宁省大连市";
        for(i in 0..<address.length()){
            println address[i]
        }

        def array=[10,20,30,40];
        array+=50;  //结尾添加50元素
        array<<100; //结尾追加100元素
        array-=10;   //删除集合中第一个10元素
        array-=array[0..2]  //删除前两个元素
        println array

        def map=[name:"李娜",sex:"女"];
        map+=[age:24];  //添加键值对
        map-=[sex:"女"]; //删除键值对
        println map;
    }
}

Groovy强大的表达式语法实在是让人眼前一亮,为什么这么好的语言没能推广开呢?主要的原因是运行速度太慢,平均速度慢于Java程序的两倍,甚至最高可以达到10倍,根本不能用于生产。

有的人可能想到了Kotlin语言,它可是JetBrains极力推广的语言啊,2017年的安卓大会上,谷歌正式宣布安卓系统支持Kotlin语言。2018年,《Think In Java》的作者Bruce Eckel也对Kotlin语言赞誉有加,宣称Kotlin语言将替代Java语言。

图片描述

一年前,我简单用了一下Kotlin语言,感觉没有别人说的那么惊艳,反而觉得Kotlin的语法跟Xtend相比仍然不够简洁,下面对比一下Kotlin和Xtend的语法,诸位自有评判。

//Kotlin语法
fun main(args: Array<String>) {
    var map= mapOf("name" to "李强","sex" to "男");
    println(map);
    var list= listOf(10,20,30,40);
    println(list);
}

最让人无法容忍是,Kotlin初次编译成Java居然用了13秒时间,后续的编译基本维持在4秒左右,体验非常不好。

图片描述

//Xtend语法
class Test {
    def static void main(String[] args) {
        var list=#[10,20,30,40];
        println(list);
        var map=#{"name"->"李强","sex"->"男"};
        println(map);
    }
}

Xtend程序实时编译成Java代码,编译速度快到根本察觉不到,所以说用过Xtend的开发者很难接受Kotlin。

图片描述

说到这里,Xtend语言究竟是从哪里来的?Xtend是IBM推出的一个新的JVM语言,具有简洁的语法和强大的表达式,提升了程序开发的速度。与其他JVM语言不同的是,Xtend会被Eclipse实时编译成Java源代码和Class字节码。开发者根本不必担心Xtend运行效率的问题,因为你运行的就是Java程序。另外,开发者不必担心Xtend与其他Java框架兼容和部署的问题,因为Xtend仅仅是在Java项目上添加了Xtend运行库,程序工程还是Java的,完全不必担心部署的问题。

所以说,很多Java的老鸟们,也许你也想过要精简Java的语法,但是又不习惯Kotlin的语法,那就试试Xtend语言吧,它的语法习惯与Java非常接近,非常容易学习,而且IBM还为Xtend添加了很多解决Java编程痛点的语法,下一篇文章,我会为诸位详细说说Xtend迷人的语法,敬请收看!

打开App,阅读手记
12人推荐
发表评论
随时随地看视频慕课网APP

热门评论

老师您好,这个xtend 可以在idea 里使用吗


请问神老师有粉丝群吗?

老师,您好,我想咨询一下,这个xtend中有没有continue这样的操作,有的话,要怎么写

查看全部评论