preload

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

(*BR – Blog Response)

หลังจากอ่าน blog เรื่อง ทำไมคนเราถึงเกลียดภาษาอื่นๆ ของ @m3rlinez แล้ว เกิดความรุ้สึกอยากแชร์ของตัวเองบ้าง เพราะมีความตรงกันข้ามกันกับของ @m3rlinez อย่างประหลาดๆ ฮ่าฮ่า

จะขอยึด เอาการเกลียดภาษาอื่นๆ 3 แบบ เหมือน blog ต้นฉบับเลยนะครับ

ส่วนตัวผม ตั้งแต่เด็กก็มีประสบการณ์ทั้ง 3 แบบเช่นกัน

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

สมัยเด็กๆ (คงจะช่วงเดียวกับ @m3rlinez แหละ) ผมค่อนข้างจะไม่ชอบ VB6 หลังจากแตะมันแค่นิดหน่อยเท่านั้น และเลือกที่จะเรียนรู้และเริ่มเขียน VC++ มากกว่า เพราะเห็นจากหนังสือว่า VB6 มันมีแต่ใช้ของที่คนอื่นเข้าสร้างมาเสร็จแล้ว เอามาประกอบ ลากแปะๆ มันไม่ได้เขียนโปรแกรมอะไรจริงๆ ถ้าอยากจะทำอะไรที่แปลกๆ ยากๆ แล้วไม่มีคนเขียน Control ให้ใช้ไว้ก่อนก็ทำไม่ได้ ถึงขนาดมีความคิดว่า “ถ้าเขียน VB6 นี่เราต้องตามตูดคนเขียน Control มาให้ตลอดไปงั้นเหรอ?” (สมัยเด็กผมยังเกรียนครับ)  เพราะฉะนั้นถ้าจะลงทุนเรียนรู้อะไร มันต้องเริ่มที่รากเลยสิ ต้องวิ่งลงไปข้างล่าง ทำมันให้ได้ แล้วมาเขียน VB6 Control ให้คนอื่นใช้ เท่ห์กว่ากันเยอะ

การตัดสินใจครั้งน้ันทำให้ผมพลาดโอกาสดีๆเยอะเหมือนกัน จะเขียนโปรแกรมคำนวนเกรดเฉลี่ยง่ายๆ แต่เสียเวลาเยอะมาก ขณะที่ถ้าเขียนด้วย VB6 คงจะแค่สะบัดๆก็ได้แล้ว  ยังอีกทั้ง มีเพื่อนคนนึง วิ่งไปทาง VB6 ถึงขนาดเขียนเกมส์ดิจิมอนส์ (ตอนนี้ยังมีให้โหลดอยู่เลย!!) ได้ลง Thaiware.com เป็นเกมส์โด่งดังในสมัยนั้นที่เขียนด้วยโดยเด็กม.ต้น   (แอบเจ็บใจลึกๆ ไอเราแค่เอารูปมาโชว์บนจอ ก็โคตรเสียเวลาแล้ว)

แต่ตอนน้ัน เขียนสร้าง Window form ดุ่ยๆขึ้นมาโชว์ ด้วยโค้ด C++ ล้วนๆ include<windows.h> นี่มันได้อารมณ์จริงๆนะ  (พยายามฝึกจำโค้ดนั้นอยุ่พักนึง กะจะไปโชว์คนอื่น) ถึงตอนนี้ก็ยังมีอคติลึกๆ กับ VB6 อยู่ดี และยังเขียนไม่ค่อยเป็นอยู่ทุกวันนี้ แม้ว่าจะรู้ว่ามันทำได้เร็วและใช้กันเยอะแค่ไหนก็ตาม

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

หลังจากหัด VC++ ซักพัก มีช่วงนึง ผมกระโดดไปหา Pascal เพราะอยากเขียนเกมส์บนดอส และรู้สึกว่า มันเป็นภาษาต่ำลงไปอีก เข้าใกล้ภาษาคอมพิวเตอร์เข้าไปอีก(จะเห็นว่าผมดำลงไปเรื่อย)  หลังจากอ่านหนังสือ และหัดเขียนอยู่ซักพัก เขียนได้ประมาณ Menu Console โปรแกรมบวกเลข ก็รู้สึกอยู่เต็มอกว่า เราไม่ชอบภาษานี้เอาเสียเลย โดยเฉพาะ syntax จะ assign ค่า ใช้ :=  ขัดใจมากกก จะเปิดจะปิด ใช้ begin..end ไม่ชอบมากๆๆ แล้วการประกาศตัวแปรอีก อะไรเนี่ย หลังจากนั้นก็ทิ้งและไม่แตะมันอีกเลย รวมทั้งตระกูล Delphi ด้วย โชคดีที่ ผมก็ไม่มีโอกาสต้องไปยุ่งมันอีกเหมือนกัน

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

ผมไม่ชอบ ASP (รวมทั้ง ASP.NET ด้วย) เอามากๆอยุ่ช่วงนึง ผมเริ่มเขียน Web app จาก html+CGI-Perl หลังจากนั้นก็เพิ่ม SSI เข้ามาแล้วก็ไปหา php ซึ่งอาจจะเพราะเริ่มจาก Perl ทำให้ผมชอบ PHP มาก เพราะความง่าย (บางคนแถวนี้บอก มักง่าย) และยืดหยุ่นมากสำหรับผม แล้วก็มา ASP ตามกระแสตอนนั้น และก็ไม่ชอบ และกระโดดกลับไปซบ PHP อยู่ดี ที่ผมไม่ชอบ ASP ไม่ใช่เพราะ syntax begin…end แต่เป็น ความพยายามยัดเยียดแนวคิด VB เข้ามาครับ ASP ตอนนั้นมันจะมี tag พิเศษประมาณว่าทำ Pagnition ให้เลย ทำปุ่มแบบพิเศษให้เลย เหมือนเอา Control แบบVB มาแปะบนเว็บให้เลยแหละครับ แล้วเบื้องหลัง ASP server มันจะแปลงเป็น HTML+VBscript น่าเกลียดน่ากลัวให้เอง ซึ่งผมไม่ชอบแนวคิดนี้มากๆๆๆ เพราะด้วยความรุ้สึกในแบบที่ 1 ไมโครซอฟท์มันเอาอีกแล้ว และรู้สึกไม่ยืดหยุ่นและไม่ basic เอามากๆ เหมือนเรา control มันไม่ได้ เทียบกับ PHP ที่ไม่มีอะไรแบบนี้เลย ขึ้นกับ เรา echo ออกไปเป็น html เท่านั้น พื้นฐานกว่ามาก ผมเลยไม่ชอบ ASP พอควร จนบัดนี้ ASP.NET ผมก็ยังไม่ชอบเท่าไหร่ แหละหลีกเลี่ยงที่จะใช้มัน ถ้าไม่จำเป็นครับ

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

ลองอ่านของผมกับของ @m3rlinez ต้นฉบับดูนะครับ เทียบๆแล้วจะเห็นความตรงข้ามกันอย่างประหลาด 55+

ผมเลยอยากเขียน blog นี้ชนกันไว้หน่อย

ปล. สังเกตดูก็ได้ blog @m3rlinez กับของผม ใครใช้ภาษาอะไร ความเกลียดหรืออคติพวกนี้มันฝังอยู่ลึกๆนะครับ ฮ่าฮ่า