ยุคนี้เป็นยุคดิจิตอล เจอของที่เป็นเทคโนโลยีเต็มไปหมด ซึ่งหลายๆ อุปกรณ์ก็ถูกควบคุมด้วยซอฟต์แวร์หรือโปรแกรมต่างๆ ทำให้ควบคุมอุปกรณ์ต่างๆ ได้ง่ายขึ้น
ทำให้คนจำนวนหนึ่งสนใจที่จะเขียนโปรแกรม หรือในงานประจำที่ทำอยู่มีบางส่วนที่ต้องเขียนโปรแกรมเพื่อช่วยทำให้งานง่ายขึ้น หรือต้องไปคุยกับแผนก IT ให้เขาช่วยทำให้
ก็เห็นตามกลุ่ม facebook หรือมีคนรู้จักทักผมมาส่วนตัว ปรึกษาเรื่องการเขียนโปรแกรมอยู่บ้าง
การเขียนโปรแกรม คือ ?
การเขียนโปรแกรม คือ การเขียนลำดับขั้นตอนการทำงาน ถ้าเราทำซอฟต์แวร์ ก็คือการเขียนลำดับการทำงานให้กับคอมพิวเตอร์ หรืออุปกรณ์อื่นๆ ที่เราต้องการนั่นเอง หลักการคิดคือการคิดเป็นลำดับขั้นตอนว่า อะไรทำก่อน อะไรทำทีหลัง อะไรทำพร้อมกันได้บ้าง
ตั้งโจทย์
ขั้นแรก เริ่มจากคิดว่าเราจะทำอะไร ต้องตั้งโจทย์กันก่อนว่าจะเขียนโปรแกรมอะไร เช่น ทำเกม ทำเว็บไซต์ ทำแอปพลิเคชั่น หรือแค่เขียนเป็นฟังก์ชันรับค่าธรรมดา ทำในรูปแบบไหน ออกแบบการใช้งานกันก่อน เอาแบบ minimal ก่อน
ตัวอย่าง โปรแกรมหาค่า 1 + 2 + 3 + … + n ได้ค่าเท่าไร ทำในรูปแบบเว็บไซต์ กรอก input ค่า n เข้าไป แล้ว แสดงผลลัพธ์ ออกมาในอีกบรรทัดหนึ่ง
ออกแบบ
ขั้นที่สอง เราจะออกแบบ user interface หรือหน้าดาโปรแกรมที่เราจะใช้งาน (ถ้ามี ในกรณีที่ทำโปรแกรมที่มี interface) และ ออกแบบฟังก์ชันการทำงานของตัวโปรแกรม
ตัวอย่าง โปรแกรมหาค่า 1 + 2 + 3 + … + n เราออกแบบหน้าตาเป็นแบบนี้
และออกแบบฟังก์ขันการทำงานแบบนี้ (ในช่วงที่ยังไม่ชำนาญอยากให้ลองเขียนเป็น flowchartกันดูก่อนนะครับ)
หาเครื่องมือ
ขั้นที่สาม จากโจทย์เราทำโปรแกรมในรูปแบบไหน เช่น ทำเว็บไซต์ ต้องเขียน html, css, javascript หรือเขียนเกมใช้ unity ลอง search หาดูใน google ใน youtube หรือถามผู้รู้ดู พยายามหาที่มีตัวอย่างการใช้งาน จะได้เข้าใจง่ายขึ้น
ตัวอย่าง โปรแกรมหาค่า 1 + 2 + 3 + … + n เราจะทำเป็นเว็บไซต์ วิธีทั่วไปที่คนส่วนใหญ่ทำจะเป็น html, css, javascript พอเราไปศึกษาการทำเว็บด้วย html, css, javascript แล้วก็จะรู้ว่า
- html ไว้สร้างโครงหลักของเว็บ ใส่ส่วนประกอบต่างๆ เช่น input, button
- css ไว้จัดตำแหน่ง สี ความสวยงาม
- javascript ไว้เขียนฟังก์ชันการทำงาน
แล้วก็มาดูวิธีการเขียนโดยทั่วๆ ไปเพื่อให้เห็นภาพรวมว่า html, css, javascript เวลาเขียนแยกกันเป็นยังไง เวลาเอามาเขียนร่วมกันเป็นยังไง
เขียนโปรแกรม
ขั้นที่สี่ มาเขียนโปรแกรมกัน มันก็จะมีสองส่วนตามที่เราออกแบบนั่นแหละ ก็คือ ส่วนของ user interface หรือหน้าตา กับส่วนของฟังก์ชันการทำงาน
ส่วนของ user interface มักใช้ภาษาประเภท markup เช่น html, xml
ส่วนของฟังก์ชันการทำงาน มักจะใช้ภาษาประเภท script เช่น c, c++, c# python, java, javascript, go
ตัวอย่าง เราเขียนโปรแกรมตามที่ออกแบบไว้ตอนแรก (code ต่อไปนี้ยังไม่ได้ run ทดสอบนะครับ)
<html>
<head>
<title>Title</title>
</head>
<body>
<p>คำนวณ 1 + 2 + 3 + ... + n</p>
<div>
<div>n:</div>
<input />
</div>
<button onclick="onClick()">คำนวณ</button>
<div id="result">ผลลัพธ์:</div>
</body>
</html>
function onClick(e) {
var n = e.target.value
var sum = 0
var i = 1
while (i <= n) {
sum = sum + i
i = i + 1
}
document.getElementById("result").innerHTML = "ผลลัพธ์: " + sum
}
ทดสอบ
ขั้นสุดท้าย เมื่อเขียนโปรแกรมเสร็จแล้ว เราต้องทดสอบอีกทีว่าโปรแกรมทำงานถูกต้องหรือไม่
ตัวอย่าง โปรแกรมหาค่า 1 + 2 + 3 + … + n ลองกรอกค่า input เป็น 3 แล้วเราคาดหวังว่า ผลลัพธ์จะออกมาเป็น 6 (1+2+3 = 6) ลองกรอกค่า input เป็น 5 แล้วเราคาดหวังว่า ผลลัพธ์จะออกมาเป็น 15 (1+2+3+4+5 = 15)
ลองหลายๆ ค่าหน่อย ว่าผลลัพธ์เป็นตามที่คาดหวังหรือไม่ ถ้าไม่ตรงก็ต้องมีการแก้ไขให้มันทำงานถูกต้อง
ส่วนหน้าตา ถ้ายังไม่ตรงกับที่ออกแบบก็ปรับ code ในส่วนของ html จัดให้ตรงตามต้องการ
ขั้นตอนการเขียนโปรแกรมคร่าวๆ ก็ประมาณนี้ครับ สำหรับผู้เริ่มต้น
ขอให้สนุกกับการเขียนโปรแกรมนะครับ