目錄
回复内容:
首頁 後端開發 php教程 为什么asp.net没能比php更流行?

为什么asp.net没能比php更流行?

Jun 06, 2016 pm 04:42 PM

回复内容:

其实ASP.NET比PHP更流行才是个奇怪的事情吧。

PHP是专门面向Web开发设计的一个简单强大的脚本语言,一个专门为Web开发设计的语言,也是现存的Web后端开发语言中,支持最广泛、流行时间最长的。PHP诞生的时候,根本就没有ASP.NET,其主要竞争对手还是ASP和CGI这种东西。流行开来简直是再正常不过的事情,流行开后,ASP.NET/sevlet/JSP这些竞争技术又是建立在重型工业化OOP语言之上的,在快速开发网站上并不比PHP更有优势。而Ruby之流已经是在PHP流行纵横互联网数十年之后才崭露头角,在资源支持和流行程度上自然难以撼动PHP的地位。


价格、平台、开源、生态神马的基本上都是扯。 不请自来

对于互联网来说,PHP确实有非常巨大的优势,无论是重新写一个新站,亦或是直接拿现成产品二次开发,PHP都具有十分高的开发效率,这一点确实是ASP.NET亦或是JAVA所无法比拟的。可以说,PHP就是因为互联网而诞生的语言,但术业有专攻,PHP的强项是做网站,弱项则是做系统,与之对应的,ASP.NET/Java的强项则是做相关的业务系统,因此很多公司的内部系统是采用它们来开发,这就并非题主可以看得见的,因此也产生了一定的错觉了。

其次,针对其他答主说ASP.NET服务器贵、SQLServer又贵性能又不好、不开源之类的,我要补充下,er...答主用windows 3.1?长得帅的人已经在Linux.NET上赚到钱了,长得丑的人还没听说过Mono是啥,连CLR都使用MIT协议开放的东西也算不开源的话,你让没有采用过任何开源协议的Java怎么办?(快逃……) php的流行,确实是因为php是目前最好的web语言。

php目前问题很多,函数命名混乱,namespace坑爹,特性兼容差劲,现在多少代码还在5.2上跑着,zend又喜欢藏藏掖掖,导致社区一片萎靡——不过这都完全否定不了php本身的光芒。

语言特性就不细说了,曾经php3时代register globals让表单提交多少便捷,文件上传何其方便,那时候asp还在吃屎,asp.net更没影子,哪里来的影响力?曾经web==php.

IT技术更新换代非常快速,大浪淘沙,一个语言如果能火过五六年,必然有其可取之处。php也好,linux也好,github也好,它的流行完全是open source之freedom自由价值的体现。同样,价格free也是个附带因素。我就是要吐槽ASP.NET服务器贵、SQLServer又贵性能又不好、不开源,顺带吐槽IOE的傻大黑粗。开源个CLR算狗屁玩意?Mono算狗屁玩具?开源个asp.net mvc还成了大事件?同样一个机器,你配asp.net和php分别试试,能抗多少并发?除了ms有几个规模站用asp.net

作为一个称职的胶水语言,选择php意味着选择一个生态,lamp不是白叫的,当然现在有性能更好的nginx。网站不是拼凑一套代码两三套模板就完事,更多还要考量并发,荷载,IO,队列,缓存,分布式存储..etc。lnmp的魅力在于任何环节不满意你可以自行写扩展,做定制,造轮子,这都是ms系所不具备的

一句话:php比java轻量,比ruby快,比python效率高,比nodejs调试方便
asp.net,真没怎么看在眼里。iis下也可以跑php,不是么? php流行的刚开始,有asp.net什么事? 开发普通网站,首选PHP。一般的中小型网站,用PHP又快又好。
开发企业网络应用,首选asp.net。在具备业务流程的数据库应用中,Asp.net更具优势。
开发大型网站和应用,首选Java。需要高端服务器、集群和拓展服务器的大型应用,Java方案更成熟。

整体而言,.net比PHP更流行。PHP开发的网站,大众可以常常接触到。而.net开发的ERP只在行业内应用。这就如同前台或者门卫比行政更容易混个脸熟一样,但行政的薪酬和权利更大。

编码效率 asp.net > PHP > Java;
部署效率 PHP>> asp.net >= Java;
运行效率 Java = asp.net > PHP;
大型方案 Java >> PHP >= asp.net

