GitHub 互動地圖揭示令人驚訝的程式語言分佈和技術聚類模式

BigGo Editorial Team
GitHub 互動地圖揭示令人驚訝的程式語言分佈和技術聚類模式

開發者社群正在熱議一個創新的視覺化地圖,該地圖將超過40萬個 GitHub 專案對映成不同的區域,揭示了不同技術和程式設計社群之間如何互動和聚類的有趣見解。這種獨特的地圖繪製方法幫助理解 GitHub 生態系統,引發了關於程式語言社群及其相互聯絡的有趣討論。

關鍵技術元件:

  • 資料來源: GitHub 活動事件(2020年1月至2023年3月)
  • 相似度度量: Jaccard 相似度
  • 聚類演算法: Leiden 聚類
  • 視覺化工具: Maplibre
  • 資料處理:配備 512GB 記憶體的 AWS EC2 例項

意外的區域分佈揭示社群重疊

地圖的聚類顯示了一些出人意料的分佈,這些分佈挑戰了人們對技術社群的傳統認知。例如,Linux 核心開發出現在與 JavaScript 專案和前端工具同處的 Fronterra 區域,而不是與其他系統程式設計專案在一起。這種意外的定位引發了社群關於專案貢獻者和專案關注者之間關係的有趣討論。

這可能與熱力圖經常反映底層人口分佈的原因相同

主要區域:

  • Fronterra :JavaScript 和前端工具
  • AILandia :Python 和人工智慧專案
  • Cloudderra :雲基礎設施和 YAML
  • Rustland :Rust 程式設計專案
  • Lispaña :Lisp 相關專案

程式語言社群呈現有趣的規模差異

社群的一個顯著觀察是程式語言型別系統與區域大小之間的關聯。與靜態型別語言如 Java 和 .NET 相比,非型別化語言似乎佔據了更大的區域,其中 JavaScript(Fronterra)、YAML(Cloudderra)和 Python(AILandia)統領著廣闊區域。然而,這可能反映的是包釋出門檻的差異,而不是實際使用情況,因為企業程式碼通常儲存在私有倉庫中。

AI 和加密貨幣區域顯示驚人重疊

地圖顯示 AI 相關專案和加密貨幣開發之間存在有趣的鄰近關係,BinanceLand 位於 AILandia 之中。這種地理上的接近引發了關於 AI 和加密貨幣社群之間重疊興趣的討論,儘管一些社群成員幽默地建議加密貨幣應該有自己的沉船比喻。

創新的聚類方法

地圖的建立涉及複雜的資料處理,使用 Jaccard 相似度基於共同的點贊者來確定專案關係。這種方法雖然概念簡單,但在揭示專案之間有意義的關係方面已證明是有效的,儘管一些社群成員指出,基於星標的指標可能受到機器人活動的影響,可能無法完美反映真實世界的使用模式。

這種視覺化為檢視開源生態系統提供了獨特的視角,揭示了不同技術和社群如何互動,同時引發了關於這些關係本質的討論。

參考:Map of GitHub