5 คะแนน โดย GN⁺ 2025-12-03 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • ผลของการฝังรอย (imprinting) ที่ภาษาแรกที่เราเรียนทำไว้ได้สร้างความผูกพันเฉพาะตัวต่อ Ruby ทำให้นักพัฒนาหลายคนยอมรับข้อบกพร่องของมันเสมือนเป็น "เสน่ห์เฉพาะ"
  • เมื่อมาพบกับ Ruby ช้ากว่าเดิม จุดอ่อนของ dynamic typing, footgun และประสิทธิภาพที่ช้า ที่ซ่อนอยู่ใต้รูปลักษณ์ที่สวยหรูจะเปิดเผยตัวออกมาอย่างตรงไปตรงมา ทำให้รู้สึกว่าภาษานี้ยังคงติดอยู่ที่สมัยก่อนหน้า
  • ยุค Fail Whale ของ Twitter และการย้ายไป Scala รวมถึงกระแส หลบหนี Ruby ตลอดทศวรรษ 2010 เป็นหลักฐานชัดเจนถึงข้อจำกัดด้านประสิทธิภาพของภาษา
  • Rails เคยเป็นดาวเด่นของหนึ่งยุค แต่ปัจจุบันปรัชญาที่รวมระบบไว้ด้วยกันกลับกลายเป็น กำแพงขยายระบบ และไม่เข้ากับการเติบโตแบบระเบิดของเว็บอีกต่อไป
  • ในปัจจุบันสิ่งที่ค้ำจุน Ruby คือมรดกของ Rails ความจงรักภักดีทางอารมณ์ของนักพัฒนารุ่นแรก และความผูกพันเชิงความทรงจำต่อชื่อที่สวยงามเท่านั้น

พลังของ “การฝังรอย” ในภาษาโปรแกรมมิ่ง

  • ในทางจิตวิทยา การฝังรอย (imprinting) ก็ทำงานในลักษณะเดียวกับการเขียนโปรแกรมได้ เหมือนลูกห่านน้อยที่ยอมรับสิ่งที่เห็นเป็นแม่เป็นการแรก ภาษาแรกที่เรียน ก็สามารถครอบงำความรู้สึกของนักพัฒนาได้นาน
  • Ruby คือ ตัวรับผลประโยชน์ที่เป็นตัวแทนของการฝังรอยนั้น โดยตรง มันเชื่อมโยงกับช่วงเวลาของ "ครั้งแรกที่การเขียนโปรแกรมรู้สึกเป็นธรรมชาติอย่างแท้จริง" จึงทิ้งรอยยึดติดต่อภาษานี้ไว้ลึก
  • เมื่อเรียนรู้ตั้งแต่แรก ความรู้สึกชื่นชอบจะมาก่อนข้อบกพร่องและทำให้มองไม่เห็นมัน แต่หากเรียนรู้ในภายหลัง จะเห็นตัวตนแท้ๆ โดยปราศจากเงาครอบคลุมของความชอบ

การกำเนิดและจุดเด่นของ Ruby

  • Ruby ถูกสร้างโดย Yukihiro Matsumoto (Matz) นักพัฒนาจากโอซากา ประเทศญี่ปุ่น ในปี 1995 และเป็นภาษาการเขียนโปรแกรมหลักเพียงไม่กี่ภาษาเดียวที่ถือกำเนิดนอกโลกตะวันตก
  • มีม็อตโต์ประจำชุมชน MINASWAN (Matz Is Nice And So We Are Nice) ที่แสดงถึงบุคลิกใจดีของ Matz
  • รูปแบบไวยากรณ์ที่กระชับแบบไม่มี semicolon หรือเครื่องหมายวงเล็บ ทำให้การอ่านรู้สึกง่ายดุจภาษาอังกฤษที่เรียบง่าย แม้แต่ Python
  • มักถูกกล่าวถึงในฐานะภาษาที่ให้บุคคลใหม่รู้สึกว่า "เข้าใจ" การเขียนโปรแกรมได้

