在执行一个网站或Web App的开发任务的时候,即使是最有经验的程序员也会有这样的困惑——如何选择编程语言。最常见的编程语言选择就是在PHP和ASP.NET之间。然而,PHP和ASP.NET都有庞大的群体,而且每个程序员对PHP和ASP.NET的意见均取决于他们的开发经验和偏好。所以,这样的选择可能会更多依赖于偏好。根据你的喜好来做出选择,以便在开发项目里更顺利的完成任务。 平台和服务器平台和服务器绝对是两者之间的主要的差异所在,这一点是必须要意识到的。PHP是一种跨平台的服务器端的嵌入式脚本语言,完全可以自由的运行在Linux、UNIX、Mac OS或Windows上。另一方面,ASP.NET是一个面向对象,编译性的语言。你不能让PHP在一个Windows程序中运行,但是你可以拷贝ASP.NET的代码并把它放到WINFORM程序里面,而不用太大的修改。而且,ASP.NET受限于Windows平台。因此,它在这里实际上已经失去了开源的优势——低成本和高度支持的技术社区。 速度和性能大多数程序员认为PHP和ASP.NET之间没有任何真正意义上的性能和速度之别。不过这是真的,只要你在较小的或更少的复杂项目上使用PHP和ASP.NET,就会发现它们之间的不同之处了。然而,如果是较大的Web App需要运行更多的大型程序的时候,在某种程度上编程语言是会影响速度的。其次,PHP和ASP.NET两者的选择还要考虑到任务的多样性。
例如:从最简单的任务开始,App需要访问数据库,处理一个查询任务,并且通过服务器将处理结果传输到浏览器上。在这个过程里编程语言几乎没有对速度产生什么太大的影响/区别,但数据库服务器和查询程序可能会有一定的影响。
在Linux或UNIX上运行一个App能给你带来节省宝贵资源的优势,这些资源都是被GUI和额外的程序包消耗的,尤其是运行在Windows上的情况下。
当谈到通过访问文件系统来找到并发送图片到服务器的时候,PHP的表现效果可能会更好一些,但这都归功于Linux和ext4文件系统比Windows OS和NTFS优越。
开发、安装和部署大多数用过这两种语言的有经验的程序员都会认同:在ASP.NET基础上开发项目需要花费更多的时间。原因在于它需要的代码行很多,其次在于,每一个代码在修饰过后还需要进行编译。在安装和部署方面,由于ASP.NET在Windows OS里有很多特性,所以ASP.NET也提供了更多的缓存。然而,Linux已经跟上了ASP.NET的最新版本,在可用性方面做出了更合理的简化。 可扩展性从上面的论述看来貌似是在提倡使用PHP,但是在可扩展性方面,ASP.NET才是真正的赢家。ASP.NET使用C#,因此可以提供更强大的面向对象的支持。最后,选择PHP还是选择ASP.NET,这主要取决于你的技能、经验,当然还要考虑客户需求。理想情况是掌握这两种语言,不管使用哪一个都游刃有余的话,那是最好不过了。