The OO Hello World in Xtend, the "the CoffeScript for the JVM", is here!
Xtend is a statically-typed programming language which is tightly integrated with and
runs on the Java Virtual Machine.
You can see the OO Hello World series post here: http://carlosqt.blogspot.com/2010/06/oo-hello-world.html where I give some details on why these "oo hello world series" samples.
Version 1 (Minimal):
The minimum you need to type to get your program compiled and running.
class Greet {
String name
new(String name) {
this.name = name.toFirstUpper
}
def salute() {
println("Hello " + name + "!")
}
}
// Greet Program
class Program {
def static void main(String[] args) {
val g = new Greet("world")
g.salute
}
}
Version 2 (Verbose):
Explicitly adding instructions and keywords that are optional to the compiler.
package com.series
public class Greet {
private String name
public new(String name) {
this.name = name.toFirstUpper()
}
def public void salute() {
println("Hello " + this.name + "!")
}
}
package com.series
// Greet Program
public class Program {
def public static void main(String[] args) {
val g = new Greet("world")
g.salute()
}
}
The Program Output:
Xtend Info:
"Xtend is a statically-typed programming language developed at Eclipse.org. It
has a strong focus on leveraging all the good parts of Java, including seamless
integration with the huge amount of Java frameworks and libraries out there.” Taken from: ( Pragmatic Magazine - Issue 30, December 2011 )
has a strong focus on leveraging all the good parts of Java, including seamless
integration with the huge amount of Java frameworks and libraries out there.” Taken from: ( Pragmatic Magazine - Issue 30, December 2011 )
Appeared:
|
2011
|
Current Version:
| |
Developed by:
|
Eclipse
|
Creator:
|
Sven Efftinge, Sebastian Zarnekow
|
Influenced by:
|
Java (James Gosling)
|
Predecessor Language
|
N/A
|
Predecessor Appeared
|
N/A
|
Predecessor Creator
|
N/A
|
Runtime Target:
|
JVM
|
Latest Framework Target:
|
JDK 6,7
|
Mono Target:
|
No
|
Allows Unmanaged Code:
|
No
|
Source Code Extension:
|
“.xtend”
|
Keywords:
|
41
|
Case Sensitive:
|
Yes
|
Free Version Available:
|
Yes
|
Open Source:
|
Yes
|
Standard:
|
N/A
|
Latest IDE Support:
|
Eclipse
http://www.eclipse.org/xtend/download.html
http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/ |
Language Reference:
| |
Extra Info:
|

You could use
ReplyDeletethis.name = name.toFirstUpper
in snippet 1 line 04.
Hi Jan,
DeleteThanks for your suggestion. Code updated.
That's much better.