PHP与其他语言的比较

就目前的动态网页开发技术而言,除了PHP以外,还有ASP、JSP和.NET,它们都各有千秋,都有着广泛的用户群,本节将它们进行简单的比较,如表1.1所示。

表1.1  PHP与其他语言的比较

比较项目

PHP

ASP

JSP

.NET

跨操作系统性

支持

只支持Win32

支持

只支持Win32

Web服务器

IIS

很多

IIS

执行效率

极快

极快

稳定性

开发敏捷度

支持语言

PHP

VBScript

Java

C#、VB、C++、JScript


续表

比较项目

PHP

ASP

JSP

.NET

函数支持

系统安全

版本升级

一般

难易程度


它们都各有所长,可以根据实际需要从中选择一种。不一定要选择最好的,但一定要选择最适合自己的。

发现php与js很相似。两者最大区别就是一个服务端脚本,一个客户端脚本。

且php比jsp的开发学习要简单、快捷。

LAMP:Linux + Apache +MySQL + Php

1、都不必声明变量的数据类型,php变量都是以$符号开始(声明和使用都带$)。

js用var声明(函数体内用var声明是局部变量,不用var声明则是全局变量)。

2、基本语法

php: <?php    php code    ?>

jsp:<%  jsp code %>

js:<script type="text/JavaScript"> js code </script>

php,js,jsp,css的注释都是//(单行);/* */(多行)

3、字符串链接

php采用并置运算符(.),如$str="abc"."123";

4、php输出用echo , js用document.write(),jsp用out.print();

5、php数组 $names = array("zhangsan","lisi","wangwu");

js数组var names = new Array("zhangsan","lisi","wangwu");

jsp数组String[ ] names = new String("zhangsan","lisi","wangwu");

一、前言

PHP和Java都是现在比较流行的二种编程语言。

对于许多新手来说,都会思考如果学的时候,该学哪种语言呢?下面这篇文章给大家整理两者的区别以及一些选择建议,一起来看看吧。

二、简介

PHP与Java作为两种截然不同的程序开发语言,无论是技术层面还是发展空间,亦或是市场份额占比,都有着不同的表现方式,理念上的不同导致了Java和PHP在Web应用开发上显示了不同的结果。若要一定追根到底,深究PHP与Java究竟哪个更好?

简而言之:PHP是一种解释执行的脚本语言,语法和C语言类似,易学易用,不懂电脑的非专业人员稍经学习也能使用PHP;而Java要先编译成Class文件,然后在Java虚拟机上执行,Java开发需要熟悉Java语法以及一些核心的架构,从而实现一种可复用的、跨平台的软件,Java比PHP要难学的多。

那么PHP与Java在Web开发上又有何区别呢?哪个最适合的Web开发语言?

三、 语言比较

PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以相对而言,php更好学一些。

Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。Java的Web开发首先最容易想到的就是JSP(现在已经到JSP2.0),原来的java的Web开发都是用servlet来实现的,用servlet来开发需要程序员在java的源文件中嵌入大量的html代码。所以后来就出现了JSP,JSP可以方便的嵌入到html文件当中,其实jsp文件在服务器上执行的时候首先会被应用服务器转换成servlet,然后再编译执行。Jsp可以通过servlet和JavaBean的支持产生强大的功能。JavaBean 是一种可复用的、跨平台的软件组件。使用javabean可以方便的实现java代码和html的分离,能够增强系统的功能和软件的复用性。

Java的Web开发属于SUN公司定义的J2EE其中的规范。而且在J2EE中包括了java的Web开发的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特别适合于做大型的企业级的应用。

四、技术架构

java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。

PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。

Java语言相比PHP有明显的优势,Java使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方法。PHP只能实现简单的分布式两层或三层的架构,而JAVA可以实现多层架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用Java的web开发技术实现了MVC的设计模式,而在业务逻辑层也有Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。

五、数据库访问速度比较

Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库。访问数据库的接口比较统一。
PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用Java开发的Web应用从MySQL数据库转到Oracle数据库只需要做很少的修改,而PHP则需要做大量的修改工作。

