อ่านเจอบทความนี้แล้วน่าสนใจดี
อธิบายถึงแนวโน้มของภาษาโปรแกรมที่อยู่ใน Github.com
ข้อมูลที่รวบรวมตั้งแต่ปี 2008 ถึง 2013
โดยทำการอธิบายในรายละเอียดที่น่าสนใจ
ทั้งการวิเคราะะห์ข้อมูลในมุมมองต่างๆ
รวมทั้งเรื่องการกระจายตัวของภาษาโปรแกรม แบบ Longtail อีกด้วย

ที่มา :: GitHub language trends and the fragmenting landscape

เริ่มด้วยข้อมูลเพื่อสรุปแนวโน้มของภาษาโปรแกรมจาก Github กันก่อน

โดยเป็นข้อมูลจาก repository ที่สรา้งใหม่ เป็นดังรูป

Screen Shot 2557-05-04 at 11.59.51 PM

จากภาพดังกล่าวมีข้อควรระวังหรือต้องรู้ก่อนดังนี้
ไม่เช่นนั้นคุณอาจจะโดนข้อมูลหลอกได้

1. Github คือ ชุมชมเฉพาะกลุ่มสำหรับ Social code ที่มีการเติบโตรวดเร็วมาก
ซึ่งส่วนใหญ่ก็คือกลุ่มของ Ruby on Rails ดังนั้นจึงไม่เรื่องแปลกที่ภาษาโปรแกรมนี้จะมีปริมาณเยอะมาก

2. ในปี 2009 ทำการนำเอาโปรเจค GitPAN เข้ามาใน Github ซึ่งพัฒนาด้วยภาษา Perl
เป็นเหตุผลว่า ทำไมภาษา Perl จึงสูงขึ้นมาในปี 2009 แล้วก็ตกลงไป

3. การตรวจว่า code เป็นภาษาโปรแกรมอะไรนั้น
ขึ้นอยู่กับจำนวนของบรรทัด code ทั้งหมด
ส่งผลให้ JavaScript มีจำนวนที่สูงมากๆ
เพราะว่า จำนวน repository ของโปรเจค JavaScript framework, template ต่างๆ
อยู่ใน Github ทั้งนั้น เช่น jQuery, Node.js เป็นต้น

4. แสดงข้อมูลในหน่วยของ % ดังนั้นจึงไม่ใช่ค่าจริงๆ
ถ้าเส้นกราฟลดลงเรื่อยๆ นั้นไม่ได้หมายความว่า
จำนวน repository นั้นถูกสร้างน้อยลงนะ

สรุปข้อมูลในภาพรวมทั้งหมดของ repository ที่สร้างใหม่ ดังรูป

Screen Shot 2557-05-04 at 11.59.43 PM

1.  Github นั้นเป็นระบบหลัก สำหรับเก็บ sourcecode ต่างๆ ในโลกนี้
โดยที่ Ruby นั้นค่อยๆ ลดลงมามาอย่างต่อเนื่อง
ตั้งแรต่ปี 2008 ถึง 2010 ภาษาโปรแกรมทั้งใหม่และเก่ามีแนวโน้มเพิ่มขึ้นมา เช่น Java, PHP, Python
ส่วนตั้งแต่ปี 2010 ภาษาโปรแกรม PHP, Python และ C ก็เริ่มลดลงมา

2. สิ่งที่น่าสนใจก็คือการเพิ่มขึ้นอย่างมากของ JavaScript
เติบโตมาอย่างต่อเนื่องตั้งแต่ปี 2010
เนื่องจากในปีนั้นมี Node.js ที่ได้รับความนิยมสูง
ดังนั้นจึงมีปริมาณการสร้าง repository และ code จำนวนสูงมาก
รวมทั้งธรรมชาติของ JavaScript มักจะใส่ dependency library อยู่ใน repository เดียวกัน
ทำให้มีจำนวนของ JavaScript ที่สูงขึ้นหลายเท่าตัว

3. ภาษาโปรแกรมที่พัฒนาบน Windows, iOS นั้นเกือบจะมองไม่เห็นเลย
เช่น C# และ Objective-C
แต่ก็ไม่น่าแปลกใจมากเท่าไร เนื่องจากทั้งสองภาษาโปรแกรม
ไม่ใช่ Open source เหมือนภาษาอื่นๆ นั่นเอง
ทำให้ทั้งสองภาษาโปรแกรมนี้ จึงไม่สามารถใช้ข้อมูลจาก Github มาใช้
เพื่อสะท้อนความนิยมได้เลย แต่สามารถใช้ในการทำนายในอนาคตได้นะ

มาดูข้อมูลของ repository ที่มีการเปลี่ยนแปลงข้อมูลหรือทำการ push เข้ามา

พบว่ามากกว่า 98% ของ repository ถูกแก้ไขในปีเดียวกันกับที่สร้างเท่านั้น
หลังจากนั้นพบว่าไม่มีการเปลี่ยนแปลงอะไรเลย
และพบว่า 87% ของ repository ทั้งหมดมีจำนวน contributor น้อยกว่าเท่ากับ 5 คน

