Skip to content

Ruby language experience

วันนี้ใช้เวลาหัดเขียน Ruby อยู่หลายชั่วโมงจาก Codecademy แม้ว่าบทเรียนยังน้อยและเรียนรู้แค่ผิวๆ แต่ก็มีสิ่งที่ประทับใจพอสมควรครับ

  • ภาษาง่ายต่อการเรียนรู้ อันนี้ความคิดเห็นตัวตัวนะคิดว่าง่ายกว่า Python อีกแน่ะ
  • เป็นภาษาที่มี syntax สั้นเข้าใจง่าย
  • เป็นภาษาที่ไม่ต้องใช้ { } นั่นคือไม่ค่อยได้กดปุ่ม shift พิมพ์มันมาก!
  • ไม่ได้บังคับ indent เป็น syntax เหมือน Python ส่วนตัวชอบนะ บังคับ indent มากๆ แบบ Python ผมว่าเขียนยาก debug ยากไปหน่อย
  • วน loop ใน range ที่ต้องการแบบ inclusive, exclusive ใช้สัญลักษณ์แค่ .. และ … ตามลำดับเช่น for x in 1..30 สำหรับ inclusive และ for i in 1…3 สำหรับ exclusive
  • การเขียนรับ parameter จาก stdin เข้าใจง่ายดี
  • sort และ reverse sort array, hash ง่ายกว่า Java และหลายๆ ภาษามาก
  • แต่…ยังงงกับสัญลักษณ์ ! และ ? ที่ใช้ตามหลังบาง method อยู่  ตอนนี้เข้าใจแล้ว ! อยู่หลัง method คือการใช้งานแบบ in-place หมายความว่าเมื่อมันทำงานใน method นั้นเสร็จแล้วจะเขียนค่ากลับไปที่ตัวแปรเดิม (address เดิมใน memory) ไม่ต้องจองพื้นที่ memory ใหม่ และ ? หลัง method ใช้เมื่อ method คืนค่าเป็น true หรือ false ทีแรกผมก็คิดว่าจะใส่ ? ไว้ทำไมแต่คิดไปคิดมา เวลาใช้กับ condition มันทำให้เข้าใจโค้ดขึ้นนะ เหมือนเป็นคำถามที่ต้องตอบ yes or no? 
  • อีกเรืองที่ยังไม่เคลียร์คือเรื่อง Symbol แต่จากที่อ่านๆ ดูเหมือนกับเป็นตัวแปร static  มันคือ static นั่นเองครับอ้างอิงถึง address ในหน่วยความจำเดียวกันจากแบบฝึกหัดการใช้งานตัวแปร symbol สามารถทำได้ใช้ method intern ก็เลยเข้าใจเพราะเหมือนใน Java
  • concept การ reuse code พวก Proc object และ lambda เป็นสิ่งที่ผมชอบมากใน Ruby

สรุป ในด้าน development เบื้องต้นผมประทับใจพอสมควรครับ คงได้ศึกษาและเลือกใช้งานต่อไปแต่ในด้าน performance อันนี้ต้องดูกันยาวๆ ถ้าได้เอามาใช้จริง

One Comment

  1. ผมว่าเป็นภาษาที่ดี แล้วก็ community ที่มีขนาดใหญ่ มีการพัฒนาปรับปรุงอย่างสม่ำเสมอ ทำให้ Ruby และ Rails เป็น ภาษาและ framework ที่เกิดมานานกว่า 10 ปี


    http://www.symbolet.com

Leave a Reply

Your email address will not be published.