写点什么

JVM 语言 Xtend 优缺点速览

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

    阅读完需:约 3 分钟

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:592729
用户头像

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

关注

评论

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

wkhtmltopdf实践

风翱

4月日更 wkhtmltopdf

让孩子爱上阅读(二)

箭上有毒

读书笔记 4月日更

架构实战营 - 模块 2- 作业

冬天的树

阿里巴巴用实践告诉你,架构师到底需要掌握什么样的技术?

Java架构师迁哥

陪伴的进化

小天同学

陪伴 爱情 个人感悟 4月日更 亲情

Seldon 使用 (三): 模型服务如何运行

托内多

tensorflow kubeflow Kubernetes PyTorch seldon

架构实战营 - 模块二作业

凯迪

架构实战营

阿里致敬武侠首发“Java架构修炼笔记”,深入内核,拒绝蒙圈

Java架构师迁哥

模块2作业

灯火阑珊

如何做向上管理?

石云升

28天写作 职场经验 4月日更 向上管理

Linux ifconfig 命令

一个大红包

4月日更

模块2-微信朋友圈高性能架构设计

yu

这套Java面试题推出第二天就惨遭全网封杀!已帮我拿下15个Offer

Java架构追梦

Java 阿里巴巴 架构 面试 金三银四

nginx反向代理和负载均衡策略实战案例

赖猫

nginx

Spark运行状态监控与优化

小舰

4月日更

架构实战营 模块二:课后作业

👈

架构实战营

架构实战营 模块二:学习总结

👈

架构实战营

重读《重构2》- 引入参数对象

顿晓

重构 4月日更

架构实战营 - 模块二作业

Sun

我是如何从零开始学Python: (1)如何选择合适的Python学习工具?

广之巅

Python 4月日更

【LeetCode】存在重复元素 III Java题解

Albert

算法 LeetCode 4月日更

WEB-API的设计与开发

GeekYin

HTTP 软件设计 web tech

2020从干饭人到打工人

空城机

生活 生活记录 杂记 4月日更

采访彩食鲜 CTO 乔新亮:数字时代,企业如何完成数字化转型?(采访提纲)

xcbeyond

数字化转型 4月日更 人物访谈

微信朋友圈的复杂度分析

Fleng

架构实战营

增强产业链供应链自主可控能力,区块链能否贡献力量?

CECBC

区块链

Github接近10w点赞!阿里巴巴内部Java面试参考指南

Java 程序员 架构 面试

Nacos实践

程序员架构进阶

源码分析 微服务 nacos 28天写作 4月日更

业务架构训练营第 0 期模块二作业

目标一个亿

Flutter 学习笔记(二) Container 组件

U2647

flutter 4月日更

华为“引商”,VR“刻羽”,共觅知音人

脑极体

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