/ inspiration

การเขียนโปรแกรม?

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

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


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

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

เมื่อผมได้รู้จัก อินเทอร์เน็ต ได้รู้จัก Search Engine ชีวิตก็เปลี่ยนไปอีก แทนที่จะเข้าห้องสมุด ผมก็เปิด Google แล้วหาซะ แทนที่จะพิมพ์ ผมก็ Copy มาแปะแล้วอาจจะแก้ไขสักเล็กน้อย สิ่งเหล่านี้ล่ะครับคือคำตอบของคำถาม เมื่อคุณรู้ว่ามีโปรแกรมคอมพิวเตอร์ไว้ทำอะไร คุณก็จะได้คำตอบว่าการเขียนโปรแกรมคืออะไร

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

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

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

“people don’t know what they want until you show it to them.”
― Steve Jobs

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

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

ขอย้ำอีกครั้งนะครับว่า “ภาษาโปรแกรม” ไม่ใช่ “ภาษาคอมพิวเตอร์”

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

ขั้นตอนการเขียนโปรแกรมก็สั้นๆ ง่ายๆ แค่นี้ล่ะครับ เราจะมาลงรายละเอียดกันในบทถัดๆ ไป ขอให้คุณปลุกพลังแห่งการเรียนรู้ในตัวคุณขึ้นมา แล้วเราจะมาเรียนรู้ร่วมกัน!!