ควรเริ่มเขียน Program ภาษาอะไรก่อนดี

Sommai Krangpanich
pnpsolution
Published in
1 min readJun 27, 2022
ควรเริ่มเขียน Program ภาษาอะไรก่อนดี
ควรเริ่มเขียน Program ภาษาอะไรก่อนดี

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

ทำไมต้องเป็นภาษา C

ภาษา C เป็นภาษาที่เป็นแรงบันดาลใจให้กับภาษาใหม่ ๆ ในปัจจุบัน เช่น Java, C# หรือแม้แต่ JavaScript เองก็มีโครงมาจากภาษา C เช่นกัน

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

ข้อดีของภาษา C

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

ข้อเสียของภาษา C

  • Case Sensitive อันนี้พูดในมุมการเรียนรู้ จากประสพการณ์ตรงที่สอนเด็ก ๆ อายุไม่เกิน 10 ขวบเขียนภาษา C จนไปถึงผู้ใหญ่ ตอนหัดเขียนครั้งแรกจะมีอาการเดียวกันเกือบหมดคืออ้างถึงตัวแปรคนละตัวกันแต่มันเขียนเหมือนกันเช่น Code, code ในภาษา C ถือว่าเป็นคนละตัว (ในความเห็นส่วนตัวมีความชื่นชอบรูปแบบ Case Sensitive มาก)
  • มี code template เฉพาะเจาะจงมากโดยเฉพาะเมื่อเทียบกับภาษารุ่นใหม่ ๆ เช่น python เป็นต้น ซึ่งก็จะเห็นใน social ชอบ share เทียบการเขียน Hello World ในแต่ละภาษาให้ดู ซึ่งส่วนตัวมองว่ามันเป็นแค่ส่วนประกอบของภาษาไม่ใช่ทั้งหหมดของมัน หรือเพราะชินแล้วเลยรู้สึกว่าปกตินะสำหรับการเขียนโปรแกรม

เล่าจากประสพการณ์

จากที่เคยสอนและทำ Project ด้วยภาษาต่าง ๆ มาทั้ง Java, C, Python, Node, Typescript, Javascript, Go, PL/SQL, Dart ก็ขอสรุปเลยว่าถ้าอยากให้พื้นฐานดีไปต่อยอดได้อีกหลาย ๆ ภาษา หลาย Framework ในอนาคต แนะนำให้เริ่มด้วย C ครับ

ตอนนี้ต้องรับบทสอนเด็ก ๆ ทั้งลูกทั้งหลาน ลูกตัวเอง ลูกเพื่อน ๆ ส่งมาเรียนกัน สิ่งที่คนพบก็คือ ถ้าเริ่มสอนที่ภาษา python ก่อนแล้วไปสอน C เด็ก ๆ จะไม่ชอบภาษา C ไปเลยเพราะพวกเขามองว่าภาษา C ยุ่งยาก ต้องเขียนต้อง compile กว่าจะ run ได้วุ่นวายไป

ในทางกลับกันถ้าสอนภาษา C ก่อนให้เรียนรู้หลักการ compile code, build, run พอเริ่มชำนาญแล้วค่อยไปสอน python เด็ก ๆ จะไปได้เร็วกว่าและสามารถสอนภาษาอื่นต่อได้เช่น javascript, Dart ซึ่งตอนนี้เด็ก ๆ สามารถเขียนภาษา Dart ได้ค่อนข้างคล่องจนสามารถทำเกมส์ง่าย ๆ ได้แล้ว

ฉนั้นเมื่อไหร่ที่เจอคำถามที่ว่าเริ่มต้นภาษาอะไรดีผมมักจะตอบว่าภาษา C เสมอทั้งนี้ทั้งนั้นยังมีองค์ประกอบอื่นอีกมากมาย หากท่านใดข้อคิดเห็นอื่น ๆ สามารถเข้ามาพูดคุยแลกเปลี่ยนกันได้ที่ หน้า page facebook : pnpsolution หรือ web site : www.pnpsw.com ได้ครับ

--

--