為什麼asp.net沒能比php更流行?


其實http://ASP.NET比PHP更流行才是個奇怪的事情吧。

PHP是專門面向Web開發設計的一個簡單強大的腳本語言,一個專門為Web開發設計的語言,也是現存的Web後端開發語言中,支持最廣泛、流行時間最長的。PHP誕生的時候,根本就沒有http://ASP.NET,其主要競爭對手還是ASP和CGI這種東西。流行開來簡直是再正常不過的事情,流行開後,http://ASP.NET/sevlet/JSP這些競爭技術又是建立在重型工業化OOP語言之上的,在快速開發網站上並不比PHP更有優勢。而Ruby之流已經是在PHP流行縱橫互聯網數十年之後才嶄露頭角,在資源支持和流行程度上自然難以撼動PHP的地位。

價格、平台、開源、生態神馬的基本上都是扯。


不請自來

對於互聯網來說,PHP確實有非常巨大的優勢,無論是重新寫一個新站,亦或是直接拿現成產品二次開發,PHP都具有十分高的開發效率,這一點確實是http://ASP.NET亦或是JAVA所無法比擬的。可以說,PHP就是因為互聯網而誕生的語言,但術業有專攻,PHP的強項是做網站,弱項則是做系統,與之對應的,http://ASP.NET/Java的強項則是做相關的業務系統,因此很多公司的內部系統是採用它們來開發,這就並非題主可以看得見的,因此也產生了一定的錯覺了。

其次,針對其他答主說http://ASP.NET伺服器貴、SQLServer又貴性能又不好、不開源之類的,我要補充下,er...答主用windows 3.1?&長得帥的人已經在http://Linux.NET上賺到錢了,長得丑的人還沒聽說過Mono是啥&,連CLR都使用MIT協議開放的東西也算不開源的話,你讓沒有採用過任何開源協議的Java怎麼辦?(快逃……)


.net跑起來帶的東西多,面相的目標是企業級項目,php是腳本語言,對於前台展示而言,沒這麼多負擔。


php的流行,確實是因為php是目前最好的web語言。

php目前問題很多,函數命名混亂,namespace坑爹,特性兼容差勁,現在多少代碼還在5.2上跑著,zend又喜歡藏藏掖掖,導致社區一片萎靡——不過這都完全否定不了php本身的光芒。

語言特性就不細說了,曾經php3時代register globals讓表單提交多少便捷,文件上傳何其方便,那時候asp還在吃屎,http://asp.net更沒影子,哪裡來的影響力?曾經web==php.

IT技術更新換代非常快速,大浪淘沙,一個語言如果能火過五六年,必然有其可取之處。php也好,linux也好,github也好,它的流行完全是open source之freedom自由價值的體現。同樣,價格free也是個附帶因素。我就是要吐槽http://ASP.NET伺服器貴、SQLServer又貴性能又不好、不開源,順帶吐槽IOE的傻大黑粗。開源個CLR算狗屁玩意?Mono算狗屁玩具?開源個http://asp.net mvc還成了大事件?同樣一個機器,你配http://asp.net和php分別試試,能抗多少並發?除了ms有幾個規模站用http://asp.net?

作為一個稱職的膠水語言,選擇php意味著選擇一個生態,lamp不是白叫的,當然現在有性能更好的nginx。網站不是拼湊一套代碼兩三套模板就完事,更多還要考量並發,荷載,IO,隊列,緩存,分散式存儲..etc。lnmp的魅力在於任何環節不滿意你可以自行寫擴展,做定製,造輪子,這都是ms系所不具備的

一句話:php比java輕量,比ruby快,比python效率高,比nodejs調試方便

http://asp.net,真沒怎麼看在眼裡。iis下也可以跑php,不是么?


開發普通網站,首選PHP。一般的中小型網站,用PHP又快又好。

開發企業網路應用,首選http://asp.net。在具備業務流程的資料庫應用中,http://Asp.net更具優勢。

開發大型網站和應用,首選Java。需要高端伺服器、集群和拓展伺服器的大型應用,Java方案更成熟。

整體而言,.net比PHP更流行。PHP開發的網站,大眾可以常常接觸到。而.net開發的ERP只在行業內應用。這就如同前台或者門衛比行政更容易混個臉熟一樣,但行政的薪酬和權利更大。

編碼效率 http://asp.net &> PHP &> Java;

部署效率 PHP&>&> http://asp.net &>= Java;

運行效率 Java = http://asp.net &> PHP;

大型方案 Java &>&> PHP &>= http://asp.net。

雖然從數量上比較,全球採用PHP的網站最多。但Java開發者遠遠超過 http://asp.net與 PHP之和,Java多用於大型伺服器產品,會有數百人參與的項目。在特定的企業應用領域,則是 http://asp.net更流行。

一個有較複雜業務規則的網站,相同功能不同語言開發的參考報價:

jsp 75萬

http://asp.net 35萬

php 50萬

可以看到,在業務處理方面,http://asp.net具有較大成本優勢。

