A. php、java和ASP.NET之间的区别具体点的 谢谢!
一、主体不同
1、PHP:即“超文本预处理器”,是一种通用开源脚本语言。
2、JAVA:是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。
3、ASP.NET:是微软公司推出的新一代脚本语言。
二、特点不同
1、PHP:PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。
2、JAVA:具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
3、ASP.NET:基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。
三、优势不同
1、PHP:独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
2、JAVA:作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
3、ASP.NET:具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。
B. SNS实现采用的技术大多是PHP,如果采用java、.net是否同样适用
国内SNS(社交)网站系统的程序一般都是由PHP语言开发的,架构模式都是主流的LNMP,为什么会这样呢?
其实原因很简单,SNS类型网站适用于用LNMP架构模式来部署,主要原因有以下:
1、首先从开发语言上说,PHP虽然是一门脚本语言,但它的底层是由C开发的,性能上比Java和.NET更具优势;另外从开发效率上说,PHP因其内置函数库十分丰富,所以开发起来比Java、.NET要节省人力,工时短。互联网时代,早上线一天,可能就多占据一份市场!
2、另外从SNS网站性质上说,强交互型的网站有几个特点:
流量高悉大
响应快
负载高
这就要求SNS网站的服务器集群数量较多,属于中大型的规模。这就涉及到经济方面的考虑了,也就迫使我们选择开源免费的技术方案。
而微软系,大家都懂的,一是封闭,二是收费!所以我们说.NET体系不适合做互联网项目,只适合做做传统的客户端应用。
而Java呢,它其实是非常适合做互联网项目的,它其实在SNS项目中同样可以担当主力开发语言,只不过它的开发周期较PHP长,投入成本较大。
总结来说PHP之所以在SNS网站中是主选语言,原因就是经济上的考虑:
开发周期短,节省人力;
跨平台支持,Linux、MySQL都是开源的,所以后期不存在授权费用,节省了软件投入成本;试想一下,如果选择了微软系,万一哪天微软找到你说你的服务器系统是盗版的怎么办?
创业型公司前期投入都少,PHP只需要小团队开发,而Java、.NET较于复杂;
同样的需求,用PHP实现,占用服务器资源少,而
.NET和Java占用服务器资源更大;对服务器的配置要求更高!
借助网络上的一句话“PHP是世界棚念哪上最好的语言,没有之一链码!”C. 网站常用的几种开发语言NET,PHP,JSP,各有什么优点缺点
ASP,全称为Active Server Pages
ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。目前在微软的 .net 战略中新推出的ASP.net 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案,但是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
PHP,全称为PHP: Hypertext Preprocessor
PHP 的全名非常有趣,它是一个巢状的缩写名称——“PHP: Hypertext Preprocessor”,打开缩写还是缩写。PHP是一种HTML 内嵌式的语言 (就像上面讲的ASP那样)。而 PHP 独特的语法混合了C,Java,Perl以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速地执行动态网页。
PHP的源代码完全公开,在 Open Source 意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得 PHP 无论在 UNIX 或是 Win32 的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1 ,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统 CGI 或者 ASP 等技术有了更好的表现。
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话, 使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
JSP,全称为Java Server Pages / Servlet
JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java 2 platform Enterprise Edition)应用体系中的一部分。
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process),而Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(Parent Thread)来实现资源共享,这样就减轻了服务器的负担,所以,Java Servlet可以用来做大规模的应用服务。
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSP Parser)转换成Servlet代码,然后Servlet代码被Java编译器编译成 .class 字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(Script Language)版。
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA – Write Once, Run Anywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。因此,JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数,而是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错),逐步缩小出错代码段的范围,最终确定错误代码的位置。
JSP和ASP相比较:
运行速度、运行开销、运行平台、扩展性、安全性、函数支持、厂商支持、对XML的支持等等,ASP都不是JSP的对手。COM组件的复杂性实编程实现有一定的难度。而JAVABeans和JAVA的结合却是天衣无缝的。
JSP和ASP.NET相比较:
1.相对C#,JSP的脚本语言JAVA也是面向对象的、分布式的、解释的语言。
2.与C#相似JAVA同样去掉了难以理解的指针等概念,取而代之的是类和对象。
3. JSP有一项全新的技术――Servlet(服务器端程序)很好的节约了服务器资源。
4.JAVABeans是针对ASP.NET的Server Control的技术。只要会JAVA, JavaBeans就很容易写出。
5.再有就是JAVA的JDBC数据库连接技术。
6.JSP对XML同样有十分广泛的支持。
1) 面向对象性:
ASP+将C#作为一种面向对象语言,在很多方面来看,C#将成为微软的与Java相似的语言。
C#另一个有趣的地方是所有对象都自动变成为COM对象。如果C#能取得很大的市场份额,那么它将给ASP+带来类似于Java的功能,并且具备更快的性能,因为它可以和Windows环境紧密集成。
C# 是ASP+开发中一个最重要的功能,微软会将C#发展成为Java的强劲对手。这也是他们.Net框架的一个重要组成部分。我认为C#是微软在编程市场上击败对手的主要工具。我期待着微软能在这个产品后面倾注全力,这样,C#可以成为许多程序员的又一种选择。C#产生的结果是将进一步加固微软和Sun产品的战线。这对用户是有利的,他们可以选择两者之一来开发新的应用。
2) 数据库连接:
ASP另一个亮点是它使用ADO对象,ODBC, OLE-DB和事务处理管理器。因此ASP Web数据库应用开发特别简单。ASP+发展了更多的功能,因为有了ADO+!ADO+带来了更强大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,当新版本ASP+/ADO+出现后这样的差别会更明显。我个人希望SUN应尽快能花大力气来追赶ASP+/ADO+的组合。
3) 大型站点应用:
ASP+将对大型站点(web farms)有更好的支持。事实上,微软在这方面付出了巨大的努力。 ASP+可以让你考虑到多服务器(multiple servers)的场合,当你需要更强大的功能时,仅仅只需要增加一台服务器。整个.Net框架已经充分地提供了这个方法。ASP+提供了外部会话状态(external session state)来提供内置式web farm的支持。另外,由于请求的各组件相互间经过了充分的优化,所以速度很快。
于是ASP+现在可以在大型项目方面与JSP一样具有等同的能力。 而ASP+还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。对于JSP,你需要购买昂贵的应用服务器群来达到同样的目的。
4) ASP+还提供更多的其它方面的新特性,例如:
*内置的对象缓存和页面结果缓存。
*内置的XML支持,可用于XML数据集的简单处理。
*服务器控制提供了更充分的交互式控制。
ASP+确实对ASP进行了较大的发展。
D. java,.net,php工程师学哪个比较好
建议先学.net
.net的C#语言现在很流行
这个学好了再想学其它的会容易上手的多