-
แต่ก่อนจะดูความแตกต่างเรามาดูก่อนว่ามีอะไรที่เหมือนกัน
ใช้ Garbage collector ในการจัดการ memory เหมือนกัน คือไม่ต้องคอย clear memory
เป็นภาษาที่ใช้ Object เหมือนกัน
มี method ชนิด public, private, protected เหมือนกัน
มีตัวสร้าง document เหมือนกัน (JavaDoc กับ RDoc)
ส่วนเหมือนคงประมาณนี้ สำหรับส่วนต่างจริงๆ แล้วดูเป็นการเปรียบเทียบให้เห็นภาพซะมากกว่า
เราไม่ต้องการ compile เพื่อสร้าง binary อีกต่อไป สามารถ run โปรแกรมจาก code ได้เลย
มี GUI toolkits หลากหลายเช่น WxRuby, FXRuby, Ruby-GNOME2 หรือจะใช้ Ruby Tk ก็ได้
ใช้คำว่า end เพื่อบอกว่าจบการประกาศตัวแปลเช่น class แทนที่จะใช้ วงเล็บปีกกาล้อมรอบ
ใช้คำว่า require แแทน import
ตัวแปลทุกตัวเ้ป็น private ต้องเข้าถึงผ่าน methods เ่ท่านั้น
วงเล็บใน method จะเขียนหรือไม่เขียนก็ได้
ทุกอย่างคือ object หมด แม้แต่ตัวเลขอย่าง 2 หรือ 3.4159
ไม่มีการทำ static type checking
ชื่อตัวแปลเ็ป็นแค่ชื่อจริงๆ ไม่มีการกำหนด type
ไม่ต้องประกาศ type สามารถใช้ได้เลย เช่น a = [1,2,3] แทนที่จะต้องกำหนด int[] a = {1,2,3};
ไม่ต้องเขียน casting เราสามารถเรียก method ได้เลย และในกรณีที่มี exception โปรแกรม unit test จะบอกเราก่อน run
ใช้ foo = Foo.new(“hi”) แทนที่จะใช้ foo = new Foo(“hi”)
contructor จะชื่อ initialize เสมอ แทนที่จะใช้ชื่อ class
ใช้ “mixin’s” แทน interface
นิยมใช้ YAML แทน XML
ใ้ช้ nil แทน null
หลายคนอ่านแล้วอาจจะผิดหวังที่ไม่ได้โจมตี java ตรงๆ แต่ผมคิดว่าเราเน้นไปที่การให้ java developer สามารถย้ายมาเขียน ruby ได้ง่ายๆ ดีกว่า
ที่มา — http://thaimacdev.com/node/200
-
แล้ว Ruby กับ JAVA ตัวไหนดีกว่ากัน ครับ
เห็น Twitter เค้าว่า Web app เค้าใช้ Ruby เขียน
แล้วเทรนด์ Java จะตกมั้ยเนี๊ย
( Programmer Java Begining อย่างผมเริ่มเสียวๆ กลัวตกเทรนด์แล้ว :lol: เดี๋ยวจะไม่มีงานทำ :P )