หัดเขียนโปรแกรมสำหรับมือใหม่…

สวัสดีครับ สำหรับบทความวันนี้ผมอยากจะบอกก่อนว่า สำหรับคนที่เริ่มต้นหัดเขียนโปรแกรม (ภาษาใดภาษาหนึ่ง) นะครับ ส่วนคนที่เทพๆ แล้ว ก็อ่านผ่านๆ แล้วกันครับ ฮ่าๆๆ

อะนะ มาเข้าเรื่องเลยฝ่าาาาา เนอะะะะะ

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

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

เลือกภาษาที่ชอบ

อย่างแรกเลยนะ เราต้องเลือกภาษาที่เราชอบก่อน (อ้าว กูเพิ่มเริ่มแล้วจะชอบภาษาไหนวะ มึงแนะนำมาเลยดีกว่า) 5555 ถูกต้องครับ คนเริ่มต้นใหม่ๆ ไม่รู้หรอกว่าตัวเองชอบภาษาไหน เอาเป็นว่าเลือกภาษาง่ายๆ แล้วกันเนาะ เห็นภาพการทำงานของสิ่งต่างๆ และต่อยอดได้มาก นั่นคือ JAVA

ห้ะ…. มึงจะบ้าเหรอ JAVA นี่นะ ใครๆ เขาก็บอกว่ามันยาก บางคนบอก ยากชิบหาย เลยนะเฟ้ยยยยย

ฟังไม่ผิดหรอกครับ JAVA นี่แหละ เริ่มต้นง่ายดี โค้ดก็อ่านง่าย และผมจะบอกความลับให้อย่างนึง “JAVA ไม่ใช่ภาษาที่ยากครับ”

เริ่มต้นแบบคนยุคหิน

เห้ยยย นี่กำลังจะบอกว่าให้เขียนโค้ดแบบไม่พึ่งพา IDE เหรอวะ ใช่ครับผม ไม่ต้องพึ่งมันหรอกครับ ให้ใช้ Editor ในการเขียน เช่น Sublime Text, Edit Plus, Visual Studio Code อะไรพวกนี้

เพื่อให้คุณเขียนคำสั่งด้วยมือตัวเอง (ยิ่งเขียนผิดยิ่งดี จะได้จำได้ขึ้นใจ ว่ากูพิมพ์ตกนี่เอง) และทดสอบสั่งทำงานด้วยมือตัวเอง

เห้ยยยยย นี่จะให้เปิด cmd แล้วพิมพ์ javac, javap, java, jar เองหมดเลยเหรอ

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

เรียนรู้สิ่งที่จำเป็น

หัวข้อนี้คือผมกำลังจะบอกว่า ให้เรียนรู้ทุกสิ่งที่จำเป็นสำหรับมือใหม่ ถึงแม้ว่าสิ่งนั้นจะไม่เห็นผลอะไรเลย แต่คุณต้องรู้ครับ เช่น ตัวแปร ตัวดำเนินการ ลูป if else, switch case, array, string, casting, oop, stream, try catch…

และเรียนรู้ในสิ่งที่จะได้ใช้งาน เช่นพวกการจัดการฐานข้อมูล การจัดการไฟล์ การสร้างหน้าจอแบบ GUI : Graphics User Interface การจัดการ event, properties และอื่นๆ อีก

อ้าว ไอ้เวร ไหนบอกว่าเรียนรู้ในเวลาอันสั้นวะ ถูกต้องแล้วครับ

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

หัดอ่าน Error

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

นั่นล่ะครับ คือการโทษโน่น โทษนี่ โทษคอมไพเลอร์ โทษคอมตัวเอง แต่ไม่โทษโค้ดที่ตัวเองเขียน

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

คิดให้เป็นลำดับ

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

อย่ามองภาพใหญ่ครับ ให้มองภาพเล็กๆ เขียนลงกระดาษเลย อย่างแรกให้มีปุ่ม มีช่องกรอก user, pass ก่อน ยังไม่ต้องให้ทำงานอะไรได้ทั้งนั้น เอาแค่นี้ก่อน ถ้าได้ ผ่าน

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

ตามด้วย รับค่าจาก ช่องป้อนข้อมูลมาดูซิ มันรับมาได้ไหม มีค่าส่งมาหรือเปล่า ส่งมาเป็นอะไร ถูกต้องมั้ยกับที่ป้อน ถ้าได้ตรงนี้ผ่านอีก

เห็นมะ ค่อยๆ คิดทีละจุดครับ เก็บทีละส่วน แล้วเขียนลงกระดาษว่า “ผ่าน”

จากนั้นยังไงต่อ ก็เอาค่าที่ได้ไปวางในคำสั่ง SQL ดึงข้อมูลออกมา ถ้าดึงมาได้ตามเงื่อนไข ก็ผ่านอีก

แล้วตามด้วย มาเช็ค if ว่ามี user นี้จริง ก็ให้ทำอะไรต่อไป ก็ว่ากันไป เช่นเข้าสู่หน้าจอหลัก หรืออะไรก็แล้วแต่จะเขียน

อย่ายอมแพ้

ก่อนจบบทความนี้ อยากบอกทุกคนว่า อย่ายอมแพ้ครับ ทุกคนที่เขาเก่งกาจในวันนี้ ล้วนผ่านวันเวลาอันยากลำบากมาเหมือนเช่นคุณในวันนี้

หลายคนอดหลับอดนอน เขียนโค้ดได้บ้างไม่ได้บ้าง ศึกษาตำราหลายสิบเล่ม ในเรื่องเพียงเรื่องเดียว (จริงๆ นะ บางคนซื้อตำรา JAVA เป็นสิบๆ เล่ม) เพราะการอ่านเล่มเดียว อาจจะยังไม่เข้าใจ ต้องอ่านจากหลายๆ แหล่ง แล้วความรู้จะสะสม ตกผลึก กลายเป็นความเข้าใจทีละนิดเอง

เชื่อผมครับ คุณทำได้ ถ้าหากมีความฝันจะเป็นโปรแกรมเมอร์แล้ว

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

มีแค่คำตอบเดียวว่าทำไม หลายๆ คนเขาถึงหัดเขียนแล้วเขียนไม่ได้

“เขายอมแพ้” แล้วไปเลือกเดินเส้นทางอื่น…

การเขียนโปรแกรม ไม่ใช่เรื่องของพรสวรรค์ มันคือเรื่องของพรแสวง ล้วนๆ