从数学运算和数据库访问速度来讲,Java的性能也优于PHP。实际上,对于跨平台的大型的企业应用系统来讲,Java几乎已经成为唯一的选择(微软.NET不支持跨平台),但是在于Web网站应用开发来讲,Java却面临着被PHP边缘化的危险,几乎所有的虚拟主机都支持PHP+MySQL,而支持Java的却少之又少,在资源上,网上有不计其数的PHP资源,很多著名的大型网站(例如Facebook、Mediawiki等)都是基于PHP的,而成功的Java网站却寥寥无几。

尽管Java的数学计算和数据库访问都有优势,架构也相当完美,但是PHP却可以简单轻松地支持高强度Web访问,能够快速开发应用,支持PHP的虚拟主机多如牛毛,使得用PHP开发一个网站比用Java开发一个网站要快得多,容易的多。Java所拥有的优点只适合传统的以软件项目为核心的开发模式,而PHP更适合于以客户为核心的SaaS的开发模式,因此,PHP目前在Web网站开发的优势完全是因为Web网站开发的特殊性而导致的,并非编程语言特性所决定。

六、开发成本比较

PHP最经典的组合就是:PHP + MySQL + Apache。非常适合开发中小型的Web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。

Java的Web应用服务器有免费Tomcat、JBoss等,如果需要更好的商业化的服务有:Web Sphere和 Web logic。

七、源代码安全

PHP开发的程序的源代码都是公开的,他人拿到php开发的程序后都可以进行修改。

Java开发的程序,最后用户拿到的是只是一些编译好的class类,无法看到完整的源代码,安全性高。

八、总结

综上所述,个人认为,PHP适合于快速开发,中小型应用系统,开发成本低、易学,能够对变动的需求作出快速的反应,在调试、发布上,PHP也较Java简单。

而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。Java的理念是“一次编写,到处运行”,Java在应用框架底下的架构是无与伦比的,远胜过其他任何语言,Java的框架利于大型的协同编程开发,系统易维护、可复用性较好。还有,同样功能的系统用Java开发的系统要比PHP开发的系统的价格要高。

好了,以上就是为大家整理的PHP和Java的主要区别,以及对于想学习这两门语言的新手们的一些建议,希望对大家能有所帮助




PHP写的网站占所有网站的大概 80%了。这个网站的数据我觉得还是比较信服的。你黑跟不黑,他们都在那儿用php在。

PHP流行无外乎:

简单、性能足够好

热部署、易修改

部署方案简单、各种独立的php空间商好找

php官方够给力、性能提升比较大, Facebook出的HHVM更是反映了PHP的兴盛

一些顶级PHP类库的发展,比如韩天峰的Swoole ,github地址 swoole/swoole-src · GitHub 鸟哥的yaf laruence/php-yaf · GitHub

PHP的极强的兼容性:

PHP的极强的兼容性,这个也是稳定、高效的最好的佐证,PHP5.2到现在的PHP7、hhvm有多少的不兼容么?反观Python Python2跟Python3是裂变,ruby每个版本的兼容性其实很大的,甚至一些gem比如rails之类的 ,兼容性很差的。

Php的灵魂Hash Table很精妙,php的简单我觉得绝大多数构筑在hash table设计精巧上, 用了那么多的语言,php的数组、对象操作真是最简单最得心应手的,这个就是Php hash table的强大了,关于hash table的C实现,可以大概瞅瞅PHP C源代码, http://www.php-internals.com/book/?p=chapt03/03-01-02-hashtable-in-php

 

 

