BR: BR: ทำไมคนเราถึงเกลียดภาษาอื่นๆ

หลังจากอ่านเรื่อง “ทำไมคนเราถึงเกลียดภาษาอื่นๆ” ของ m3rlinez และ teerapap.c แล้วก็เกิดอารมณ์ร่วมอยากเขียนล้อเลียนตามบ้าง  โดยผมจะยึดรูปแบบของการเกลียดภาษาทั้งสามแบบ มานำเสนอในมุมมองของผมนะครับ

ถึงแม้งานปัจจุบันจะไม่ค่อยมีความเป็นโปรแกรมเมอร์หลงเหลืออยู่มากแล้ว แต่ในอดีตผมเองก็เคยมีความรู้สึกเกลียดชังภาษาบางภาษาอย่างอธิบายไม่ได้

แบบที่ 1 เกลียด เพราะเค้าลือมาแย่ๆ

โดยปกติ คนที่ใช้ภาษาอะไรก็มักจะติดตามข่าวสารจากเว็บที่เกี่ยวข้องกับภาษานั้นๆถูกไหมครับ ดังนั้น ความเห็นที่คนๆนั้นจะได้รับ มักจะเป็นความเห็นที่มีอคติอยู่แล้ว (Bias)  ดังนั้นจึงไม่ใช่เรื่องแปลกที่คนส่วนใหญ่จะเกลียดภาษาหนึ่งๆเพียงเพราะว่าได้อ่านเจอบ่อยๆว่าภาษานั้นห่วยอย่างนั้น อย่างนี้

เผอิญว่าภาษาแรกที่ผมศึกษาอย่างจริงจังนั้นเป็น Java ซึ่งเป็นภาษารุ่นน้องที่ถูกคนเขียนภาษารุ่นพี่รุมประนามอย่างบ่อยครั้ง ตั้งแต่เรื่องความจุกจิกของ syntax (write once, debug everywhere) ไปจนถึงเรื่องความช้า (knock knock knock – who’s there ? – (long pause) – Java) เท่าที่ผมจำความได้ ผมไม่ค่อยจะเห็นผู้เขียนภาษาจาวาจู่โจมภาษาอื่นๆมากนักครับ แค่ปกป้องตัวเองก็ร่อแร่อยู่แล้ว ความคิดที่ติดหัวผมในตอนแรกที่เริ่มเขียนโปรแกรม “ทุกภาษาก็มีข้อดีข้อเสียและความเหมาะสมของตัวเอง”  ถึงเราจะเอาไขควงไปตอกตะปูได้ แต่ก็ไม่ควรเอาค้อนไปไขสกรูอยุ่ดี

แบบที่ 2 เกลียด เพราะใช้แล้วไม่พอใจ

ผมไม่สามารถดำรงความเป็นกลางในข้อข้างต้นได้เมื่อผมได้ลองขยับจากภาษาจาวาไปยังภาษาอื่นๆครับ เริ่มตั้งแต่ PHP ที่โปรเจคแรกที่ทำ ก็เจอโค้ดแบบสปาเก็ตตี้โบล์ว ทำให้รู้สึกว่า ภาษานี้มันช่างล่อลวงให้คนเขียนสร้างโค้ดอุบาทว์ๆเหลือเกิน อย่างไรก็ตามผมยังพอยอมรับ PHP ได้ครับ เพราะมันเอาไปรับจ๊อบได้ดี =)

ความอดทนของผมสิ้นสุดเมื่อมาเขียน Symbian C++ นี่แหละครับ ไม่ขอพูดว่าทำไมละกัน เพราะมันก็มีเหตุผลของมันที่ต้องเป็นแบบนั้นนั่นแหละ แต่ถึงปัจจุบันผมก็ยังเกลียดมัน และความเกลียดยังลามไปถึง C++ ด้วย