虽然从数量上比较,全球采用PHP的网站最多。但Java开发者远远超过 asp.net与 PHP之和,Java多用于大型服务器产品,会有数百人参与的项目。在特定的企业应用领域,则是 asp.net更流行。

一个有较复杂业务规则的网站,相同功能不同语言开发的参考报价:
jsp 75万

asp.net 35万

php 50万


可以看到,在业务处理方面,asp.net具有较大成本优势。

因此,不同的语言各具特色。而asp.net和PHP流行度都较高,份额比较平稳。在各类编程语言统计中.net份额都远高于PHP,扣除.net中桌面部分,两者可能不分伯仲或者asp.net用户更多。并且从权重上看,Java才真正处于垄断地位。 .net跑起来带的东西多,面相的目标是企业级项目,php是脚本语言,对于前台展示而言,没这么多负担。 居然没人答“因为php是最好的编程语言”? asp.net做过的项目不多,最近几年都是用php做项目,但是从为数不到的asp.net项目经验中得到的感觉就是 asp.net的整体效率相对于php太低了。
首先 搭建开发环境 配置一般的机器 vs要安装至少半小时 sqlserver差不多也要十几分钟 而php呢 直接安装个wamp继承环境 顶多五分钟搞定一切。
第二 开发 c#等语言都是强类型的,php是弱类型的,代码量就少了很多,由类型不一致和类型转换带来的各种问题自然也就没有了
第三 php开源项目多如牛毛,针对需求稍加改动就可以交活。 而 c#好的开源项目很少 而且很多都是编译好了 只有dll ,没有多少二才开发的余地了
第四 部署 php可以跨平台win和linux随便玩 而 asp.net就只有 win可选了。而且成本也是高很多啊

最后 我的感觉就是 php是为web而生的语言 而asp.net只是微软为了证明存在感而创造出来的东西。两者其实没有多少可比性的。 谢邀

1、价格
asp.net的话,服务器软件windows server 很贵(随手查了一下2008版18000元)、数据库软件很贵(2008版12500元),性能却未必好。
用php的话,服务器软件可以是0 (linux),数据库软件可以是0 (mysql等),性能也不差。

2、生态
因为前面的原因,用php的人多一点,开发讨论的多一点,做成的大大小小的网站多一点,慢慢地就成了规模。

3、开源
因为php代码可以开源不用编译,linux和mysql都开源,所以更有利于开发发展。

然后循环过程中,互相促进,所以到现在就是这个样子了。 我觉得吧……

流行的东西并不是最好的东西,而是善于把各方的利益融入进来。

PHP门槛低,能让更多非科班出身的菜鸟接触到程序设计,从而爱上开发这一行当。然后这个社群就会更大。

流行的东西一定要保证核心竞争。

FACEBOOK为什么要用PHP开发,因为只有只有一个人开发,快啊。互联网的快很大程度上成就了PHP。
打个比喻:
比如一个女的像另外一个女的比学历高,收入高……那个女的只需要说「我胸大」!
世界就安静了!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話如何劫持工作,如何在PHP中減輕它? 會話如何劫持工作,如何在PHP中減輕它? Apr 06, 2025 am 12:02 AM

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

描述紮實的原則及其如何應用於PHP的開發。 描述紮實的原則及其如何應用於PHP的開發。 Apr 03, 2025 am 12:04 AM

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

在PHPStorm中如何進行CLI模式的調試? 在PHPStorm中如何進行CLI模式的調試? Apr 01, 2025 pm 02:57 PM

在PHPStorm中如何進行CLI模式的調試?在使用PHPStorm進行開發時,有時我們需要在命令行界面(CLI)模式下調試PHP�...

框架安全功能:防止漏洞。 框架安全功能:防止漏洞。 Mar 28, 2025 pm 05:11 PM

文章討論了框架中的基本安全功能,以防止漏洞,包括輸入驗證,身份驗證和常規更新。

如何在系統重啟後自動設置unixsocket的權限? 如何在系統重啟後自動設置unixsocket的權限? Mar 31, 2025 pm 11:54 PM

如何在系統重啟後自動設置unixsocket的權限每次系統重啟後,我們都需要執行以下命令來修改unixsocket的權限:sudo...

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

See all articles