เมื่อกำหนดเงื่อนไขการเลือกภาษาโปรแกรมไว้แล้วว่าต้อง ฟรี, ใช้งานได้หลายแพลตฟอร์ม(Multi Platform), อ่านง่าย, มีเครื่องมือเยอะ, ผุ้ใช้เยอะ ทีนี้เลยต้องสำรวจก่อนว่าปัจจุบันนี้ภาษาไหนที่เค้านิยมใช้กัน ก็เลยลองถามอากู๋ดู ได้ผลเป็นเว็บจัดอันดับภาษาโปรแกรมมาเป็น TIOBE Index, Langpop.com ฯลฯ และพวกสังคมนักพัฒนา เช่น github, stack overflow ฯลฯ เท่าที่ดูภาษาที่อยุ่ในอันดับแรก ๆ ที่คัดมาคือ
- C
- C++
- Java
- C#
- Objective-C
- PHP
- Python
- Javascript
- Shell
- Ruby
- Visual Basic
- Perl
ลองดูตามเงื่อนไขแต่ละข้อเลยละกัน เรื่องแรกคือฟรี จากรายการทั้งหมดทุกภาษาามารถหามาใช้งานได้ฟรีทั้งหมดเลย ถัดมาก็เป็นเรื่องสามารถทำงานได้หลายแพลตฟอร์ม ขอยึดแพลตฟอร์มหลัก ๆ ก่อนละกันพวก Windows, Linux, Mac, Web, Mobile ตัวเลือกที่หายไปคือ PHP ที่ออกแบบมาให้เป้น Server Side Script เป็นหลัก กับ Javascript ที่เน้นเอามาทำเป็น web script ถึงแม้ว่าจะมี Framework หลายตัวที่สามารถพัฒนา Javascript ให้รันบน Mobile หรือ OS อื่น ๆ แต่ก็ยังใช้ฟังก์ชั่นได้ไม่เต็มที่เท่าไหร่ นอกนั้นสามารถใช้งานได้ข้ามแพลตฟอร์มได้อย่างเต็มทีเลย อ้อ อีกภาษานึงก็คือ Objective-C นี่ที่จริงก็สามารถใช้บน Windows หรือ Linux ได้เหมือนกัน แต่ติดตรงที่ว่าถ้าหากจะใช้พัฒนาอะไรที่เป้นมือถือของแอปเปิ้ลพวก iPhone, iPad พวกนี้จำเป้นต้องใช้ Framework ที่มีบน Mac OSX เท่านั้น ก็คงไม่เหมาะที่จะใช้ เนื่องจากไม่มีเครื่อง Mac นั่นเอง
ถัดมาคือภาษาอ่านเข้าใจง่าย ข้อนี้ตัดทิ้งไปเยอะเลย ถ้าหากเป็นโปรแกรมเมอร์ทั่วไปคงชินกับ syntax ภาษาตระกูล C แต่สำหรับมือใหม่ syntax ภาษาแนว ๆ C จะต้องเรียนรู้ใหม่เยอะเหมือนกัน หลือแค่ Python, Ruby, Visual Basic
เครื่องมือที่ใช้ ถ้าเริ่มเขียนก็น่าจะเหมาะกับ Text Editor ดี ๆ ก็น่าจะพอให้เรียนรู้ได้ หรือจะใช้ทำงานได้อยู่แต่ถ้ามี IDE (Integrated Development Environment) ที่มีคุณสมบัติช่วยเหลือการเขียนโปรแกรมเยอะ ๆ อย่าง Visual Studio ของ Microsoft นี่ก็จะดีสุด ๆ หลังจากลองค้นหาเครื่องมือถ้าเป็น Text Editor นี่ทุกภาษาก็สามารถใช้งานได้ดีในทุกเครื่องมือเลย แต่ถ้าเป็น IDE นี่ ถ้าเป็นภาษาแนว Scripting เช่น Python, Ruby, Perl ก็สามารถใช้ IDE ที่เขียนภาษาอื่นแล้วเพิ่ม Plug-ins เข้าไปเช่น Eclipse, Netbeans, Visual Studio ก็สามารถใช้งานได้เหมือนกัน สรุปข้อนี้คือในระยะแรกนี้คงใช้ Text Editor ไปก่อนละกัน
ผู้ใช้เยอะข้อนี้คงต้องดูตามชุมชนนักพัฒนาขอดูหลัก ๆ สักสองที่ก็พอ คือ Stack Overflow ข้อนี้เป็นการดูจาก Tag ของคำถามที่ถูกตั้งขึ้นมา
- c# : 53x,xxx
- java : 5xx,xxx
- javascript : 47x,xxx
- php : 46x,xxx
- c++ : 23x,xxx
- python : 23x,xxx
- objective-c : 15x,xxx
- ruby & ruby on rails : 22x,xxx
- c : 11x,xxx
- vb.net : 5x,xxx
Github สำหรับที่นี่ก็เป็นสถิติจาก repositories ที่มีการเคลื่อนไหวที่อาจเป็นตัวเลขที่ไม่ตรงนักแต่ก็พอจะประมาณเอาได้ในระดับนึง
- JavaScript : 264131
- Ruby : 218812
- Java : 157618
- PHP : 114384
- Python : 95002
- C++ : 78327
- C : 67706
- Objective-C : 36344
- C# : 32170
- Shell : 28561
ส่วนเรื่องตำแหน่งงานที่มีประกาศคงไม่ต้องดูมากเนื่องจากคงไม่ไปหาสมัครงานแนวนี้อยู่แล้ว
จากการตัดสินตามความต้องการข้อมูลที่ลองศึกษาเบื้องต้นก็พอจะได้ข้อมูลในระดับหนึ่ง เพื่อความง่ายในการเริ่มต้นศึกษา ถ้าหากชำนาญการเขียนโปรแกรมขึ้น ภาษาที่เว้นไว้ค่อยกลับมาศึกษาเพิ่มเติมอีกที เราต้องพุ่งเป้าหมายไปที่ความสำเร็จที่ทำได้ง่ายก่อน แบบว่าสร้างกำลังใจ ภาษาแรกที่ตัดออกก่อนเลย
คือ PHP เนื่องจากเขียนโปรแกรมแนว Client-Server สร้าง GUI หรือแม้แต่พัฒนาโปรแกรมบน Mobile ที่เป็นกระแสแรง ๆ อยู่ได้ไม่สะดวก ถึงจะสร้าง Backend บริการต่าง ๆ บน Serverได้ดีและมีผุ้ใช้เยอะก็เถอะ
ต่อมาก็ Javascript เหตุผลก็คือ syntax ยากไม่สะดวกสร้างโปรแกรมแนว Application ธรรมดา Framework ที่ใช้ก็แตกต่างกันมาก บางตัวก็เสียเงิน สองภาษาแรกนี่สุดท้ายก็ต้องกลับมาศึกษาเพิ่มอยู่ดีเนื่องจากเป็นภาษาที่ใช้เยอะสำหรับการทำงานบนเว็บ
ต่อไปก็ C, C++, C#, Objective-C, Java, Perl ที่ใช้รูปแบบการเขียนคล้าย ๆ กันที่อ่านเข้าใจยากขอติดไว้ก่อนเหมือนกัน สำหรับ Shell นี่เป็นภาษาที่ใช้กันบน Shell ของ Unix liked OS บน Windows ใช้ไม่ได้พัฒนาอะไรได้ไม่กว้างขวางนัก สุดท้ายก็เหลือ Visual Basic, Python, Ruby ก็ต้องขอตัด Visual Basic ออกเนื่องจากการพัฒนาโปรแกรมไม่กว้างขวางนัก ทำให้ไม่สะดวกเท่าไหร่ เหมาะกับการพัฒนาอะไรที่เป็นแพลตฟอร์ม Windows สุดท้ายก็เหลือ Ruby กับ Python ที่เหมาะจะเริ่มเรียนรู้
Ruby ก็เป็นภาษาที่ใช้พัฒนาระบบงานที่ใช้ประจำอยู่ แต่ดันเป็น Ruby on Rails นี่สิตัวภาษา Ruby เองก็ไม่ค่อยมีแหล่งความรู้มากนัก เลขที่ออกก็คงมาลงที่ Python (ที่จริงในใจคิดไว้ว่าคงเป็นภาษา Python แต่แรก) ที่ร่ายยาวมาก็เพื่อหาข้ออ้างสนับสนุนแค่นั้นเอง ฮ่า ฮ่า ฮ่า