Skip to content
This page is a draft. It may be incomplete or contain inaccuracies. If you have any comment, please feel free to leave some feedback!

เขียนโปรแกรมเป็นแล้วทำอะไรได้

  • ขอต้อนรับทุกท่านเข้าสู่คอร์ส “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” ครับ ในนั้นจะมีช่องว่างให้พิมพ์โค้ดเข้าไป

  • ผมลองร่ายคาถานี้เข้าไป โดยการพิมพ์ลงไปในช่องนั้น:

    js
    document.body.style.background = 'pink'
  • พอกดปุ่ม Enter พื้นหลังของหน้าเว็บนี้ ก็จะเปลี่ยนเป็นสีชมพูทันทีครับ

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

ความท้าทายในการเขียนโปรแกรม

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

  • ถ้าพิมพ์ผิดแม้แต่เพียงตัวเดียว คาถาของเราอาจจะใช้งานไม่ได้

    ตัวอย่างเช่น ถ้าผมเผลอพิมพ์คำว่า ‘Document’ แทน ‘document’ (ใช้ตัว D พิมพ์ใหญ่ แทน d พิมพ์เล็ก) คอมพิวเตอร์จะไม่เปลี่ยนสีพื้นหลังให้ แต่จะแจ้งข้อผิดพลาดกลับมาแทน

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

    ความสูญเสียที่เกิดจากบั๊ก

    มีเรื่องราวความสูญเสียมากมายที่เกิดจากบั๊ก อย่างเช่นในปี 1998 NASA ได้สูญเสียยานสำรวจดาวอังคาร Mars Climate Orbiter ไปทั้งลำ เพราะโปรแกรมสองโปรแกรมที่ทำงานบนยานอวกาศ ใช้หน่วยวัดคนละหน่วยกัน คิดเป็นมูลค่าความเสียหายกว่า 125,000,000 ดอลลาร์สหรัฐ และในปี 1985 เครื่องเครื่องฉายรังสี Therac-25 (รักษาโรคมะเร็ง) ทำให้ผู้ป่วยเสียชีวิต 3 คน เนื่องจากบั๊กในโปรแกรม ทำให้เครื่องเครื่องฉายรังสีทำงานเยอะกว่าที่ควรกว่า 100 เท่า

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

    แผนภาพแสดงมาตรฐานต่างๆ ที่ทำงานร่วมกัน จนทำให้คอมพิวเตอร์สามารถเข้าใจคำสั่ง document.body.style.background = 'pink' ได้
  • แต่เอาจริง เราไม่จำเป็นต้องรู้รายละเอียดทั้งหมดก็ได้ เหมือนกับเวลาขับรถ เราก็ไม่ได้ต้องรู้ทุกชิ้นส่วนที่อยู่ในรถ แต่ยิ่งรู้เยอะเท่าไหร่ก็ยิ่งทำอะไรได้มากเท่านั้นครับ

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