8
8
9
9
经常使用IDE的开发者可能会发现,当我们在Intelij IDEA中,鼠标右键想要创建Java类的时候,IDE还会提示创建其他类型的文件,这就是IDE默认支持的一些可以运行在JVM上面的语言,没有提示的,可以通过插件来支持。
10
10
11
- <img src =" https://www.hollischuang.com/wp-content/uploads/2018/11/languages.png " alt = " " width = " 1102 " height = " 372 " class = " aligncenter size-full wp-image-2968 " />
11
+ <img src =" https://www.hollischuang.com/wp-content/uploads/2018/11/languages.png " />
12
12
13
13
目前,可以直接在JVM上运行的语言有很多,今天介绍其中比较重要的九种。每种语言通过一段『HelloWorld』代码进行演示,看看不同语言的语法有何不同。
14
14
@@ -18,10 +18,11 @@ Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可
18
18
19
19
#### Hello World In Kotlin
20
20
21
- fun main(args: Array<String>) {
22
- println("Hello, world!")
23
- }
24
-
21
+ ``` kotlin
22
+ fun main (args : Array <String >) {
23
+ println (" Hello, world!" )
24
+ }
25
+ ```
25
26
26
27
### Groovy
27
28
@@ -31,10 +32,11 @@ Apache的Groovy是Java平台上设计的面向对象编程语言。它的语法
31
32
32
33
#### Hello World In Groovy
33
34
34
- static void main(String[] args) {
35
- println('Hello, world!');
36
- }
37
-
35
+ ``` groovy
36
+ static void main(String[] args) {
37
+ println('Hello, world!');
38
+ }
39
+ ```
38
40
39
41
### Scala
40
42
@@ -44,30 +46,33 @@ Scala经常被我们描述为多模式的编程语言,因为它混合了来自
44
46
45
47
#### Hello World In Scala
46
48
47
- object HelloWorld {
48
- def main(args: Array[String]) {
49
- System.out.println("Hello, world!");
50
- }
51
- }
52
-
49
+ ``` scala
50
+ object HelloWorld {
51
+ def main (args : Array [String ]) {
52
+ System .out.println(" Hello, world!" );
53
+ }
54
+ }
55
+ ```
53
56
54
57
### Jruby
55
58
56
59
JRuby是用来桥接Java与Ruby的,它是使用比Groovy更加简短的语法来编写代码,能够让每行代码执行更多的任务。就和Ruby一样,JRuby不仅仅只提供了高级的语法格式。它同样提供了纯粹的面向对象的实现,闭包等等,而且JRuby跟Ruby自身相比多了很多基于Java类库 可以调用,虽然Ruby也有很多类库,但是在数量以及广泛性上是无法跟Java标准类库相比的。
57
60
58
61
#### Hello World In Jruby
59
62
60
- "puts 'Hello, world!'"
61
-
63
+ ``` ruby
64
+ puts ' Hello, world!'
65
+ ```
62
66
63
67
### Jython
64
68
65
69
Jython,是一个用Java语言写的Python解释器。Jython能够用Python语言来高效生成动态编译的Java字节码。
66
70
67
71
#### Hello World In Jython
68
72
69
- print "Hello, world!"
70
-
73
+ ``` py
74
+ print " Hello, world!"
75
+ ```
71
76
72
77
### Fantom
73
78
@@ -77,11 +82,11 @@ Fantom是与Groovy以及JRuby差不多的一样面向对 象的编程语言,
77
82
78
83
#### Hello World In Fantom
79
84
80
- class Hello
81
- {
82
- static Void main() { echo("Hello, world!") }
83
- }
84
-
85
+ ``` fantom
86
+ class Hello {
87
+ static Void main() { echo("Hello, world!") }
88
+ }
89
+ ```
85
90
86
91
### Clojure
87
92
@@ -91,9 +96,10 @@ Clojure是Lisp编程语言在Java平台上的现代、函数式及动态方言
91
96
92
97
#### Hello World In Clojure
93
98
94
- (defn -main [& args]
95
- (println "Hello, World!"))
96
-
99
+ ``` clojure
100
+ (defn -main [& args]
101
+ (println " Hello, World!" ))
102
+ ```
97
103
98
104
### Rhino
99
105
@@ -103,22 +109,24 @@ Rhino的特点是为JavaScript加了个壳,然后嵌入到Java中,这样能
103
109
104
110
#### Hello World In Rhino
105
111
106
- print('Hello, world!')
107
-
112
+ ``` js
113
+ print (' Hello, world!' )
114
+ ```
108
115
109
116
### Ceylon
110
117
111
118
Ceylon是一种面向对象,强烈静态类型的编程语言,强调不变性,由Red Hat创建。 Ceylon程序在Java虚拟机上运行,可以编译为JavaScript。 语言设计侧重于源代码可读性,可预测性,可扩展性,模块性和元编程性。
112
119
113
120
#### Hello World In Ceylon
114
121
115
- shared void run() {
116
- print("Hello, world!");
117
- }
118
-
122
+ ``` ceylon
123
+ shared void run() {
124
+ print("Hello, world!");
125
+ }
126
+ ```
119
127
120
128
### 总结
121
129
122
130
好啦,以上就是目前主流的可以在JVM上面运行的9种语言。加上Java正好10种。如果你是一个Java开发,那么有必要掌握以上9中的一种,这样可以在一些有特殊需求的场景中有更多的选择。推荐在Groovy、Scala、Kotlin中选一个。
123
131
124
- [ 1 ] : https://www.hollischuang.com/archives/2322
132
+ [ 1 ] : https://www.hollischuang.com/archives/2322
0 commit comments