เพราะอะไรผมถึงมองว่าการเรียน JavaScript ถึงได้เปรียบมากกว่าเรียนภาษาอื่นๆ
สารบัญ
ยาวไปไม่อ่าน: โดยสรุปแล้ว JavaScript มีข้อได้เปรียบตรงที่เดิมเป็นภาษาโปรแกรมที่ไว้พัฒนาหน้าเว็บอย่างเดียว หลังจากมี Node.js และอื่นๆ ก็ทำให้การใช้ JavaScript ทำได้ทั้งแอปมือถือ แอปบนคอม หรือเว็บเซิร์ฟเวอร์ต่างๆขึ้นมาได้ ทำให้การเลือกเรียนภาษาเดียวเลยทำได้หลายอย่างพอสมควร ช่วยประหยัดเวลาผู้เรียนที่จะได้ไม่ต้องทำความรู้จักกับภาษาโปรแกรมที่หลากหลายมากเกินไป
#JavaScript คืออะไร?
JavaScript เป็นภาษาโปรแกรมที่กำเนิดเมื่อปี ค.ศ. 1995 เป็นภาษาเพื่อการรันบนระบบเทคโนโลยีเว็บร่วมกับภาษา HTML และ CSS เพื่อการแสดงผลหน้าจอผ่าน Web Browser จึงเป็นชุดภาษาที่เราอาจจะคุ้นเคยกันว่า จะพัฒนาหน้าเว็บก็ต้องเรียน HTML, CSS และ JavaScript (JS)
โดยคร่าวๆแล้วการที่เราเรียน HTML เราจะสามารถกำหนดโครงสร้างของเว็บได้ ว่าจะวางเนื้อหาเว็บส่วนใด โดยมี CSS ช่วยกำหนดว่าเนื้อหาต่างๆจะมีรูปร่าง สีสัน ลักษณะแบบใด สุดท้ายคือ JavaScript จะเป็นส่วนเสริม ที่ทำให้เว็บของเราจากเดิมเป็นเนื้อหาตายตัว กลายเป็น Web Application ที่มีระบบ มีความคิดในการคำนวณประมวลผลต่างๆ หรือเพิ่มลูกเล่นให้เว็บไซต์ของเรามากกว่าเดิม
#เมื่อเราอยากจะพัฒนาทุกอย่าง อาจจะต้องเรียนภาษาโปรแกรมที่หลายตัวมากขึ้น
เราจะเห็นว่าภาษา The Big Three (สามลูกพี่ใหญ่) อย่าง HTML, CSS และ JavaScript มีประโยชน์ในการสร้างหน้าเว็บเพียงอย่างเดียว ไม่สามารถทำเป็นเว็บเซิร์ฟเวอร์ได้ ไม่สามารถประมวลผลกับระบบหลังบ้านได้ จึงทำให้ในสมัยนึงจะมีภาษาโปรแกรม PHP ได้รับความนิยมอย่างมาก เพราะเป็นภาษาที่ใช้งานง่าย ออกแบบมาเพื่อพัฒนาเว็บที่ยุ่งยากในสมัยก่อนโดยเฉพาะ ทำให้เราจะต้องรู้จัก HTML, CSS, JavaScript เพื่อสร้างหน้าเว็บหรือที่เรียกว่า Frontend ที่เป็นส่วนการแสดงผล และใช้ภาษา PHP เพื่อสร้างระบบหลังบ้านหรือที่เรียกว่า Backend
ดังนั้นเราจะเห็นว่าเราอาจจะต้องทำความรู้จักหลายๆภาษามากขึ้น ยิ่งไปกว่านั้นหากเราอยากจะไปพัฒนาแอปบนมือถือ เราอาจจะต้องเรียนรู้ภาษา Java หรือ Kotlin สำหรับการพัฒนาบน Android และเรียนรู้ภาษา Swift สำหรับการพัฒนาบน iOS
ก็หมายความว่าเราจะต้องเรียน HTML, CSS, JavaScript, PHP, Java (Kotlin) และ Swift เราถึงจะสามารถทำได้ทั้ง Web Application และ Mobile Application ไปพร้อมๆกันนั้นเอง เราก็จะเห็นได้ว่าเราต้องเรียนหลายอย่างมาก หรือไม่ก็เราต้องหาทีมงานเข้ามาช่วยพัฒนาให้โปรแกรมของเรา สามารถรันระบบได้ในหลายๆ Platform
#Node.js ที่เปลี่ยนโลกของการพัฒนาโปรแกรม
Node.js เป็น Runtime Environment ที่จะเปิดโอกาสให้ภาษา JavaScript สามารถรันเป็นรูปแบบ Backend ได้ ดังนั้นเดิมที่เราจะต้องเรียนอย่างน้อยๆคือ HTML, CSS, JavaScript และ PHP เราก็สามารถตัดตัวเลือกการเรียนของ PHP ออกไปได้นั้นเอง
ส่วนของการพัฒนาเป็น Desktop Application ให้เหมือนที่ภาษา C# ก็สามารถพัฒนาเป็น Windows App ต่างๆออกมาได้นั้น เราก็สามารถใช้ Node.js ร่วมกับ Electron.js หรือตัวใหม่ที่ผมจะแนะนำเลยคือ Tauri ตัวนี้จะใช้งานได้ง่ายมาก ที่จะทำให้เราสามารถใช้ภาษา JavaScript ทำเป็นโปรแกรมออฟไลน์เปิดบนคอมทั่วไปได้เลย อีกทั้ง Tauri เองก็ยังสามารถทำเป็นแอปให้รันบนระบบ macOS ได้อีกด้วย
ส่วนของการพัฒนาเป็น Mobile Application ให้เหมือนที่ภาษา Java (Kotlin) และ Swift ที่รันบน Smartphone อย่าง Android และ iOS ได้ โดยส่วนใหญ่ยุคนี้จะใช้ Flutter กันเยอะมากซึ่งเป็นภาษา Dart เป็นคนละตัวกัน ภาษานี้ก็เรียนรู้ง่ายแต่ก็ต้องเรียนรู้ใหม่ หากเราจะยังคงใช้ JavaScript ก็มีเช่นกันเพียงแต่อาจจะไม่โด่งดังเท่าไหร่ อย่างการใช้ Capacitor.js (Ionic) แทนนั้นเอง และนอกจากนี้แล้วทาง Tauri ก็กำลังพัฒนาที่จะทำให้นอกจากทำเป็นแอปบนคอม ก็ยังสามารถทำเป็นแอปมือถือได้อีกด้วยในเวอร์ชั่น 2.0 ต้องติดตามกันต่อไป
#บทสรุป
ดังนั้นเราก็จะเห็นว่าเรียนแค่ 3 ภาษานี้ HTML, CSS และ JavaScript (Node.js) ก็จะช่วยให้เราสามารถทำงานได้กับหลากหลาย Platform อย่างมาก ไม่ต้องเรียน HTML, CSS, JavaScript, Java (Kotlin), Swift หรืออื่นๆที่มากกว่านี้ให้เหนื่อยกันอีกต่อไป
แต่อย่างไรก็ดีบางครั้ง Node.js เองก็อาจจะไม่ใช่ภาษาสำหรับทุกคน บางคนอาจจะไม่ถนัดวิธีการเขียนของ JavaScript ก็ได้ หรือไม่ชอบที่เป็นภาษาที่อาจจะไม่มีประสิทธิภาพที่ดีนัก อย่างเช่น การพัฒนาเกมส่วนใหญ่จะใช้ภาษา C++ หรือบริษัทขนาดใหญ่ที่อาจจะกังวล Open source ที่เริ่มต้นจากไม่กี่คน เพราะอย่าง Node.js เองก็ถูกพัฒนาเพียงคนเดียวเป็นหลัก ที่อาจจะมี บุคคลภายนอกเข้ามาช่วยการพัฒนาอย่างสม่ำเสมอ แต่ก็อาจจะไม่ใช่บุคคลที่มาจากบริษัทชื่อดังนั้นเอง ดังนั้นเราจึงยังมีทางเลือกที่มีระดับอย่าง Microsoft จะมี C# (.NET) และ Oracle มี Java เป็นต้น ซึ่งเป็นบริษัทใหญ่ที่จะได้รับความน่าเชื่อถือมากกว่า เป็นต้น
อย่างไรก็ดี จากประสบการณ์ที่ผมก็เขียนโปรแกรมมาหลากหลายภาษา ผมจะชื่นชอบ JavaScript มากที่สุดอยู่ดี เพราะเขียนง่าย และมี Community ที่เยอะกว่าอีกด้วย ทำให้เรามีข้อมูล มีตัวอย่างโปรแกรม มีผลงานจากคนอื่นที่ให้เราหยิบยืมมาใช้ได้อย่างสะดวกอีกด้วย
10 เว็บไซต์แบบสำรวจระดับโลก ที่จะช่วยให้เราตามเทคโนโลยีทัน บทความถัดไป ➡️
AI กำลังจะทำให้โปรแกรมเมอร์อย่างพวกเราตกงานหรือไม่?
เกี่ยวกับผู้เขียน
นคร สินผดุง (Nakorn Sinpadung)
โปรแกรมเมอร์มืออาชีพ
- ปัจจุบันเป็นติวเตอร์ออนไลน์ สอนพัฒนาโปรแกรม
- ปัจจุบันเป็นพนักงานประจำระดับ Senior Programmer ที่ CareerVisa Digital
- มีประสบการณ์ทำงานจริงในบริษัทต่างๆมากกว่า 4 ปี
- มีประสบการณ์สอนผ่านออนไลน์นานกว่า 6 ปี