因此,不同的語言各具特色。而http://asp.net和PHP流行度都較高,份額比較平穩。在各類編程語言統計中.net份額都遠高於PHP,扣除.net中桌面部分,兩者可能不分伯仲或者http://asp.net用戶更多。並且從權重上看,Java才真正處於壟斷地位。


居然沒人答「因為php是最好的編程語言」?


http://ASP.NET和PHP不能等量齊觀。


php流行的剛開始,有http://asp.net什麼事?


http://asp.net做過的項目不多,最近幾年都是用php做項目,但是從為數不到的http://asp.net項目經驗中得到的感覺就是 http://asp.net的整體效率相對於php太低了。

首先 搭建開發環境 配置一般的機器 vs要安裝至少半小時 sqlserver差不多也要十幾分鐘 而php呢 直接安裝個wamp繼承環境 頂多五分鐘搞定一切。

第二 開發 c#等語言都是強類型的,php是弱類型的,代碼量就少了很多,由類型不一致和類型轉換帶來的各種問題自然也就沒有了

第三 php開源項目多如牛毛,針對需求稍加改動就可以交活。 而 c#好的開源項目很少 而且很多都是編譯好了 只有dll ,沒有多少二才開發的餘地了

第四 部署 php可以跨平台win和linux隨便玩 而 http://asp.net就只有 win可選了。而且成本也是高很多啊

最後 我的感覺就是 php是為web而生的語言 而http://asp.net只是微軟為了證明存在感而創造出來的東西。兩者其實沒有多少可比性的。


我覺得主要還是生態圈的問題

A:你用什麼弄網站的啊?

B:PHP啊

A:你覺得ASP.NET,JAVA怎麼樣?

B:那種東西都很大的啦,速度肯定沒PHP快(此處一萬種理由)

A:哦,那我也用PHP

.........


我覺得吧……

流行的東西並不是最好的東西,而是善於把各方的利益融入進來。

PHP門檻低,能讓更多非科班出身的菜鳥接觸到程序設計,從而愛上開發這一行當。然後這個社群就會更大。

流行的東西一定要保證核心競爭。

FACEBOOK為什麼要用PHP開發,因為只有隻有一個人開發,快啊。互聯網的快很大程度上成就了PHP。

打個比喻:

比如一個女的像另外一個女的比學歷高,收入高……那個女的只需要說「我胸大」!

世界就安靜了!


.NET和Java應用領域基本一致,主要面向企業級應用開發(ERP、OA、CRM等),當然大型網站後台也有很多在用,尤其是電商網站後台。網站前台用動態語言比較多,比如PHP、Python、Ruby,以及近年興起的Node,因為沒有複雜的業務邏輯,開發簡單快捷,而PHP因為流行時間最久,所以現在佔據了很大市場份額。


哈哈,也寫了幾年代碼,接觸了很多語言。上過ruby,啃過java,翻過.net。最後還是操起了php。不因為別的,就因為lamp,lnmp。都扯什麼安全,什麼性能,語言還是哪個順手就用哪個?就和你投籃姿勢一樣,美如畫可是老打鐵,也沒用啊。最後一句,我不看NBA的~~~


就一句話,都是 .net惹得禍


因為PHP是世界上最好的語言!


主要是微軟拋棄了易學易用的asp,搞除了面向所有應用而不是web的http://asp.net,而PHP只面向web。所以在web上,PHP最流行。當時微軟要是不拋棄ASP,繼續升級ASP並開源和支持多種平台,那還能和PHP一決高下。


謝邀

1、價格

用http://asp.net的話,伺服器軟體windows server 很貴(隨手查了一下2008版18000元)、資料庫軟體很貴(2008版12500元),性能卻未必好。

用php的話,伺服器軟體可以是0 (linux),資料庫軟體可以是0 (mysql等),性能也不差。

2、生態

因為前面的原因,用php的人多一點,開發討論的多一點,做成的大大小小的網站多一點,慢慢地就成了規模。

3、開源

因為php代碼可以開源不用編譯,linux和mysql都開源,所以更有利於開發發展。

然後循環過程中,互相促進,所以到現在就是這個樣子了。


本人自學php和http://asp.net mvc

感覺php這種弱類型語言在新手入門的時候容易寫著寫著就混亂一片

而C#這種強類型語言就不容易產生這種混亂一片的感覺

還有關於IDE的問題

雖然說vs裝起來有的時候會出問題,但是裝完就啥都OK了,實在不行重裝系統後直接裝VS不會有啥問題的

PHP的運行環境是有繼承的,但是編輯器還要自己另外裝

本人英語很差所以喜歡.net的文檔

本人新手,請大神指教


其實主要是因為Windows要花錢,次要原因IDE也要花錢。


推薦閱讀:

易語言是圖靈完備的嗎?
不同編程語言的Delay函數分別是什麼?
總是糾結於編程語言標準怎麼辦?
用易語言寫過的最大的項目是什麼?
編寫一個小windows桌面程序用什麼語言和工具?

TAG:互聯網 | 編程語言 | PHP | NET |