หน้าตาจริงที่ปรากฏเมื่อเรียนรู้ Ruby ช้ากว่า

  • เมื่อผ่านภาษาอื่นมาก่อนแล้วมาเข้าสู่ Ruby สิ่งที่รับรู้ก่อนคือ ความล้าสมัยและความหยาบหละหลวม มากกว่าอิทธิพลของเสน่ห์ที่คาดหวังไว้
  • แท้จริงแล้วด้านหลังไวยากรณ์ที่ถูกออกแบบให้สวยงาม ความกำกวมและพฤติกรรมที่คาดเดาไม่ได้ของ dynamic typing ยังคงอยู่ครบ
    • Ruby เป็นภาษาที่พึ่งพาชนิดข้อมูลแบบไดนามิก แม้จะยืดหยุ่นในโปรเจกต์ขนาดเล็ก แต่ในโครงสร้างขนาดใหญ่ข้อผิดพลาดจะปรากฏเฉพาะตอนรันไทม์
  • Python และ JavaScript ได้พัฒนาชุดเครื่องมือด้านชนิดข้อมูลและระบบวิเคราะห์แบบคงที่มาอย่างต่อเนื่องตลอดหลายปี (เช่น TypeScript, mypy)
    • Ruby กลับขาดเครื่องมือเทียบเท่านี้ จึงเสี่ยงต่อการตกเป็น "footgun" (ฟังก์ชันที่ทำให้ผู้ใช้ตีเท้าเอง)
  • แม้ในโครงการขนาดเล็กจะดูนุ่มนวล แต่เมื่อระบบเติบโต มันยังคงแบกรับความเสี่ยงของข้อผิดพลาดที่จะเผยตัวเฉพาะช่วงการทำงานจริง

ขอบเขตสมรรถนะที่คงที่ของ Ruby

  • ในการเปรียบเทียบประสิทธิภาพของภาษาโปรแกรมหลักๆ มักจะพบว่า Ruby อยู่ใน กลุ่มล่างสุด เสมอ
  • ยุค Fail Whale ของ Twitter (ภาพวาฬที่ขึ้นเวลาขัดข้อง) สะท้อนข้อจำกัดของโครงสร้างพื้นฐานที่พึ่งพา Ruby อย่างชัดเจน และในช่วงฟุตบอลโลก 2010 เมื่อเกิดเหตุขัดข้องขนาดใหญ่ ขีดจำกัดนั้นก็ยิ่งเด่นชัด
  • Twitter เลือกย้ายไปใช้ Scala และต่อมาในรอบชิงชนะเลิศฟุตบอลโลก 2014 สามารถประมวลผลได้ถึง 32 ล้านทวิตต์อย่างราบรื่น โดยระบบ backend ใหม่ทำงานได้เร็วขึ้นสูงสุด 100 เท่า เมื่อเทียบกับก่อนหน้า
  • ตลอดทั้งทศวรรษ 2010 บริษัทจำนวนมากทยอยออกจากโครงสร้างพื้นฐานของ Ruby และส่วนที่เหลือก็ถูกเก็บไว้ในลักษณะมรดกระบบส่วนใหญ่

ที่ที่ Ruby สูญเสียไป

  • เมื่ออดีตที่ Ruby เคยแข่งขันด้วย Python, JavaScript, Perl กวาดพื้นที่ชัดเจนแต่ละด้านได้ Python ครอบครองตลาด AI วิทยาศาสตร์ และการศึกษา ขณะที่ JavaScript ครอบงำเว็บโดยรวม Perl แม้กำลังถดถอย แต่ก็ไม่เคยมีช่องว่างให้ Ruby เข้ามาแทนที่
  • เมื่อพื้นที่ที่ Ruby ทำได้เป็นของตัวเองค่อยๆ หายไป ปัจจุบันจึงตกอยู่ใน โซนก้ำกึ่งที่ไม่ชัดเจน

