Graph Programming

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

พูดถึง Graph Programming ต้องย้อนกลับไปตั้งแต่ผู้เขียนยังเรียนอยู่มหาลัยฯ ปี 2 ซึ่งตอนนั้นผู้เขียนได้เรียนวิชา Data Structure and Algorithm ซึ่งในวิชานั้น ก็มีการสอนถึง Data Structure หลายๆตัว เช่น Queue, Stack, Linklistและก็รวมทั้ง Graph นี้ด้วย แต่สิ่งที่ต่างกันคือ ถ้าเป็น Queue, Stack หรือ Linklistอาจารย์เค้าจะเจาะเข้าไปให้เราดูโค้ด เอาไปใช้งาน แต่พอเป็น Graph กลับมีแค่การอธิบายทฤษฎี และการนำเอาไปใช้ ไม่ได้ลงโค้ด ผู้เขียนจึงได้ไปถามอาจารย์ท่านว่า ทำไมถึงไม่มีการสอนเชิงลึกเกี่ยวกับเรื่องนี้ ซึ่งอาจารย์ท่านก็ได้ตอบกลับมาว่า “เพราะแต่ละคน มีพื้นฐานไม่เท่ากันนะสิ ถึงแม้ว่าแต่ละคน จะเรียนมาเหมือนกัน แต่ในเมื่อสุดท้าย แต่ละคนมีพื้นฐานที่ไม่เท่ากันแล้ว จะสอนเรื่องให้ยากเกินไปเลยไม่ได้”