写点什么

JVM 语言 Xtend 优缺点速览

  • 2014-08-19
  • 本文字数:859 字

    阅读完需:约 3 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

Xtend 是 Eclipse 推出的一门静态类型的编程语言,它会编译成易于理解的 Java 代码。Xtend 源于 Java 并对它做了许多改进。它对于 Java 就像 CoffeeScript 对于 JavaScript:代码更简洁,可以帮助开发人员减少样板代码。此外,Xtend 还提供了一个基于 Eclipse 的 IDE,并且实现了与 Eclipse Java 开发工具的紧密集成。

近日,Java 开发和软件架构网站 jaxenter.com 发表了一篇文章,探讨Xtend 的优缺点。

本文认为,可以实现与Java 的零问题互操作是Xtend 最值得夸耀的一点。这一点是其它JVM 语言,像Scala、Clojure 和Groovy,都缺乏的。Xtend 能做到这点,是因为它有与Java 相似的类型系统,因此在Java 和Xtend 代码之间就不会出现任何“阻抗失配(impedance mismatch)”。本质上讲,这意味着Java 代码和Xtend 代码可以互相调用。更重要的是,熟悉Java 类型系统的人学习Xtend 会很简单。

其次,它是一门更简洁的语言,可以帮助开发人员减少样板代码。下面是《Xtend 用户指南》中的一个示例:

@Property String name对于上面这行代码,Xtend 编译器会生成一个 String 类型的 _name 字段,并生成相应的 getter 和 setter 方法。

此外,Xtend 允许开发人员使用 lambda 表达式。它会将 lambda 表达式编译成匿名内部类。这非常适合需要点击监听功能的 Android 开发人员。而且,自 2011 年出现在 Eclipse 版本序列中之后,它已经证明,对于 Android 开发人员而言,它是一门方便的语言。有一位评论员甚至将它称为Android 的Swift。Xtend 联合创始人Efftinge 表示,“用Xtend 编写的Android 应用程序和用Java 编写的一样快,但可读性更强”。

但是,Xtend 现在还很不完善,其中一个最大的缺点是不支持IntelliJ IDEA。还有一个问题是,构建APK 时需要额外的编译步骤,这使得一个Android 应用程序需要大约20 秒才能编译完整个项目。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-19 03:592116
用户头像

发布了 256 篇内容, 共 83.2 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

软硬协同造就极致性能 天翼云紫金DPU打造为云而生的全新一代云计算体系结构

Geek_2d6073

RayLink测评 | 完全免费,功能超越同类付费远程控制软件!!

RayLink远程工具

远程控制软件 远程办公软件 远控软件

BI-数据可视化 | 年度干货合集

搞大屏的小北

数据可视化工具 BI 分析工具 BI分析 市场分析

跨浏览器测试策略

FunTester

华为云对象储存OBS,为企业提供优秀且安全的数据储存环境

清欢科技

实力是最好的武器!华为云ECS助力企业更好发展

IT科技苏辞

HTTP的四种认证方式

穿过生命散发芬芳

HTTP 12月月更

解决“双十一”电商行业数据存储难题,华为云OBS值得期待

清欢科技

助力企业降本增效:华为云ECS,助力企业数字化转型需求

IT科技苏辞

存储数据如何更省钱?华为云告诉你!

清欢科技

还在为数据存储而烦恼?不妨进来看看华为云对象存储服务OBS

清欢科技

推动企业稳定发现,华为云大数据助力能源企业纾困

秃头也爱科技

打碎软件应用,在产业互联场景中串联—钉钉7.0关注企业间高效协同

B Impact

支持故障自动秒级检测,华为云VPN更省心!

IT科技苏辞

共创、共享、共赢云生态,华为云ECS助力企业轻松上云

IT科技苏辞

数字经济时代,为什么华为云ECS能获得更多用户的青睐?

IT科技苏辞

华为云OBS对象存储:企业“上云”的好帮手

清欢科技

提升企业决策能力,华为云用大数据BI助力企业腾飞

秃头也爱科技

2022-12-30:某天小美进入了一个迷宫探险,根据地图所示,这个迷宫里有无数个房间 序号分别为1、2、3、...入口房间的序号为1 任意序号为正整数x的房间,都与序号 2*x 和 2*x + 1

福大大架构师每日一题

算法 rust 福大大

Android程序签名打包

芯动大师

Android Studio 打包签名 签名的含义

【web 开发基础】如何调换数组中的键和值(53)

迷彩

数组合并 数组操作 PHP基础 数组整理

【web 开发基础】PHP8中数组的序列化和反序列化(54)

迷彩

数组 对象 序列化 反序列化 PHP基础

华为云ECS弹性服务器,加快企业数字化转型的进程!

IT科技苏辞

海量、安全、高可靠的华为云对象存储服务OBS,助力企业数据存储降本提效

清欢科技

阿根廷夺冠梅西加冕,球场外视频平台角逐世界杯

易观分析

视频 足球 卡塔尔世界杯

【冲破信息孤岛】华为云大数据BI,助力金融行业进行数字化转型

秃头也爱科技

大数据一站式服务,华为云大数据BI驱动企业业务线增长

秃头也爱科技

华为云对象存储,助力企业驶入“数据快车道”

清欢科技

不止于大,华为云对象存储服务OBS的全能一面

清欢科技

华为云对象存储OBS,助力企业降本增效

清欢科技

【web 开发基础】PHP中的类和对象(55)

迷彩

面向对象 封装、继承、多态 类与对象 PHP基础

JVM语言Xtend优缺点速览_JVM_马德奎_InfoQ精选文章