เขียนโปรแกรมเป็นแล้วทำอะไรได้
ขอต้อนรับทุกท่านเข้าสู่คอร์ส “Intro to programming with JavaScript” ในคอร์สนี้เราจะมารู้จักกับโลกของการเขียนโปรแกรมกัน
ว่าแต่ เราเขียนโปรแกรมกันไปทำไม เขียนเป็นแล้วทำอะไรได้?
ผมมองว่า คนที่เขียนโปรแกรมเป็น เหมือนว่าเขามีเวทมนตร์หรือพลังพิเศษสักอย่าง ที่เขาสามารถสื่อสารกับคอมพิวเตอร์แล้วเข้าใจ สามารถให้มันทำงานตามที่เขาสั่งได้
ในโลกของคอมพิวเตอร์ มีภาษาโปรแกรมมิ่งให้เลือกใช้อยู่หลายภาษามาก โดยในคอร์สนี้เราจะมาทำความรู้จักกับภาษาหนึ่งที่ชื่อว่า “JavaScript” ซึ่งเป็นภาษาที่ใกล้ตัวพวกเรามากๆ
ภาษา JavaScript กับภาษา Java เป็นคนละภาษากัน
ในโลกของคอมพิวเตอร์ยังมีภาษาอีกภาษานึง ที่ดังมากๆ ชื่อว่า “Java” แต่ถึงชื่อของมันจะคล้ายๆ กับ JavaScript แต่สองภาษานี้เป็นคนละภาษากันโดยสิ้นเชิง (เหมือนคำว่า “แมว” กับ “แมวน้ำ” ที่มีความหมายไม่เหมือนกันเลย) หากคุณขี้เกียจพูดชื่อภาษา JavaScript แบบเต็มๆ ขอแนะนำให้ย่อเป็น “JS” แทน
ร่ายคาถา
หากคุณมีคอมพิวเตอร์ใช้ และมีโปรแกรมเว็บเบราว์เซอร์ อย่างเช่น Google Chrome เพียงเท่านี้คุณก็อยู่ห่างจากโลกเวทมนตร์นี้อยู่แค่เพียง 3 คลิกเท่านั้น!
ลองเปิดเว็บ Google ขึ้นมา (1) คลิกขวา (2) เลือกเมนู Inspect (3) แล้วจะมีสิ่งที่เรียกว่า Developer tools (เครื่องมือสำหรับนักพัฒนา) โผล่ขึ้นมา
(4) แล้วก็กดไปที่แท็บ Console ก็จะเจอกับหน้านี้ (5) ที่เรียกว่า “JavaScript Console” ครับ ในนั้นจะมีช่องว่างให้พิมพ์โค้ดเข้าไป
ผมลองร่ายคาถานี้เข้าไป โดยการพิมพ์ลงไปในช่องนั้น:
jsdocument.body.style.background = 'pink'
พอกดปุ่ม Enter พื้นหลังของหน้าเว็บนี้ ก็จะเปลี่ยนเป็นสีชมพูทันทีครับ
จะเห็นว่า พอเราเขียนโปรแกรมได้ เราก็จะสามารถสั่งให้คอมพิวเตอร์ทำในสิ่งที่ปกติแล้วผู้ใช้งานทั่วไปไม่สามารถทำได้ครับ
ความท้าทายในการเขียนโปรแกรม
การเขียนโปรแกรมจะมีความท้าทายอยู่อย่างนึง ตรงที่คุณต้องพิมพ์โค้ดให้ถูกต้อง “เป๊ะๆ” โปรแกรมถึงจะทำงานได้ ปกติคนเราคุยกัน พูดผิดนิด พิมพ์ผิดหน่อย ถ้ามันยังพอเข้าใจความหมายที่ต้องการจะสื่อ ก็ยังคุยกันรู้เรื่องอยู่ แต่ว่าภาษาคอมพิวเตอร์เนี่ย ต้องพิมพ์ให้ถูกต้องทุกตัวอักษร
ถ้าพิมพ์ผิดแม้แต่เพียงตัวเดียว คาถาของเราอาจจะใช้งานไม่ได้
ตัวอย่างเช่น ถ้าผมเผลอพิมพ์คำว่า ‘Document’ แทน ‘document’ (ใช้ตัว D พิมพ์ใหญ่ แทน d พิมพ์เล็ก) คอมพิวเตอร์จะไม่เปลี่ยนสีพื้นหลังให้ แต่จะแจ้งข้อผิดพลาดกลับมาแทน
ในบางเคสที่แย่กว่านั้น โค้ดของเราอาจจะยังทำงานได้ แต่ให้ผลลัพธ์ไม่ตรงกับที่เราต้องการครับ เป็นเรื่องที่ต้องระวังมากๆ
ความสูญเสียที่เกิดจากบั๊ก
มีเรื่องราวความสูญเสียมากมายที่เกิดจากบั๊ก อย่างเช่นในปี 1998 NASA ได้สูญเสียยานสำรวจดาวอังคาร Mars Climate Orbiter ไปทั้งลำ เพราะโปรแกรมสองโปรแกรมที่ทำงานบนยานอวกาศ ใช้หน่วยวัดคนละหน่วยกัน คิดเป็นมูลค่าความเสียหายกว่า 125,000,000 ดอลลาร์สหรัฐ และในปี 1985 เครื่องเครื่องฉายรังสี Therac-25 (รักษาโรคมะเร็ง) ทำให้ผู้ป่วยเสียชีวิต 3 คน เนื่องจากบั๊กในโปรแกรม ทำให้เครื่องเครื่องฉายรังสีทำงานเยอะกว่าที่ควรกว่า 100 เท่า
แต่ในทางกลับกัน แทบทุกอย่างที่คอมพิวเตอร์ทำ จะมีเหตุผลที่สามารถอธิบายได้เสมอ เพราะแทบทุกรายละเอียดในคอมพิวเตอร์ มีมาตรฐานของกำกับไว้อย่างชัดเจนครับ
แต่เอาจริงๆ เราไม่จำเป็นต้องรู้รายละเอียดทั้งหมดก็ได้ เหมือนกับเวลาขับรถ เราก็ไม่ได้ต้องรู้ทุกชิ้นส่วนที่อยู่ในรถ แต่ยิ่งรู้เยอะเท่าไหร่ก็ยิ่งทำอะไรได้มากเท่านั้นครับ
สรุปสั้นๆ ก็คือ การเขียนโปรแกรม มันก็เหมือนการคุยกับคอมพิวเตอร์ ถ้าคุยกับมันรู้เรื่อง คอมพิวเตอร์ก็จะทำตามสิ่งที่เราต้องการจะสั่งมันได้ครับ