Why I love programming ??

เมื่อไม่นานมานี้ผมได้อ่านเรื่องของ "วิกฤติเด็กไทยไม่ชอบเขียนโปรแกรม" ซึ่งก็บ่นว่างานหนักบ้าง เปรียบเป็นกรรมกรในห้องแอร์บ้าง ค่าตอบแทนก็น้อย แต่ผมว่าถ้าเราเถียงกันเรื่องพวกนี้ พวกแกเถียงกัน 10 ชาติก็ไม่จบหรอกครับ ผมว่าเราต้องมาคุยว่าทำไมเด็กไทยถึงมองว่าการเขียนโปรแกรมนั่นน่าเบื่อ ผมเลยอยากจะแบ่งปันประสบการณ์ว่าการเขียนโปรแกรมนั้นสนุกตรงไหน แต่ผมก็ไม่สามารถที่จะบังคับคนที่ไม่ชอบการเขียนใช้มาชอบการเขียนโปรแกรมได้หรอกครับ (เหมือนผมไม่ชอบคณิตศาสตร์นั่นแหละ ทำยังไงก็ไม่มีทางชอบเลย)

ผมเขียนโปรแกรมครั้งแรกตอนผมอยู่ ป.5 เริ่มด้วยภาษา VB (Visual Basic) ซึ่งเป็นภาษาที่ใช้เขียนโปรแกรมบน Windows (แต่จนถึงวันนี้ผมก็ไม่ค่อยได้ใช้แล้ว แต่มันเป็นความทรงจำภาษานี้ก็เลยจำตราตรึงใจ) ตอนนั้นใช้ Visual Basic 6 เป็น IDE (แสดงถึงยุคของมึงจริงๆ)
ตอนนั้นผมเขียน
'msgbox("Hello World")'
แล้วลองรันขึ้นมา ซึ่งก็เห็นเป็น Message Box ขึ้นมาว่า **Hello World **บนหน้าจอ ตอนนั้นผมตะลึ่งมาก
หลังจากนั้นก็ต่อยอดต่อเป็น "**msgbox("Hello World",MessageboxIcon.Information)" **
"โห นอกจากขึ้น Hello World แล้วยังมี เครื่องหมาย ? ด้วยล่ะ โหห สุดยอดด"
จึงทำให้ผมเกิดคำถามต่อไปว่า "เฮ้ยนอกจาก ? แล้วมันมีอะไรอีก แล้วต้องทำยังไง"
กลับมาที่ปัจจุบันผมมองย้อนกลับมาที่เหตุการณ์นั้นมันทำให้ผมรู้สึกว่า **"โห !!! การเขียนโปรแกรมมันสนุกมากเลยนะ เหมือนเราเป็นพ่อมดในคอมพิวเตอร์เลย !!!" **(ก็คือ มึง ดราม่านี่แหละ)

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

เหมือนกับเวทย์มนต์น่ะครับ ที่เราดูในหนัง ใช่ว่าพระเอก นางเอกที่ใช้เป็น จะต้องเกิดมาใช้เป็น มันก็ต้องเกิดจากการฝึกฝน การใช้ความพยายามในการศึกษา ผมอยากจะเปรียบเทียบ Keyboard ให้เหมือนกับไม้กายสิทธิ์ คุณก็จะต้องเรียนรู้ว่า จะสั่งงานมันยังไง

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

นอกจากวิธีนี้จะทำให้เราก้าวหน้ามาขึ้นแล้วมันยังฝึกให้เรารู้จัก การแก้ปัญหา ซึ่งเป็นทักษะที่สำคัญอของการเขียนโปรแกรมเลยทีเดียว

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