Skip to content

Tag: ruby

Completed Ruby lesson on Codecademy

หลังจากงมๆ เล่นสนุกอยู่ 4 วันก็จบคอร์ส Ruby จากเว็บ Codecademy แล้วครับ ขอบันทึกไว้ซะหน่อย

Ruby-Codecademy-final

ผมว่าเขาทำสนุกดีนะ ถ้าสนใจก็ลองเข้าไปเรียนดูครับมีหลายเรื่องให้เลือกเรียน

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 อันนี้ต้องดูกันยาวๆ ถ้าได้เอามาใช้จริง