การต่อต้านการเปลี่ยนแปลงใหญ่ปัญหาขององค์กรจำนวนไ่ม่น้อย เช่นเดียวกัน การเปลี่ยนแปลงภาษาและเครื่องมือที่ใช้เขียนโปรแกรมจะทำให้โปรแกรมเมอร์รู้สึกต่อต้านลึกๆอยู่ในใจ และพยายามคิดหาเหตุผลที่รองรับตามมา  เมื่อโปรแกรมเมอร์คนไหนทดลองเปลี่ยนไปใช้ภาษาอื่นที่มีแนวคิดต่างกัน โอกาสที่โปรแกรมเมอร์จะรู้สึกต่อต้านและเกลียดภาษานั้นๆจึงสูงมากครับ (ยกเว้นแต่ว่า เปลี่ยนเพราะอยากลองเอง)

แบบที่ 3 เกลียดโดยหลักการ

ในมุมมองของผม นิยามของคำว่า”หลักการ”จะแตกต่างจาก m3rlinez และ teerapap.c พอสมควรครับ

ตัวอย่างเช่น ผมเกลียดภาษา C# + ASP.NET เพราะมันเป็นระบบปิด แค่จะหาทูลมาลองเขียนยังวุ่นวาย เหมือนต้องไปง้อไมโครซอฟต์ ผมจึงไม่ได้ศึกษา (ซึ่งก็ถือเป็นการเสียโอกาสพอควรเหมือนกัน)

ส่วนเรื่องจุกจิกอย่างการเซ็ตอัพโมดูลต่างๆใน PHP หรือความอุบาทว์ในการเจนโค้ดให้เองนี่ผมกลับไม่รู้สึกรู้สาอะไรมาก

หรืออีกกรณีนึงคือ python ที่ผมค่อนข้างชอบภาษานี้ด้วยซ้ำ แต่ผมเลือกที่จะไม่ศึกษาภาษานี้ต่อยอด สาเหตุเพราะหาตลาดแรงงานของภาษานี้ยากในเมืองไทย ผมจึงเอนไปทาง php มากกว่า

——————

จบท้ายที่ว่า เราควร “มองภาษาเป็นเครื่องมือ” และเลือกใช้เครื่องมือให้เหมาะสมกับงาน… แต่หลายเืดือนที่ผ่านมา การทำงานทำให้ผมมองว่า โลกของธุรกิจ “มองภาษาเป็นต้นทุน” ซึ่งภาษาที่เหมาะสมกับงานที่สุด อาจไม่ได้เป็นต้นทุนที่ต่ำที่สุดเสมอไป

(ต้นทุนในที่นี้ หมายถึงเงิน ทรัพยากร และเวลาครับ)

ขอให้สนุกกันการเขียนโปรแกรมครับ

  1. #1 by อรุช on February 23, 2010 - 3:57 pm

    เขียนบ้างดีกว่า ชักมีไฟ

  2. #2 by teerapap on February 23, 2010 - 4:02 pm

    “…จะเอาไขควงไปตอกตะปูได้ แต่ก็ไม่ควรเอาค้อนไปไขสกรูอยุ่ดี”
    ชอบประโยคนี้ว่ะ ฮ่าฮ่า

  3. #3 by tot-anusak on February 24, 2010 - 3:13 am

    น่าชื่นใจจริงๆ ทั้งสามคนกล่าวถึง PHP กันหมด

    ปัญหาเรื่องสปาเก็ตตี้โบล์วนี่… ปัจจัยหลักน่าจะอยู่ที่คนเขียนแล้วล่ะมั้ง ตัวภาษาค่อยรองลงมา
    เคยเห็นอยู่เหมือนกัน โค้ด Java กับ C# ในสไตล์ method เดียวทำได้ทุกอย่างบนโลก

  4. #4 by m3rlinez on February 24, 2010 - 1:03 pm

    ตอนนี้คงทำใจเกลียด ABAP ไม่ได้สินะ เด๋วไม่มีกิน ฮะๆ

    IT’s great to hear from the others!

  5. #5 by DANNY on May 10, 2010 - 5:52 am

    ชอบแนวคิดคับ ดีใจจริงๆที่ได้อ่านข้อความแนวคิดของพี่

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: