วันนี้เห็นมีการ share เรื่องสถิติต่างๆ ของ Github.com จาก post นี้
ที่ Facebook ของสมาคมโปรแกรมเมอร์ไทย

Screen Shot 2558-02-12 at 5.17.12 PM

เมื่อดูในรายละเอียดพบว่ามีเรื่องต่างๆ ที่น่าสนใจมาก
เลยทำการสรุปไว้เล็กน้อย ดังนี้

สามารถดูข้อมูลได้จาก Githut.com

โดยข้อมูลจะถูกสรุป และ แสดงในแบบของกราฟสวยๆ ด้วย D3js
ซึ่งใน Q4 ของปี 2014 นั้นมีข้อสรุปที่น่าสนใจในมุมต่างๆ ดังนี้

Active repository
คือ จำนวน repository ที่มีการเปลี่ยนแปลงอย่างน้อย 1 ครั้ง

  1. JavaScript
  2. Java
  3. Python
  4. CSS
  5. PHP
  6. Ruby
  7. C
  8. C++
  9. C#
  10. Objective C

New fork per repository
คือ จำนวนเฉลี่ยของการ Fork repository มันบ่งบอกถึงความน่าสนใจของ project นั้นๆ
ถ้าสังเกตให้ดีๆ จะพบว่าเป็นภาษาใหม่ๆ ทั้งนั้นเลย

  1. R
  2. CSS
  3. Swift
  4. Rust
  5. Objective C
  6. JavaScript
  7. Go
  8. Scala
  9. Java
  10. CoffeeScript

Opened issues per repository
คือ จำนวนเฉลี่ยของการเปิด issue ใน repository นั้น
มันบ่งบอกถึงความ active ของ community หรือเปล่านะ

  1. C++
  2. Rust
  3. Scala
  4. C#
  5. Java
  6. Lua
  7. Python
  8. C
  9. Go
  10. Matlab

จากข้อมูลเหล่านี้ ก็น่าจะพอทำให้เห็นความนิมยมของภาษาโปรแกรมต่างๆ
ที่อยู่บน Github.com กันพอสมควร
น่าจะพอแนะนำเราได้ว่า เราควรจะศึกษาภาษาใหม่ๆ อะไรกันดี

แต่สิ่งที่น่าสนใจต่อมาก็คือ ลงเลื่อนลงมาดูรายละเอียดข้างล่างหน่อยไหม ?

พบว่าข้อมูลนั้นนำมาจาก GithubArchive.com
พบว่าทำการประมวลผลที่ Google BigQuery

ดังนั้น ลองใช้งานผ่าน Google BigQuery กันหน่อยไหม ?
เริ่มแรกก็ไปสมัครใช้งานกันปกตินะครับ
จากนั้นให้ทำ load ข้อมูลที่เราต้องการเข้าไป
แต่ก็ดีหน่อยที่ทาง GithubArchive.com เขาเอา data ขึ้นไปให้แล้ว
พร้อมกับเปิดเป็น public data แล้วด้วย (สบายเลยเรา)

ข้อมูลที่ใช้อยู่ใน ตาราง ชื่อ github_timeline มีโครงสร้างดังนี้
Screen Shot 2558-02-12 at 11.59.28 AM

และมีรายละเอียดอื่นๆ ดังนี้

Screen Shot 2558-02-12 at 12.01.24 PM

มาเขียน SQL บน Google BigQuery
เพื่อทำการดึงข้อมูลภาษาโปรแกรมที่ได้รับความนิยมใน Q4 ของปี 2014
ดังนี้

นำไปให้ทำงานใน Google BigQuery กันหน่อยดังรูป

Screen Shot 2558-02-12 at 11.55.04 AM

ผลการทำงาน
ขนาดของข้อมูลในการประมวลผล 22.6 GB
ใช้เวลาการประมววลผล 8.8 วินาที
ผลลัพธ์ที่ได้สามารถ export ออกมาในรูปแบบ CSV ได้เลย

ปล. เราสามารถใช้ได้ฟรี โดยขนาดของข้อมูลในการประมวลผลต้องไปเกิน 1 TB นะครับ
ลองใช้งานดูกันได้ครับ