2014-02-13 131 views
1

最近我遇到了Go语言。 Go和Ruby之间的主要区别是什么? Ruby和去之间Go和Ruby之间的主要区别

+1

GO是Google推出的一种新语言。在这里阅读更多关于它的信息http://golang.org/ – ShrekOverflow

+0

PS通常有几百种编程语言,每种编程语言都有一些或其他功能。比如Scratch这样的语言是为了让孩子学习而做的。由于你是新手,我建议学习和掌握任何一种编程语言。 PS你问的基本上是扳手和螺丝刀之间的区别。这两种工具都是用于某种目的的一些工具。 – ShrekOverflow

+2

这个问题如何基于意见? –

回答

14

主要区别:

  • 红宝石创建于1995年进入创建于2009年
  • 红宝石被Yukihiro Matsumoto设计。 Go是由Google设计的Ken Thompson,Rob Pike & Robert Griesemer
  • Ruby参考实现(MRI)是interpreted(编译为YARV字节码)。 Go被编译成机器码。
  • Ruby是动态类型的。 Go是静态类型的。
  • Ruby有例外。去不(它鼓励explicit error handling)。
  • Ruby的语法主要受Perl和Lisp的启发。 Go的语法灵感来源于C.
  • Ruby支持类型层次结构(通过基于类的继承)。转而喜欢构图(通过接口和嵌入)。
  • Go被设计为从一开始就支持并发,并且为它(即通道)提供了内置原语。红宝石不是(虽然它现在有ThreadsFibers,以及替代实现,如JRuby & Rubinius)。
  • Ruby的构建易于开发。 Go是在考虑大规模代码库的情况下构建的。
  • Go被认为是更多的系统语言。它的建立主要是为了取代Google的C++,Java和Python。

为什么人们认真对待这门语言?

它采取务实的方法,aims to solve real world problems,特别是那些在谷歌面临的。

+2

顺便说一下,Go有例外。你可以用panic()引发一个,用recover()捕获一个。他们只是故意不用于普通的错误脚步。 Go异常就像Java中的RuntimeException所做的那样。 – fuz

+0

@JörgWMittag对,我补充说明我指的是MRI。 – Agis

相关问题