Eclipse推JVM语言Xtend 继续拥抱Java

原创
开发 后端
近日,Eclipse推出了新的JVM语言Xtend,它的本意并不是取代Java。而是为了更好的拥抱Java开发者。

【51CTO独家特稿】Eclipse宣称Xtend并无意替代Java,而是补Java之短,精简代码,无类型,改进可读和维护。Eclipse Xtend可以编译成可读的Java代码,类似CoffeeScript之与Javascript。

下载地址:http://www.eclipse.org/Xtext/xtend/#download

用Xtend编写Java代码

在Xtend中,可以直接得到Java代码。并且你可以在Eclipse中很直观的看到这些代码,即使你是从Java中进行调用的,你也能看到Xtend代码。

Xtend 

Xtend支持Eclispe工具

Xtend将支持Eclispe上的Java开发工具,另外的功能包括

语法着色

内容辅助

重命名重构

组织进口

快速修复

丰富的悬停

大纲视图

导航

开放式

渐进式编译

括号匹配

标记实例

... ... 和许多

Java类型系统

静态类型是不错的,因为它允许更好的静态分析和基于类型信息的更好的工具。然而,缺点是额外的复杂性(静态)类型系统。

Java类型系统尽管众人皆知,但看起来似乎还不太完美。

Xtend将重用能用到的一切。

  1. // qualified names  
  2. java.lang.Object  
  3. // primitives  
  4. booleanintlongchar, ...  
  5. // arrays  
  6. String[]  
  7. // generics  
  8. List<? extends CharSequence>  
  9. java.util.Map<String,String> 

不同的类型判断

变量声明

  1. val names = getTheListOfNames()  
  2. val List<String> names = getTheListOfNames()For-Loops   

 

for循环

  1. for (name : getTheListOfNames())      
  2. // do something with name    
  3. for (String name : getTheListOfNames())      
  4. // do something with name  

返回类型

  1. def getTheListOfNames() {  
  2.   newArrayList("Tomte","Pippi","Carlson")  
  3. }  
  4. def List<String> getTheListOfNames() {  
  5.   newArrayList("Tomte","Pippi","Carlson")  

Closures

  1. getTheListOfNames().map( name | "Mr. "+name )  
  2. getTheListOfNames().map( String name | "Mr. "+name ) 

 

 

【编辑推荐】

  1. 深入Java虚拟机JVM类加载初始化学习笔记
  2. 深入Java核心:JVM中的栈和局部变量
  3. 你不知道的5个JVM命令行标志
责任编辑:彭凡 来源: 51CTO
相关推荐

2011-11-08 10:30:05

Eclipse

2011-11-24 10:00:10

Xtend

2011-12-19 10:43:47

Azure微软云计算

2009-10-30 09:04:02

Eclipse微软Windows 7

2010-09-27 14:38:43

JVM内存设置Eclipse

2010-09-17 17:18:35

EclipseJVM

2017-04-01 11:31:06

互联网

2011-07-18 09:50:42

2012-05-21 13:28:02

EclipseJavaEclipse ADT

2009-04-09 18:43:20

Vmwareesx虚拟化

2010-09-17 17:23:41

EclipseJVM内存

2009-07-27 10:08:48

Java 7动态语言JVM

2009-06-25 09:11:47

Java之父GoogleJava

2013-03-04 10:20:23

JVM优化eclipseJVM

2009-07-08 13:22:48

JVM termina

2009-07-09 16:33:06

eclipse jvm

2010-10-22 14:43:09

移动开发

2010-09-17 13:45:40

JVM termina

2013-03-04 10:59:47

eclipseJVM

2013-04-03 09:37:10

JavaJVM
点赞
收藏

51CTO技术栈公众号