ASP.net和PHP之间的根本区别是什么?

10
可能重复:.NET & ASP vs PHP

在选择.NET、ASP和PHP时,是否存在速度差异、性能问题及企业选择的理由?另外,学习曲线是否更陡峭?

另外...使用其中一种语言是否会获得更高的报酬?


我注意到这里有一个问题...http://stackoverflow.com/questions/2135479/what-is-the-difference-between-php-and-asp 如果可能的话,我想集中讨论性能和学习曲线,以及人们在开发应用程序时为什么会选择其中之一。 - palbakulich
1
您的标题与标签可能会导致令人难以理解的答案。请考虑更加一致,因为ASP和ASP.NET是不同的技术。ASP目前是传统技术,但由于其机制与PHP相似,因此可进行比较,看到问题所在了吗? - Francisco Aquino
F.Aquino - 注意到你的关注,已经进行了编辑,希望能消除任何困惑。谢谢你提醒! - palbakulich
是的,但那个重复的问题质量很差,可以说是糟糕的,而且对它的选择性回答非常具有争议性。我宁愿将那个问题链接到这个问题上。 - John K
6个回答

11

9
ASP和PHP在某些方面很相似,因为它们都倾向于将代码与HTML放在一起,所以逻辑可能非常相似。
但是,ASP.NET的设计与PHP非常不同,因为在ASP.NET中使用代码后端具有很强的激励作用,其中你基本上有html模板,而所有代码都位于另一个单独的文件中。
根据您正在做什么,您的网站有多忙碌,您可能会发现速度差异是无关紧要的,尽管一个是编译的,另一个则不是。
PHP可能更容易开发,因为您可以更轻松地编写少量代码并进行测试,而使用ASP.NET则不太容易,但ASP和PHP在开发方式上是类似的。
如果您不了解这些语言,则学习PHP可能更容易,因为php手册写得非常好,用户评论很多,而ASP.NET已取代了ASP,因此在新项目中学习ASP,在我看来,用处有限。
如果您选择ASP.NET,则需要学习一种新的语法和一种.NET语言,但根据您的背景,C#可能相对较容易学习。
使用ASP或ASP.NET时,您必须使用IIS作为服务器,但使用PHP时,您可以使用IIS或Apache,因此存在相当大的灵活性。
使用ASP.NET,您将发现有更多选项来帮助代码开发,因为它们现在拥有经典的ASP.NET和ASP.NET MVC(http://www.asp.net/%28S%28d35rmemuuono1wvm1gsp2n45%29%29/mvc/),两者都有优缺点,但我相信这个网站仍然是用后者编写的。
因此,哪一个更好取决于您将要做什么以及您已经获得了哪些语言或框架的经验。

6

如果你来自VB6或其他微软平台,那么选择微软路线会更容易上手。与LAMP相比,运行Windows Server/IIS/SQL Server/.NET平台可能需要更多的硬件和许可证要求。无论你是否能够更好地管理其中之一,都取决于技能和个人观点。


3
.NET的一个非常重要的特点是它可以用于开发Web应用程序(ASP .NET)、桌面应用程序、Web服务、掌上电脑开发,总之几乎任何东西(唯一的问题是它不跨平台,除非您考虑开源Mono项目,该项目正在良好地发展)。因此,ASP .NET只是其能力的一部分。如果您要为桌面、Web、Palm编写一套应用程序,则相同的业务逻辑库可用于所有这些项目。
PHP基本上只适用于Web,并在该领域专门化。
如果您只想创建Web应用程序,则PHP竞争力强,学习曲线会小得多。
.NET本质上是重新打包并进一步开发的Java,去除了跨平台功能。

2
两者最基本的区别在于语言。PHP使用类似C的语法,而ASP使用Visual Basic作为其语法。
然而,ASP.NET是完全不同的东西;我注意到您在标题中列出了ASP,但在标签中列出了ASP.NET。
ASP.NET是一种模板语言,可以在任何.NET编程语言前面工作,最常见的是C#和VB.NET。ASP.NET使用(并附带).NET框架,比PHP或ASP更加面向对象。
一般来说,对于许多任务,PHP和ASP似乎会更快,但ASP.NET将提供更好的机会来构建一个强大、可维护的应用程序。

4
ASP.net可以使用任何具有其语法的语言,如C#、VB和所有其他在dotnet中可用的内容。 - RageZ
4
请纠正我,但我认为旧版的ASP也可以使用除VB之外的其他语言进行编程。 我相信甚至有一种名为JScript ASP的语言。 - Decent Dabbler
4
ASP经典版可以使用任何已安装Active Scripting引擎的语言。实际上,这意味着可以使用VBScript或JavaScript,后者更为优秀(try/catch、类、一级函数等)。然而,教程和示例都使用VBScript,因此存在一个误解。 - Seva Alekseyev

0

个人而言,我喜欢使用PHP时所获得的灵活性。然而,ASP.net编写快速应用程序非常迅速。它也被许多大公司用于Web开发。在Visual Studio中可以使用点和单击完成页面布局,但您也可以直接访问HTML标记并使用模板、CSS等。

在没有对语言进行任何调整的情况下(除了在asp.net中打开页面缓存),我看到的基准测试结果表明ASP.net略微快一些到中等水平。

原因是ASP.net是编译型语言,而PHP是解释型语言。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接