要选择编程语言通常很困难,因为有非常多的选项。 在这篇文章中,试图学习编码的新手可以看到顶尖编程语言的有关概述,文中分析了编码的简洁性和复杂性,并权衡每种语言的利弊。 |
软件开发的支柱是源代码,它是由成千上万的程序员编写由计算机解释的指令集。源代码指示应用程序做什么以及如何做。源代码是程序的蓝图。 |
1. Google 的 Go
|
1
2
3
4
5
|
package main import "fmt" func main() { fmt.Println("Hello World”) } |
Go 的优点
|
2. SwiftSwift是一种新通用,多范式,编译型的编程语言,适用于iOS和OS X,watchOS,tvOS和Linux等系统。 它是由苹果公司建立的,基于最好的C语言和Objective-C,对C语言的兼容性没有任何约束。 Swift的开发由Chris Lattner与Apple的其他程序员开始进行的,通盘考虑了来自许多编程语言如Objective-C,Rust,Haskell,Ruby,Python,C#和CLU的想法。 Swift基本上用来开发与苹果的Cocoa和Cocoa Touch框架相关的工作,并且Xcode 6中有一个内置的LLVM编译器框架,使用的是Objective-C运行库。 最新版本的Swift是3.0 Preview 2。 Swift中运行“Hello World”程序的语法是:
|
Swift 的优点
|
3. Hack
|
1
2
3
|
Hhvm –m server –p 8080 <?hh Echo “Hello World!”; |
Hack 的优点
Hack 的缺点
|
4. Rust
|
1
2
3
|
fn main() { println!( "Hello, world!" ); } |
Rust 的优点
|
5. Scala
|
1
2
3
|
object HelloWorld extends App { println( "Hello, World!" ) } |
Scala 的优点
|
6. Dart
|
1
2
3
|
void main() { print( 'Hello, World!' ); } |
Dart 的优点
|
7. ClojureClojure是一个动态通用编程语言。它结合了易接近,交互式脚本编程语言的优点,并提供了高效健壮的构件来满足多线程编程。Clojure是一个与Rich Hickey创造的Lisp语言紧密相关的语言。它运行在Java虚拟机上并且与Java相结合。Clojure完全支持调用Java代码,反之亦然。Clojure 提供函数作为第一类对象,一个交互式解释器(REPL)和一个宏系统。它鼓励使用第一类、高层次的、有价值的函数,并且结合它提供的一套高效不可变的数据结构。Clojure(核心数据结构是不可变的)提供了革新方式的解决方式,来应对并发和并行计算带来的调整。
|
Clojure 的优点
|
8. Haskell
|
Haskell 是种开放的语言,规范公开并存在很多实现。它最主要的实现是 Glasgow Haskell Compiler (GHC),它既是一个解释器也是一个编译器,可以运行在大多数平台上。GHC 是并发和并行的高性能实现,有着结合了最新概念的丰富的类型系统,这些新概念包括广义的代数数据类型和类型分类。Haskell 还有一个有趣的特性是函数可以被当作值来使用,就像整数和字符串那样。 Haskell 的最新版本是 2014。 ‘Hello World’ 程序:
|
Haskell 的优点
|
9. Apache Groovy
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class Hello { String name; void say Hello() { Systematisation( "Hello " + get Name()+ "!" ); } void set Name(String name) { pathnames = name; } String get Name() { return name; } static void main(String[] rags) { Hello hello = new Hello(); Hellenisation( "world" ); Hellenisations(); } } |
Apache Groovy 的优点
|
本文标题:选择正确的开源编程语言
本文地址:https://www.oschina.net/translate/open-source-programming-language
参与翻译:边城, Tony, Tocy, 花间_拾零, 混元归一
英文原文:Choosing right open source programming language