Rails: เสาหลักสุดท้ายของ Ruby

  • เหตุผลที่ Ruby ยังใช้งานในวงการจริงอยู่มากที่สุดคือ Rails
  • หลังจากที่ DHH เปิดตัว Rails ในปี 2004 ในยุค Web 2.0 มันช่วยกำหนดทิศทางของเว็บ และในช่วงนั้นได้รวมองค์ประกอบการพัฒนาเว็บไว้ในวิสัยทัศน์แบบเดียว
    • นักพัฒนาชาวเดนมาร์ก David Heinemeier Hansson (DHH) มีชื่อเสียงเป็นคนปฏิสัมภารณ์และมีเสน่ห์แบบมีแรงดึงดูดต่างจาก Matz อย่างชัดเจน
  • ในตอนต้นของ Web 2.0 Rails ได้กลายเป็นแพ็กเกจครบวงจรทั้งฐานข้อมูล, frontend และ backend จึงได้รับความนิยมในสตาร์ทอัป
    • บริษัทอย่าง Airbnb, GitHub, Twitter, Shopify, Stripe เริ่มต้นบน Rails
  • แต่เมื่อขนาดของเว็บเติบโตขึ้นแบบแบบระเบิด สถาปัตยกรรมที่เป็นหนึ่งเดียวของ Rails กลับทำหน้าที่เป็น สิ่งกีดขวางการขยายตัว เปรียบได้กับบ้านสไตล์ Usonian ของ Frank Lloyd Wright ซึ่งแรกเริ่มสวยงาม แต่ต่อมาปรับปรุงได้แทบไม่ไหว

การตกต่ำและแรงผลักดันที่ยังเหลืออยู่ของ Ruby

  • ใน การสำรวจนักพัฒนาของ Stack Overflow Ruby ตกลงมาจาก Top 10 ในปี 2013 สูญเสียไปถึงอันดับ 18 ในปี 2025 และ ถูกทิ้งไว้หลังจาก Assembly
  • นักพัฒนารุ่นใหม่ไหลเข้าสู่ Python และ JavaScript มากขึ้น ทำให้ Ruby ค้างอยู่กับกลุ่มผู้ใช้ที่มีความทรงจำในอดีตบางส่วน
  • สิ่งที่ยังคงหนุน Ruby ไว้ในปัจจุบันคือ มรดกของ Rails, ความจงรักภักดีทางอารมณ์ของผู้ใช้ที่ถูกปลูกฝัง และเพียง ภาพลักษณ์เชิงความรู้สึกต่อไวยากรณ์ที่สวยงามและอ่านง่าย เท่านั้น
  • ทว่าความรู้สึกอย่างเดียวไม่สามารถยกระดับสถานะของภาษากลับมาได้ เพราะความเป็นจริงได้ข้ามไปสู่เครื่องมือที่เร็วกว่า ปลอดภัยกว่า และขยายได้มากกว่า Ruby แล้ว

3 ความคิดเห็น

 
roxie 2025-12-03