วัดจากจำนวนการใช้งาน Github Issue  ดูบ้าง

การวัดจาก code ใหม่ๆ อาจจะไม่เพียงพอ ดังนั้น
มาดูจากการใช้งานส่วนอื่นๆ ดูบ้าง
โดยเน้นที่การใช้งาน issue กันดูบ้าง
วัดจากจำนวนการ post Issue
ซึ่งคาดหวังว่าถ้า repository ใด มีการใช้งาน Issue ที่สูง
แสดงว่าเป็นโปรเจคที่ได้รับความนิยม
มีจำนวนผู้ใช้งาน เช่น contributer, fork ที่สูง
ดังนั้นมาดูกราฟสรุปดังรูป

Screen Shot 2557-05-05 at 12.32.17 AM

ผลที่ได้ไม่แตกต่างจากที่วัดจาก repository ใหม่ๆ เท่าไรนัก
จากข้อมูลจะเห็นได้ว่าภาษาโปรแกรม Ruby, C++ และ Python นั้น
ในช่วงเริ่มต้นจะสูงขึ้นมาเลย
เนื่องจากเป็นโปรเจคที่เข้ามาและได้รับความนิยมตั้งแต่เริ่ม Github กันเลย
ส่วนข้อมูลที่วิเคราะห์ได้มาดังนี้

1. JavaScript เพิ่มขึ้นอย่างต่อเนื่อง มีจำนวน Issue 25% จากทั้งหมด
2. Ruby นั้นลดลงอย่าต่อเนื่องตั้งแต่ปี 2009 มีจำนวน Issue 10% จากทั้งหมด
3. Java และ PHP โตขึ้นอย่างต่อเนื่อง มีจำนวน Issue 10% จากทั้งหมด
4. Python จะค่อยๆ ลดลงตั้งแต่ปี 2009 มีจำนวน Issue 10% จากทั้งหมด

มาดูข้อมูลจากจำนวนของผู้ใช้งานกันบ้าง

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

Screen Shot 2557-05-05 at 12.57.20 AM

จากกราฟ มีข้อมูลที่น่าสนใจดังนี้

1. ข้อมูลที่มีสูงขึ้นมาโดดๆ หายไป  ซึ่งทำให้ข้อมูลดูน่าเชื่อถือมากขึ้น
2. แต่อันดับของภาษาโปรแกรม มีลักษณะคล้ายกับการวัดในสองแบบที่ผ่านมา
3. เกือบจะทุกๆ ภาษาโปรแกรม มีแนวโน้มลดลง ซึ่งเป็นไปได้ว่า อาจจะมีภาษาโปรแกรมอื่นๆ
เพิ่มเข้ามาเรื่อยๆ แต่ไม่มาก
ดังนั้น มีสมมุติฐานว่า นอกจาก 12 ภาษาโปรแกรมนี้ แล้วมีผู้ใช้งานภาษาอื่นๆ เพิ่มขึ้นมา
จึงทำให้ผู้ใช้ของทั้ง 12 ภาษาโปรแกรมลดลง
หรืออาจจะเกิดจากการจัดกลุ่มผิดพลาดของ Github ก็เป็นไปได้

4. ถ้าสังเกตดีๆ จะพบว่าผู้ใช้งาน Java มีแนวโน้มสูงขึ้นมาช่วงหนึ่ง
ซึ่งต่างจากภาษาอื่นๆ น่าจะแสดงให้เห็นว่า Github ถูกนำไปใช้ในระดับ enterprise แล้ว

เมื่อนำเอาข้อมูลจากทั้ง 3 กลุ่มมารวมกันพบข้อมูลดังนี้

Screen Shot 2557-05-05 at 1.19.06 AM

จากกราฟทำให้เราเห็นว่า มีเพียง 5 ภาษาโปรแกรมเท่านั้นที่ถูกใช้งานมากๆ ใน Github
ประกอบไปด้วย JavaScript, Ruby, Java, PHP และ Python

CSS เริ่มได้รับความนิยมขึ้นมา
ส่วน C และ C++ ยังคงใช้งานอยู่
รวมทั้ง Go ที่ได้รับความนิยมขึ้นมา
ข้อมูลเหล่านี้อาจต้องรอเวลาสัก 1-2 ปี เพื่อให้เห็นการใช้งาน

มาดูในส่วนภาษาโปรแกรมอื่นๆ กันบ้าง

โดยที่ไม่เอาข้อมูลจาก 12 ภาษาโปรแกรมมาวิเคราะห์ ทำให้เห็นข้อมูลของพวก Longtail ดังรูป

Screen Shot 2557-05-05 at 1.27.06 AM

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

จากการสรุปและวิเคราะห์จากบทความอ้างอิง

น่าจะทำให้เราเห็นทิศทางและแนวโน้มของภาษาโปรแกรมในปัจจุบัน และ อนาคตมากยิ่งขึ้น …