Skip to main content

ทำไมควรเรียนรู้ภาษา JavaScript ?

Kongvut Sangkla

Intro

JavaScript (JS) คือภาษาคอมพิวเตอร์ชนิดหนึ่ง (ไม่ขอเล่าความเป็นมาละกันจะยาวไป) ที่มีอัตราเติบโตสูงมาก ๆ อ้างอิงข้อมูลจาก Stackoverflow (เว็บไซต์อารมณ์คล้าย ๆ Pantip ของชาวโปรแกรมเมอร์) ได้ทำแบบสำรวจทุกปีไว้ (ล่าสุด 2019) สถิติเทคโนโลยียอดนิยม เป็นอัน 1 (ที่มา https://insights.stackoverflow.com/survey/2019#most-popular-technologies)

(ที่มา https://insights.stackoverflow.com/survey/2019#most-popular-technologies)

Stackoverflow Developer Survey Results
2019, Most Popular Technologies, Scripting, and Markup Languages

ทำไมควรเรียน JavaScript ?

ทีนี้มาดูปัจจัย 6 ข้อที่ผมพยายามสรุปว่า ทำไมควรเรียน JavaScript ?

1. ง่ายต่อการเริ่มต้น (แค่คุณมี Web Browser คุณก็เขียน JS ได้แล้ว)

ข้อนี้ไม่ได้จะอวยนะครับ แต่คือภาษาอื่น ๆ ส่วนใหญ่ ต้องลงตัวแปลภาษา (Compiler) ตั้งค่า Env (Environment) ก่อนถึงจะเขียนและแสดงผลออกได้ แต่สำหรับภาษา JS คุณสามารถฝึกเขียนได้ผ่านหน้า Console ของ Dev-Tools ของ Web Browser ได้เลย อีกทั้งภาษา JS นั้นเป็นภาษาระดับสูง (หมายถึงมีความใกล้เคียงภาษามนุษย์) ทำให้ง่ายต่อการศึกษา

2. เป็นภาษาอันดับ 1

ถ้าลองหาข้อมูลดูจากชุมชน Stackoverflow หรือชุมชนแหล่งเก็บโค้ดบน Github จะพบว่า Top Language คือ JS โดยผมจะอ้างอิงเชื่อข้อมูลจากแหล่งเหล่านี้มากที่สุด เพราะเป็นแหล่งที่น่าเชื่อถือและใกล้ชิดกับ Developer มากที่สุด และก็รู้ ๆ กันอยู่แล้ว แหล่งอ้างอิง

3. คุ้มเพราะเป็นภาษาเดียวที่ทำได้ (เกือบ) ทุกอย่าง (และดี)

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

  • Mobile App: ใช้ React Native
  • Web App Frontend: ใช้ React, Vue.js, Angular
  • Web App Backtend: ใช้ Node.js
  • Desktop App: ใช้ Electron.js
  • IoT: Cylon.js, Favor, IoT.js, Noduino

4. เขียนภาษาเดียว และเงินเดือนเฉลี่ยสูง จำนวนความต้องการสูง

ถ้าสมมุติหาโปรแกรมเมอร์เข้าทีม และ Stack ที่ใช้ทั้งหมดเป็น JS มันก็ช่วยลดความหลากหลายของเทคโนโลยีได้ อีกทั้งถ้าลองสืนค้นข้อมูลการรับสมัครงาน (https://th.indeed.com/) ที่เกี่ยวกับภาษา JS จะพบว่าเงินเดือนเฉลี่ยและมีจำนวนความต้องการสูง

5. ฟรีและชุมชุนใหญ่ (มาก ๆ)

เป็นภาษาที่ใช้งานได้ฟรี และเครื่องมือที่ใช้ร่วมหลายตัวก็ฟรีและดี โดยเรื่องสำคัญคือมีชุมชุนที่ใหญ่มาก เรื่องชุมชนมีความสำคัญอย่างไร ? มีความสำคัญอยู่ตรงที่ว่าถ้าหากระหว่างโค้ดแล้วมีปัญหา เราสามารถสืบค้นหรือสอบถามได้ง่าย เพราะมีผู้ใช้งานเยอะนั่นเอง และการมี NPM (เป็น Package manager ของ JS) นั่นทำให้มี Packages Modules จากนักพัฒนาทั่วโลกเยอะมาก เป็นข้อดีที่ช่วยเราได้เยอะเพราะฟังก์ชันบางอย่างเราไม่ต้องสร้างเองก็ได้ สามารถใช้จาก Package อื่น ๆ จากชุมชนได้เลย

6. เป็นภาษาที่มีประสิทธิภาพสูง

ภาษา JS เป็นภาษาที่มีประสิทธิภาพการทำงานดี (ไม่ถึงกับสูงมาก) มีภาษาอื่น ๆ เช่น Go ที่มีประสิทธิภาพสูงกว่า แต่ได้รับความนิยมน้อยกว่า จากที่ได้รวบรวมข้อมูลมาสรุปได้ว่า เป็นเพราะไม่จบในภาษาเดียวและมีชุมชนที่น้อยกว่า โดยประสิทธิภาพของ JS เป็นรอง Go ไม่ได้ทิ้งห่างมาก อีกทั้งยังมีบริษัทระดับโลกก็เลือกใช้สามารถดูได้ที่ https://stackshare.io/stacks

แหล่งศึกษาเรียนรู้ภาษา JS

ผมใช้แหล่งเนื้อหาเหล่านี้เพื่อเรียนรู้ภาษา JS (เพิ่งเรียนเสร็จเลยอยากรวบรวมเนื้อหาไว้ให้ผู้สนใจศึกษา) จะพยายามอัปเดตเนื้อหาเรื่อย ๆ (อันที่จริงผมเขียน JS มานานแล้ว พอมีพื้นฐานมาบ้างสมัยเขียน jQuery) แต่ตอนนี้ JS เปลี่ยนไปมากตั้งแต่เป็น JS ES5/6 ผมเลยจึงต้องเริ่มศึกษาใหม่

ผมรู้สึกว่าการศึกษาพื้นฐานให้แน่นจะดีกว่า ไปศึกษาที่ตัว Tools ก่อนครับ เช่น ผมไปศึกษา React (เป็น Library Framework สำหรับช่วยเขียน JS ตัวหนึ่ง) แต่สุดท้ายต้องกลับมาทบทวน JS ES6 ใหม่ เพราะบางทีก็ติด บางทีก็งง

แหล่งเนื้อหาจะเป็น รายชื่อคอร์ส และลิงก์ต่าง ๆ ที่ผมได้อ่านศึกษานะครับ ลิสไว้ให้เผื่อใครอยากเรียนรู้ครับ 😊 เมื่อเรียนจบแล้วค่อยมาเลือกว่าอยากเรียนรู้ Framework ตัวไหนสำหรับช่วยเขียน โดยตอนนี้มี 3 ตัวที่นิยมคือ React, Vue.js, Angular สามารถหาคอร์สเรียน หาอ่านบทความเปรียบเทียบตามเว็บแหล่งต่าง ๆ ได้ครับ หรือดู Roadmap จากที่นี่ก็ได้ https://roadmap.sh/frontend

  1. (Eng) https://javascript.info/

    • ระดับ: เริ่มต้น - สูง
    • ความง่ายต่อการศึกษา: 85%
    • รีวิว: เหมาะกับคนที่มีเวลาศึกษา รายละเอียดครบถ้วน (สอน Code quality ด้วย) มีปุ่มให้กด Edit/Preview Code สำหรับใครอยากศึกษา JS เบื้องต้นอ่านแค่ Part 1 ก็ได้ เอาไว้อ้างอิงได้ หรือจะอ่านให้จบทุก Part ที่เว็บเดียวก็ได้
  2. (Eng) https://flaviocopes.com/tags/js/

    • ระดับ: กลาง - สูง
    • ความง่ายต่อการศึกษา: 25%
    • รีวิว: เหมาะสำหรับผู้ที่มีความรู้อยู่แล้ว เป็นเว็บแนว Blog เอาไว้อ่านเก็บสกิล เวลาว่าง ๆ นอกจากนี้เว็บนี้ยังมี Tags อื่น ๆ ที่น่าสนใจให้อ่านด้วย (เว็บนี้มี E-book พวก JavaScript Vue.js Node.js Express.js React แจกฟรีด้วยนะ)
  3. (Thai) https://github.com/mbeaudru/modern-js-cheatsheet/blob/master/translations/th-TH.md

    • ระดับ: กลาง - สูง
    • ความง่ายต่อการศึกษา: 35%
    • รีวิว: เหมาะสำหรับผู้ที่มีความรู้และเข้าใจมาในระดับนึง บทความออกแนว Cheatsheet (ทำเป็นสรุปเนื้อหา) เนื้อหาครอบคุมถึง ES6 เลย ใครที่มีความรู้อยู่แล้วได้อ่านบทความนี้ก็เพียงพอได้เหมือนกัน อ่านสนุกและสามารถศึกษาโดยใช้เวลาไม่นาน (ไม่น่าเกิน 3 ชม.)
  4. (Thai) https://phyblas.hinaboshi.com/saraban/javascript

    • ระดับ: เริ่มต้น - สูง
    • ความง่ายต่อการศึกษา: 95%
    • รีวิว: เป็นเว็บบทความแนว Blog จะมีเนื้อหาสอนอธิบายจากง่ายไปยาก มีการแสดงตัวอย่างในรูปแบบต่าง ๆ ให้แสดงดู (ที่ดัดแปลงหลายแบบ) ส่วนตัวชอบเว็บนี้เพราะอ่านเพลิน (ยกตัวอย่างการเขียนโค้ดร่วมกับการ์ตูนโปรเกม่อน 55+ ชอบ ๆ) ส่วนรายละเอียดก็จัดเต็มเจาะลึกทุกรายละเอียด อ่านเว็บนี้เว็บเดียวก็เพียงพอเหมือนกัน
  5. (Thai) https://fb.com/groups/ThaiPGAssociateSociety/permalink/950988315112438/

    • ระดับ: กลาง - สูง
    • ความง่ายต่อการศึกษา: 45%
    • รีวิว: สรุปพื้นฐาน JS (Thai) อ่านเล่นเพลิน ๆ แต่ควรมีความรู้พื้นฐานก่อนนะครับ
  6. (Video Eng) เน้นฟรี 😅

  7. (Thai) ความรู้เกี่ยวกับ Promise และ Async/Await

  8. (รวม) ความรู้สำหรับอ่านเล่น

  9. (React) ความรู้เกี่ยวกับ React

    • ระดับ: กลาง - สูง
    • ความง่ายต่อการศึกษา: 35%
    • รีวิว: เอกสารเกี่ยวกับ React (ควรเรียน JS ก่อน) (จะอัพเดทเรื่อย ๆ)
  10. (Vue.js) ความรู้เกี่ยวกับ Vue.js

    • ระดับ: กลาง - สูง
    • ความง่ายต่อการศึกษา: 35%
    • รีวิว: เอกสารเกี่ยวกับ Vue.js (ควรเรียน JS ก่อน) (จะอัพเดทเรื่อย ๆ)
Loading...