早上讀到一則PHP7相關報導,雖然跟PHP沒什麼緣份,但文章裡附的一張後端語言市佔統計圖引起我濃厚的興趣。統計圖裡PHP佔了81.7%,ASP.NET則是16.1%,同時使用兩種語言的網站會重覆計算(假設為N%,很多PHP應是來自LAMP,Linux+Apache+MySQL+PHP,我認為N不會太高),故二者吃下81.7%+16.1%-N%的市場(說不定超過95%),而第三名Java只有3%。分佈數據裡PHP跟ASP.NET加起來就橫掃全球讓我意外,分享到專頁時順便提出ASP連0.1%都擠不上的疑問,莫非被混入ASP.NET計算?

同事J看到貼文認真去查了資料,指出 w3techs.com 網站的統計ASP.NET可以再展開成.NET 1.1, .NET 2.0跟.NET 4.0,推測並沒有納入ASP。

這不科學呀!ASP的市佔小於0.1%?我不信、我不信、我不信… (地上打滾)

用inurl:index.asp及inurl:default.asp Google可以分別查到八千萬及三千五百萬筆資料,其中以學校機關組織為大宗,也不乏銀行、樂透彩、機場等日常服務,也可找到應是最近才上線的超商、線上遊戲網站,來源更是遍佈海內外,單憑這個簡單抽樣,就很難說服我ASP的市佔低於0.1%。

深入研究 w3techs 的統計方式,試著解釋數字的由來:

  • 以網站為單位,而非計算網頁數,只要全站有一個網頁用到,就認定該網站使用該技術。
  • 統計對象限定在Alexa(Amazon.com的子公司)排名前一千萬名的大網站(2013六月前只統計前一百萬),取三個月的平均排名,Alexa有時會有流量統計誤差,但應已具足夠代表性。 (順便查了我的部落格,目前排名全球第15萬大,台灣區則排2343 :P)
  • 不考慮子網域,例如 sub1.example.com 及 sub2.example.com 都被歸為 example.com 只算一個網站(同理:*.blogger.com, *.wordpress.com 也都只算一個)
  • 不考慮導向他處的網域,例如:Sun.com 實際上被導到 Oracle.com,不計入考量。
  • 經上述標準,前一千萬名網站篩選合併後只剩不到10萬個,但不影響統計有效性。
  • 統計數字每天更新。

所以這個調查只發生在全球前10萬名的大網站,0.1%為100個,ASP.NET有16000個,ASP.NET與ASP混用實務上蠻常見的,難道其中找不到100個ASP.NET與ASP混用的樣本?進一步,我又在網站上找到一個重要線索「w3techs接受使用者的建議新增語言」,意味 w3techs 只鎖定注特定的語言(就技術面限制比對範圍是合理的),會不會ASP根本沒列入調查項目呢?

最後,我在後端語言介紹看到一段說明:…Shows a list of all 20 server-side programming languages monitored for our surveys…,在統計頁列出的語言有:PHP, ASP.NET, Java, static files, ColdFusion, Ruby, Perl, Python, JavaScript, Erlang, Miva Script, Lasso, Scala, Lua, Tcl, Smalltalk, C++, Haskell, Lisp, Ada,不多不少,剛好20個。

因此,在 w3techs 統計看不到 ASP 的原因是-身為被ASP.NET取代的前朝語言,它被 w3techs 無視了,儘管它很有可能還會再戰十年~

全案終結。


Comments

# by DD

以前我常常開發PHP,後來都寫ASP,最近也一堆好用網頁程式雨後春筍。 ASP、ASP.net網站確實是相對PHP少非常多... ASP也不適合像PHP那樣快速而且大量的客製與快速部屬,我認為現實落差會更大, ASP家族合適的對象算是封閉式的機關或者公司內部自己工程師開發使用,所以一般統計也不能可抓得到, 他在改程式跟維護上非常搞剛,如果不能做好持續反覆利用,而是需要改來改去會不復成本。

Post a comment