บทความนี้มีเหตุผลรองรับอ่อนมากจนน่าตกใจ...

 
GN⁺ 2025-12-03
ความเห็นบน Hacker News
  • ลิงก์สำรองคือ archive.is/O7rEl

  • เหตุผลที่บทความยกมามีแค่ประมาณว่า “ไม่ชอบ”, “เกลียดเพราะเป็น dynamic typing”, “Twitter เคยล่มเมื่อก่อน”, “ช้า”, “ติดแค่อันดับท็อป 20 ในแบบสำรวจ Stack Overflow” เลยรู้สึกว่าบางเบาไปหน่อย

    • คิดว่ามันชัดเจนมากว่าตัวบทความเองเป็น คลิกเบต แค่ดูจากพาดหัวก็ใช่แล้ว และเรื่อง “imprinting” ในไม่กี่ย่อหน้าแรกก็คือหลักฐาน
      ภาษาคอมพิวเตอร์ภาษาแรกของฉันคือ BASIC ภาษาที่สองคือแอสเซมบลีสำหรับ Z80A กับ 6502 และภาษาที่สามคือ Pascal แต่ไม่มีภาษาไหนเลยที่กำหนดรสนิยมของฉันไปตลอดชีวิต
      กลับกัน ประสบการณ์ที่ส่งผลจริง ๆ คือสมัยเรียนมหาวิทยาลัยที่มีอาจารย์คนหนึ่งพูดว่า “คนที่เรียน BASIC มาคือโปรแกรมเมอร์ที่พังไปตลอดชีวิต” ตอนนั้นฉันได้เรียนรู้ว่าแม้แต่คนที่มีอำนาจก็สามารถทำร้ายคนอื่นด้วยอคติของตัวเองได้
      สุดท้ายแล้วบทความนี้ดูเหมือนเป็นความพยายามจะอวดว่าผู้เขียนฉลาดแค่ไหน อาจอ่านเพลินแบบงานเขียนของ Steve Yegge ได้อยู่ แต่ Yegge อย่างน้อยก็ยังมีอะไรจะเล่ามากกว่านี้
    • ไม่มีเหตุผลรองรับเลยว่า Ruby เป็น “ภาษาที่ไม่จริงจัง” ผู้เขียนแค่บอกว่าไม่ชอบชื่อของ Ruby เท่านั้น
      ถ้าข้ออ้างของเขาถูกจริง ก็คงไม่มีความจำเป็นต้องเขียน บทความเชิงโจมตี แบบนี้เลย ข้อเท็จจริงที่ว่ามีผลงานจริงมากมายสร้างด้วย Ruby และภาษานี้ก็ยังพัฒนาต่อเนื่องอยู่ ก็คือคำโต้แย้งในตัวเอง
    • ทำให้นึกถึงคำพูดของ Bjarne Stroustrup ที่ว่า “มีภาษาอยู่แค่สองประเภท คือภาษาที่คนบ่นกัน กับภาษาที่ไม่มีใครใช้”
    • แถมยังดูเหมือนมีการเอา ความไม่ชอบบุคลิกของใครบางคน มาปะปนกับการประเมินภาษาด้วย
  • ฉันก็ไม่ได้คัดค้านบทความนี้ทั้งหมดหรอก แต่ถ้าใช้เกณฑ์แบบนี้ ก็สามารถเขียนคำวิจารณ์เดียวกันกับภาษา “มืออาชีพ” ส่วนใหญ่ได้เหมือนกัน ไม่ว่าจะเป็น Python, JS, หรือ C++
    คำพูดที่ว่า “computing is pop culture” ยังใช้ได้อยู่ และการที่สื่ออย่าง Wired ลงบทความแบบนี้ก็เป็นหลักฐาน

  • อ่านจนจบแล้วก็ยังไม่เห็น เหตุผลเชิงปฏิบัติ ว่าทำไมไม่ควรใช้ Ruby
    เนื้อหาให้ความรู้สึกเหมือน งานข่าวที่ล้มเหลว ซึ่งทำขึ้นด้วย ChatGPT ในเวลาไม่กี่ชั่วโมง เดาว่าโค้ดเบส Ruby ชุดแรกที่ผู้เขียนเจอน่าจะเละเทะเป็นพิเศษ

  • รู้สึกเหมือนเคยมีช่วงหนึ่งที่ Wired เป็นนิตยสารที่คุ้มค่าแก่การอ่าน แต่ตอนนี้จำไม่ได้แล้วด้วยซ้ำว่าเมื่อไหร่

    • น่าจะครั้งสุดท้ายราว ๆ ปี 1995
  • ฉันคิดว่าการรีไรต์ไป Scala ไม่ใช่การตัดสินใจที่ดีในเชิงธุรกิจ ผ่านมา 15 ปีแล้ว ตอนนี้ Scala ก็มีความนิยมต่ำกว่า Ruby มาก ไม่รู้เหมือนกันว่าตอนนี้พวกเขาใช้อะไรอยู่

  • นี่มันดูเหมือนบทความ คลิกเบตไว้ล็อกหลังเพย์วอลล์ เฉย ๆ

  • ขอบคุณที่ทำให้นึกขึ้นได้ว่าฉันควร ยกเลิก การสมัคร Wired ที่ลืมไปแล้ว

    • ใช่เลย ถ้าเป็นบทความห่วย ๆ ที่ AI เขียน แบบนี้ใน ChatGPT ก็หาอ่านได้ทุกเมื่อ