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

gir*_*iri 5 ruby java

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

Osc*_*Ryz 15

这些怎么样:

相似

与Java一样,在Ruby中,......

  • 通过垃圾收集器为您管理内存.
  • 对象是强类型的.
  • 有公共,私有和受保护的方法.
  • 有嵌入式doc工具(Ruby称为RDoc).rdoc生成的文档看起来与javadoc生成的文档非常相似.

差异

与Java不同,在Ruby中......

  • 您不需要编译代码.你直接运行它.
  • 所有成员变量都是私有的.从外面,您可以通过方法访问所有内容.
  • 一切都是对象,包括2和3.14159之类的数字.
  • 没有静态类型检查.
  • 变量名称只是标签.它们没有与之关联的类型.
  • 没有类型声明.您只需根据需要分配新的变量名称,它们只是"弹出"(即a = [1,2,3]而不是int [] a = {1,2,3};).
  • 没有铸造.只需调用方法即可.
  • 构造函数始终命名为"initialize"而不是类的名称.
  • 你有"mixin"而不是接口.
  • 在Ruby中,==和equals()的处理方式不同.当你想在Ruby中测试等价时使用==(equals()是Java).当你想知道两个对象是否相同时(==在Java中),请使用等于?().

取自:来自Java的Ruby


enn*_*ler 6

除了面向对象之外,两种语言之间几乎没有相似之处.Java是一种静态类型的编译语言,而ruby是一种动态类型的解释语言.语法也非常不同.Java使用带有分号终止行的c约定,而ruby使用返回字符.

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

这显然只涉及两者的比较. 这是对比较的一个体面的写作