PHP的主要语言开发者之一、Zend公司的创始人之一Andi
Gutmans最近在blog中直言不讳地批评了Java语言。他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,Java已经输
掉了Web开发语言的战争,PHP是事实上的标准和胜利者。
Gutmans的这篇文章在技术界引发了强烈争议,很对人对此有不同的意见,我在这里就阐述一下我对PHP和Java两种语言的看法。
我早先曾经在《Perl、PHP、ASP、JSP技术比较》一文中对比过PHP和Java的异同,简而言之,PHP是一种解释执行的脚本语
言,语法和C语言类似,易学易用,不懂电脑的非专业人员稍经学习也能使用
PHP.而Java要先编译成Class文件,然后在Java虚拟机上执行,Java开发需要熟悉Java语法以及一些核心的架构,从而实现一种可复用
的、跨平台的软件,Java比PHP要难学的多。
实际上,从技术架构来说,Java语言相比PHP有明显的优势,Java使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方
法。PHP只能实现简单的分布式两层或三层的架构,而JAVA可以实现多层架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现
在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用Java的web开发技术实现了MVC的设计模式,而在业务逻辑层也有
Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。从数学运算和数据库访问速
度来讲,Java的性能也优于PHP.实际上,对于跨平台的大型的企业应用系统来讲,Java几乎已经成为唯一的选择(微软.NET不支持跨平台),但是
在于Web网站应用开发来讲,Java却面临着被PHP边缘化的危险,几乎所有的虚拟主机都支持PHP+
MySQL,而支持Java的却少之又少,在资源上,网上有不计其数的PHP资源,很多著名的大型网站(例如Facebook、Mediawiki等)都
是基于PHP的,而成功的Java网站却寥寥无几,这又是什么原因呢?
Java的理念是“一次编写,到处运行”,Java在应用框架底下的架构是无与伦比的,远胜过其他任何语言,Java的框架利于大型的协同编
程开发,系统易维护、可复用性较好。而PHP很容易自学,让热备能快速简洁地编写代码,适合于快速开发,中小型应用系统,开发成本低。在调试、发布
上,PHP也较Java简单。
理念上的不同导致了Java和
PHP在Web应用开发上显示了不同的结果,尽管Java的数学计算和数据库访问都有优势,架构也相当完美,但是PHP却可以简单轻松地支持高强度Web
访问,能够快速开发应用,支持PHP的虚拟主机多如牛毛,使得用PHP开发一个网站比用Java开发一个网站要快得多,容易的多。Java所拥有的优点只
适合传统的以软件项目为核心的开发模式,而PHP更适合于以客户为核心的SaaS的开发模式,因此,PHP目前在Web网站开发的优势完全是因为Web网
站开发的特殊性而导致的,并非编程语言特性所决定。
因此,PHP在Web网站开发语言的战争中已经慢慢将Java抛在了后面,Java要想在Web网站开发上奋起直追,的确应该多听听Andi Gutmans的意见,彻底改变一下思路才行,否则两者的差距只能是越来越远。
另外,虽然在国际上LAMP(Linux+Apache+Mysql+Php)架构已经占领了统治地位
,但是在中国国内还有一个怪胎,就是基
于微软的 Windows
Server+IIS+SqlServer+ASP/ASP.NET的架构,从理论上说,微软的这一套架构也能实现不错的性能,只可惜Windows和
SqlServer价格不菲,整个架构在性能上比起LAMP不仅没有什么优势,反而还有不少劣势,因此微软的这一套家伙在国际市场上吃不开。而国内使用微
软盗版则可以忽略成本,而ASP的易学易用性不逊于PHP,甚至连IT外行都能够使用,因此在国内也有不小的市场。但是随着中国在保护知识产权方面的日趋
完善,免费的LAMP依旧是未来的趋势。
转载:http://anti-pure.iteye.com/blog/197388
分享到:
相关推荐
1. **JavaBridge**:PHP调用Java最常用的方法之一是通过JavaBridge,这是一个PHP扩展,允许PHP代码直接调用Java对象和方法。首先,需要在服务器上安装JavaBridge,然后在PHP中使用它提供的API来创建Java虚拟机(JVM...
PHP/Java Bridge是一种技术,它允许PHP和Java应用程序之间进行通信和数据交换,极大地扩展了PHP的功能,使得开发者能够利用Java平台的强大功能。这个技术的关键在于它的几个核心组件,其中包括JavaBridge.jar、...
基于java的开发源码-PHPJava Bridge.zip 基于java的开发源码-PHPJava Bridge.zip 基于java的开发源码-PHPJava Bridge.zip 基于java的开发源码-PHPJava Bridge.zip 基于java的开发源码-PHPJava Bridge.zip 基于java的...
《PHP与Java交互:PHP-Java-Bridge详解》 在当今多语言混合开发的环境中,PHP作为一款流行的服务器端脚本语言,有时需要与Java进行交互以利用Java强大的功能和性能。PHP-Java-Bridge(简称PJB)就是这样一个解决...
本工具提供了在不同编程语言间进行RSA密钥的互换,包括JAVA转C#、JAVA转PHP以及C#转JAVA的转换功能。 在JAVA中,RSA的实现主要依赖于`java.security`包,其中`KeyPairGenerator`用于生成公钥和私钥,`Cipher`用于...
在IT领域,PHP和Java是两种非常流行的编程语言,它们分别在Web开发和企业级应用中占据重要地位。本文将详细探讨"php_java.jar"和"php_java.dll"这两个文件,以及它们在PHP与Java集成中的作用。 "php_java.jar"是一...
在IT行业中,PHP和Java是两种广泛使用的编程语言,它们分别在Web开发的前后端扮演着重要角色。而RSA是一种非对称加密算法,广泛应用于数据的安全传输和存储。本项目"PHP_JAVA_RSA互通加解密"实现了PHP和Java之间使用...
【PHP调用Java类库】涉及的技术点包括PHP与Java的交互、JavaBridge的使用以及相关的环境配置。本文将详细阐述这些技术要点。 首先,PHP调用Java类库主要是通过PHP Java Bridge(简称JavaBridge)实现的。JavaBridge...
Java和PHP是两种广泛应用的编程语言,它们在不同的场景下各有优势。在某些情况下,我们需要在Java应用和PHP应用之间实现通信,以便于数据交换或服务调用。本篇文章将详细探讨如何通过Java的ServerSocket类来建立一个...
JavaBridge.jar, php-script.jar, php-servlet.jar, 和 script-api.jar 这四个文件是针对在Java环境中运行PHP应用程序的关键组件。这些JAR(Java Archive)文件主要用于在Apache Tomcat服务器上实现PHP与Java的集成...
4.目前的版本是VMBridge了,要php调用java类,要先启动JavaBridge,为了以后启动方便,我在ext/下新建了一个bat文件内容如下: @echo off start javaw -jar JavaBridge.jar 保存后,双击启动 会有一个提示框选择...
### PHP调用Java知识点详解 #### 一、前言 在跨语言开发环境中,有时我们需要让PHP调用Java代码来实现特定功能。本篇将详细介绍一种非HTTP桥接的方式——利用`JavaBridge.jar`实现PHP与Java之间的交互。这种方式...
标题“为PHP配置Java环境”涉及的是在PHP开发中整合和使用Java平台的过程。这通常涉及到在PHP应用程序中调用Java代码,例如通过JavaBridge或使用像Quercus这样的PHP到Java的转换器。以下是对这个主题的详细阐述: 1...
Java和PHP都是当今Web开发领域的主流语言,它们各自拥有独特的特性和优势,广泛应用于网站构建、后端服务以及大数据处理等场景。这篇文章将深入探讨Java与PHP在Web开发中的技术对比,帮助开发者更好地理解两者之间的...
在IT行业中,跨语言通信是常见的需求,例如PHP与Java之间的交互。PHP是一种广泛用于Web开发的脚本语言,而Java则以其强大的企业级应用能力著称。有时我们需要利用PHP来调用Java服务,实现特定的功能或者利用Java的库...
php调用java类的方法 需要将java工程打包称jar包之后调用
### PHP调用Java方法介绍 #### 一、背景与需求 在实际开发过程中,有时我们需要在PHP环境中调用Java的方法来实现特定的功能。这可能是由于Java在某些领域(如企业级应用、大数据处理等)拥有更为成熟和高效的解决...
### Java调用PHP的Webservice知识点详解 #### 一、Webservice简介 Webservice是一种用于不同应用程序之间进行通信的技术标准,通常使用XML作为数据交换格式。它可以被部署在不同的平台上,并且可以使用不同的编程...
Phprpc.jar是一个Java库,专门用于处理PHP的序列化数据,使得Java应用程序能够与PHP环境进行跨语言的通信。这个工具包的核心功能是反序列化PHP序列化的字符串,允许Java程序理解和操作PHP生成的数据结构。在Java中,...
php5的java扩展资源.加入到ext中更改ini文件: [java] java.home=D:/Java/jdk1.5.0_09/jre java.library=D:/Java/jdk1.5.0_09/jre/bin/server/jvm.dll java.library.path=D:/php/ext/ java.class.path="D:/...