Another Side Of Programming

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

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

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

เมื่อบ้านของเราผ่านการทดสอบเรียบร้อยแล้ว เราก็สามารถเข้าไปอยู่ได้แล้ว ก็เหมือนกับ การให้ User เข้าไปใช้ได้จริง

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

จบ !!! เข้าใจตรงกันนะ !!!