四大web语言(仅仅web上用的比较多,比较类似的4大语言) PHP跟python、ruby java 我都学过(C#粉勿怪,我是linux脑残粉,只用linux下用的比较广的东西,ms系列的东西我都不看的。)

其中php ruby python算是同类C实现的脚本语言这一类的。java自成一类字节码半编译基于强大JVM的伟大语言。

分开来说:

在php、ruby、python里面

虽然我觉得python、ruby比较省代码

但我不觉得在web上 python、ruby有机会击败php。不要因为少数开玩笑的、低级的黑PHP就觉得PHP不行了,那些黑PHP的多少黑到点子上去了。

别的我不知道,学校里一些玩儿python的自以为python很厉害,整个php群体比较菜的,这其实是python小众群体的优越感了。真比起来,python在纯web上比不过php跟ruby。

以前十年前大概,挺多初高中生搞ACM、OI 会一点pascal 就那种很优越的经常说,“别跟我提C++,我是写pascal,不懂C++啦”,就是那种自黑狂妄的秀优越的那样说出来的, "不懂C++都拿出来秀优越一样",真是可笑。

python、ruby的类库比php多一些, 但是在纯web跟web相关这方面,php的成熟类库比ruby、python多的,这就是php为什么现在在web上比python、ruby强。perl的没落也不是没有原因的。1995-1998年大概, lamp就开始提出来,盛行天下。当时很强大的雅虎在内部全部推广php, 最后才引起php的盛世啦。

 

再说 java跟(php ruby python) 这两大类:

java综合来说,写起来复杂一点,不要跟我扯java敏捷开发(java的敏捷开发是相对于java以往的开发例子的敏捷开发),嵌进去预言的语法是你的一个便捷的框架能改变的么?真想逆天改命呢。

jvm经过sun orcale IBM 等等花重金堆人才、堆技术、堆黑科技,堆出来的超强性能,惊世罕见。已经在很多地方java不比c++ 慢了。

java的一些工业级的强大类库、php ruby python只有看着的份儿,这个是事实,得认。apache基金会下面一票的伟大的java项目: tomcat 、 cassdra、POI 、strust 、lucene、solr、hadoop、hbase、zookeeper 等等。具体可以去看

在web方面, java堆机器、堆集群是可以把一些性能堆上去的,还有一些像站内搜索引擎方面事实标准是solr 、lucence, 这一块基本只能用java。

还有一些复杂的后台任务啊、之类的都用java不断的跑。写到cache、队列里面去,供其他语言调用。

java一个很好的特点就是工程性特别规范特别强、简直是标准的工业级语言。虽然写起来有点点繁琐,但是配合伟大的jetbrains idea 系列IDE的智能提示,基本不麻烦。java的安全性、线程锁、同步啊、Exception等等是别的语言很难达到的。所以淘宝、当当、京东有用到java的,哪一步比如读文件、数据库连接、IO、网络等等所有地方的 异常都可以捕获,万一发生诡异的异常都可以找出来的。其他语言(php ruby python)目前基本没这样的能力的。

所以一些大企业java / c++ + php混用的,其实挺好的。个人觉得“PHP是最好的语言”,这话即使不对,也是最好语言之一。分数越高越好,我把各大语言我认识的 常用的web框架,标出来了。

 

框架的具体介绍:

大家也可以自己看看自己在用的框架在什么位置

看到没php-raw , 也就是纯php, 在很高的位置。在纯php之上的,除了纯java的servlet-raw, 其他我都不认识。注意php-raw 比 python django flask、ruby rails sinatra、go 、go revel 等等好多都要高,有的还高很多很多。

php的流行,必然有很大的一方面就是性能很强的原因。配合简单、稳定、容易部署。

 

我还在百度实习的时候,百度用的比较普遍的一个php统一解决方案,核心就是ap框架。可以说 ap框架 约等于 yaf框架。几乎一模一样的。是鸟哥还在百度的时候,他们一起为百度的基础架构写了一个php c语言框架。

AMP组合已经集齐一套完整的带CGI功能,数据库的网页服务器套装,而且相近的技术(JSP/*或者sevrlet*/,ASP)当时出现晚了(PHP2是95年,引入Zend引擎的PHP2是97年,PHP3是98年,JSP是99年,/*sevrlet是97年*/,ASP是96年,http://ASP.NET是02年),其实只是最近一些年才发现PHP的语言特征太“粗犷”了,才认为不太适合。(毕竟原设计只是给作者自己更新网页用的)

 

Ps:当然PHP的设计的确方便上手,配置基本简单。所以现在市面上的大多企业都在使用PHP开发出来的网站。


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