軟件絕對領(lǐng)域

          ruby-lang上Ruby與Java的對比文章

          原文地址
          下午無聊翻譯一下,看看ruby官方怎么和java對比

          相同點:

          類似于java,在ruby中:

            內(nèi)存管理都是由GC(garbage collector)負(fù)責(zé)。
            都是強類型語言。
            都有public,private,protected的方法可見性之分。
            都有嵌入式文檔工具(ruby的叫做RDoc)。rdoc生成的文檔看起來非常像由javadoc生成的。


          不同:

          于java不同的是,在ruby中:

          你不必編譯代碼,你只需要直接運行代碼。
          Gui開發(fā)包不同。比如,ruby的用戶會嘗試WxRuby,F(xiàn)XRuby,Ruby-GNOME2,或者基于Ruby Tk庫。
          你要在定義任何事物(像class)后面加上關(guān)鍵字end,而不是用花括號({})來包圍代碼塊。
          使用了require代替了import。
          所有的成員變量(屬性)都是private級的。在類外訪問任何事物要通過方法調(diào)用。
          什么都是對象,包括2和3.14159。
          沒有靜態(tài)類型檢查。
          變量名都只是標(biāo)簽,它們沒有與類型相關(guān)。
          不用聲明變量類型,你只需要賦值給新的變量名就可以了(例子,a = [1,2,3] 相當(dāng)于 int[] a = {1,2,3};)。
          沒有類型強制轉(zhuǎn)換這個概念,只管調(diào)用方法就好了。
          用 foo = Foo.new( "hi") 取代這樣新建對象的方法 Foo foo = new Foo( "hi" )。
          構(gòu)造方法一直都叫“initialize”,不是和class同名的方法。
          使用“混入” 代替 “接口”。
          YAML 比 XML 更受歡迎。
          這里用nil代替null。
          ==和equals()方法處理方法不同。當(dāng)你想要測試相等性時就使用 == 操作符(就像Java的equals()方法)。當(dāng)要想要知道兩個對象是否是同一個時就使用equal?()方法(就像Java中的==)。

          posted on 2007-10-07 19:55 _Kai_ 閱讀(615) 評論(0)  編輯  收藏 所屬分類: Rails

          公告

          碼農(nóng)一枚

          歡迎大家發(fā)E-mail到 與我討論關(guān)于軟件開發(fā)的各種看法。

          最新Blog地址:http://thekayway.com/

          導(dǎo)航

          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          統(tǒng)計

          常用鏈接

          留言簿(2)

          隨筆分類(21)

          隨筆檔案(18)

          常去的地方

          技術(shù)站點

          朋友的Blog

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 丰都县| 西藏| 无极县| 宾川县| 巢湖市| 青海省| 津南区| 文化| 舒兰市| 涪陵区| 揭东县| 临海市| 溧阳市| 汾西县| 临城县| 武定县| 梨树县| 江口县| 灯塔市| 九龙坡区| 永济市| 黔西县| 秦皇岛市| 麻江县| 南陵县| 中牟县| 聂荣县| 两当县| 景谷| 黄大仙区| 呼玛县| 枝江市| 赤壁市| 衡南县| 黄梅县| 萍乡市| 环江| 邵东县| 珲春市| 凤台县| 保定市|