เคล็ดลับการเรียน Programming Language ให้เข้าใจถ่องแท้

Sui Sensei
G-Able
Published in
2 min readApr 7, 2023

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

Photo by saeed karimi on Unsplash

ภาษาโปรแกรมมิ่ง ก็เป็นภาษา

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

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

ภาษาที่มนุษย์ใช้สื่อสาร จะมีการแบ่งเป็นประโยค ภายในประโยคจะมีโครงสร้างของประโยคที่เรียกว่าไวยากรณ์ของภาษา เช่น ประธาน กิริยา กรรม คำเชื่อม คำขยาย และ มีคำศัพท์ของภาษานั้น ๆ

ภาษาคอมพิวเตอร์ก็เช่นกัน มีคำศัพท์ และ ไวยากรณ์ในการสร้างประโยคขึ้นมาเพื่อสื่อสารกับคอมพิวเตอร์ แต่ง่ายกว่าภาษามนุษย์ตรงที่ มีแต่ประโยคที่ใช้สำหรับสั่งงานเท่านั้น

เริ่มศึกษาภาษาโปรแกรมมิ่งอย่างไร?

ภาษาโปรแกรมมิ่งทุกภาษาจะมีองค์ประกอบสำคัญ ๆ ดังนี้

  1. รูปประโยค (Statement)
  2. คำศัพท์ (keyword, reserve word, with space)
  3. ชนิดของตัวแปร (Data Type , literal)
  4. ตัวกระทำ (Operator)
  5. การควบคุมการไหล (Control flow)
Photo by Alvaro Reyes on Unsplash

ในตอนเริ่มศึกษาภาษาต่าง ๆ ผมจะมองหาสิ่งต่าง ๆ ทั้ง 5 ประเภทนี้ เริ่มจากรูปประโยค ภาษานั้นมีรูปประโยคอย่างไร เช่น ใช้การขึ้นบันทัดใหม่ หรือ การใช้เครื่องหมายพิเศษ เช่น ; {} เป็นต้น นอกจากนั้นสิ่งที่ต้องทราบก็คือ ภาษานั้นเป็น case sensitive หรือไม่

ต่อจากรูปประโยค ก็จะต้องเรียนรู้คำศัพท์ต่าง ๆ ของภาษานั้น คำต้องห้ามที่ไม่สามารถนำมาใช้ประกาศเป็นชื่อตัวแปร เช่น do , while , for, if , goto, sub, class เป็นต้น แต่ละภาษาจะมีคำสงวนเหล่านี้ไม่เหมือนกัน ต้องรู้เอาไว้และหลีกเลี่ยงการใช้

ต่อจากคำศัพท์ ก็คือ ชนิดของตัวแปร ต้องทราบว่าภาษานั้นมีวิธีการประกาศตัวแปรอย่างไร มีชนิดของตัวแปรอยู่กี่ชนิด ขอบเขตชีวิตของตัวแปรมีเงื่อนไขอย่างไร การประกาศคำสั่ง เช่น ฟังก์ชัน ซับรูทีน หรือ คลาส ทำได้อย่างไร และ มีเงื่อนไขอย่างไร ตัวแปรต่าง ๆ ที่ประกาศขึ้นมาแล้วสามารถเปลี่ยนชนิดได้อย่างไรมีกฏเกณฑ์อะไรบ้าง

ตัวกระทำ เป็นเรื่องของเครื่องหมายต่าง ๆ ที่นำมาใช้ในภาษานั้น ส่วนมากเป็นตัวกระทำทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร, ตัวกระทำทางตรรก เช่น เท่ากัน ไม่เท่ากัน มากกว่า น้อยกว่า มีตัวกระทำแปลก ๆ ในภาษานั้นหรือไม่ เช่น arrow function ใช้เครื่องหมาย =>

เรื่องสุดท้ายคือ control flow ซึ่งก็คือ ประโยคเปรียบเทียบด้วยเงื่อนไขเพื่อเลือกทำงานอย่างใดอย่างหนึ่ง (if, else, switch) การทำงานแบบวนซ้ำ (for , do-while)

ลักษณะเฉพาะของภาษา

ภาษาแต่ละภาษาอาจจะมีลักษณะเฉพาะของภาษาเช่น เป็นภาษาแบบเชิงวัตถุ (Object Oriented Programming), Functional Language, Parallel processing languages, Structure Query Language แต่ละภาษาจะมีลักษณะเฉพาะที่แตกต่างกัน ซึ่งก็ต้องอาศัยเวลาเพิ่มเติมในการศึกษาความสามารถเฉพาะของแต่ละภาษามากน้อยแตกต่างกันไป

นอกจากลักษณะเฉพาะแล้ว ภาษาทุกภาษาจะมีไลบรารีพื้นฐานมาให้ใช้ เช่น การจัดการกับตัวเลข ตัวอักษร เวลา และข้อความ, การแสดงผล, การอ่านเขียนไฟล์, การเชื่อมต่อเน็ตเวิร์ค ฯลฯ ซึ่งต้องค่อย ๆ เรียนรู้เพิ่มเติมทีละเล็กทีละน้อย

ฝึกฝน ฝึกฝน และ ฝึกฝน

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

--

--