首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java和ruby的主要区别和相似之处是什么?

问java和ruby的主要区别和相似之处是什么?
EN

Stack Overflow用户
提问于 2010-01-07 11:16:11
回答 4查看 11.2K关注 0票数 5

我是java专业人士,现在我喜欢去ruby.Are,这两种语言有什么相似之处吗?主要的区别是什么?因为两者都是面向对象的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-07 12:02:59

下面这些内容如何:

相似性

和Java一样,在Ruby中...

  • 内存是通过一个垃圾collector.
  • Objects为你管理的,它们是强类型的。
  • 有公有的,私有的和受保护的方法。
  • 有嵌入式文档工具( RDoc)。rdoc生成的文档与javadoc生成的文档非常相似。

差异

与Java不同,在Ruby中...

  • 你不需要编译代码。您只需运行它,directly.
  • All成员变量就是私有的。从外部看,您通过methods.
  • Everything访问的所有内容都是一个对象,包括像2和3.14159.
  • There’s这样的数字没有静态类型的checking.
  • Variable名称只是标签。它们没有关联的类型。
  • 没有类型声明。你只需根据需要分配新的变量名,它们就会“突然出现”(即a= 1,2,3而不是int[] a= {1,2,3};).
  • There’s no int[])。只要调用这些方法即可。构造函数总是被命名为“initialize”,而不是类名。在

中,

  • 和

()的处理方式是不同的。如果你想测试Ruby语言中的等价性( == ()是Java),可以使用equals。当你想知道两个对象是否相同时,使用equal?() (在Java语言中是==)。

摘自:To Ruby From Java

票数 15
EN

Stack Overflow用户

发布于 2010-01-07 11:18:58

除了面向对象之外,这两种语言几乎没有什么相似之处。Java是静态类型的编译语言,而ruby是动态类型的解释语言。语法也非常不同。Java使用用分号结束行的c约定,而ruby使用回车字符。

虽然Java对迭代器有一些内置支持,但ruby对迭代器的使用在整个语言中都很普遍。

这显然只涉及到两者的比较。This is a decent write-up on the comparisons

票数 6
EN

Stack Overflow用户

发布于 2010-01-07 12:15:28

你在问一个非常宽泛的问题。我喜欢比较脚本语言,就像我比较口语一样,那么在这种情况下,西班牙语和意大利语之间的主要区别和相似之处是什么?

如果你问这个问题,你得到的答案要么多种多样,要么很长。解释语言之间的差异充其量也是困难的,因为很难精确定位关键因素。

到目前为止,这里的回复以及其他人链接的链接证明了这一点。它们要么多种多样,要么非常长。

回到西班牙语和意大利语的类比,我可以说这两种语言是相似的,但仍然非常不同。如果你(只)知道其中的一个,你也许能够理解另一个中发生了什么,尽管你可能不能很好地使用它。了解其中一个肯定会让你更容易学习另一个。其中一个被更多的人使用,所以你可能会从学习它中受益更多。

上一段的所有内容也可以应用于Java与Ruby。说两者都是面向对象的,就像说西班牙语和意大利语都是罗曼语家族的成员一样。

当然,所有这些都是无关紧要的。最有可能的是,您的潜在问题是,是否“值得”学习Ruby,而不是Java,或者除了Java之外。不幸的是,对此也没有简单的答案。你必须权衡每种语言的优缺点,比如受欢迎程度、需求和职业机会。然后自然就会有你更喜欢哪种语言的问题。您可能更喜欢一种语言而不是另一种,因为它有更好的语法。(类似地,您可能更喜欢意大利语,因为您认为意大利语比西班牙语更“漂亮”,即使后者更普遍,而且您会有更多的“用法”。)

就我个人而言,我更喜欢Ruby。出于许多不同的原因。就像我更喜欢意大利菜一样。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2017990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档