`
wwty
  • 浏览: 543118 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

Java在Web开发语言上败给了PHP

阅读更多

文章转自:http://www.williamlong.info/archives/1314.html

 

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依旧是未来的趋势。

 

 

 

分享到:
评论

相关推荐

    java web接口开发demo

    【Java Web接口开发】是Web应用程序开发中的一个重要环节,它允许不同的系统或客户端通过网络进行数据交互。在Java世界中,实现Web接口通常涉及到Servlet、JSP、Spring MVC或者RESTful API等技术。本示例"java web...

    java语言开发web课程设计新闻发布系统源代码.zip

    java语言开发web课程设计新闻发布系统源代码java语言开发web课程设计新闻发布系统源代码java语言开发web课程设计新闻发布系统源代码java语言开发web课程设计新闻发布系统源代码。java语言开发web课程设计新闻发布...

    Tomcat与Java Web开发技术详解(第2版)及其源码

    《Tomcat与Java Web开发技术详解》语言深入浅出、通俗易懂,无论对于Java Web开发的新手还是行家来说,《Tomcat与Java Web开发技术详解》都是精通Tomcat和开发Java Web应用的必备的实用手册。《Tomcat与Java Web开发...

    Tomcat与Java Web开发技术详解 孙卫琴 源码

    由于Java Web技术是SUN公司在Java Servlet规范中提出的通用技术,因此《Tomcat与Java Web开发技术详解》讲解的Java Web应用例子可以运行在任何一个实现了SUN的Servlet规范的Java Web服务器上。随书附赠光盘的内容为...

    用案例学Java Web整合开发:Java+Eclipse+Struts 2+Ajax

    Java Web整合开发是构建Web应用程序的关键技术,涵盖了Java语言、Eclipse集成开发环境(IDE)、Struts 2框架以及Ajax异步JavaScript和XML技术。这个主题深入探讨了这些技术如何协同工作,创建出高效、用户友好的Web...

    Java web网站开发 PPT

    【Java Web网站开发】是Web应用开发的重要领域,它涵盖了使用Java语言以及相关技术来创建交互式的、动态的Web应用程序。Java Web开发主要基于Java Servlet、JavaServer Pages(JSP)、JavaServer Faces(JSF)等技术...

    Tomcat与Java.Web开发技术详解(PDF)

    2. **Java Web基础**:Java Web开发涵盖了使用Java语言进行Web应用程序的设计和实现。这包括了Servlet、JSP、JavaServer Faces (JSF)等技术。Servlet是Java编写的服务器端程序,用于处理HTTP请求;JSP则是一种动态...

    Java和PHP的web开发技术比较

    Java和PHP都是当今Web开发领域的主流语言,它们各自拥有独特的特性和优势,广泛应用于网站构建、后端服务以及大数据处理等场景。这篇文章将深入探讨Java与PHP在Web开发中的技术对比,帮助开发者更好地理解两者之间的...

    Java.web整合开发王者归来整本书内容及光盘源码

    由于上传大小限制50M,因此分享的是我的百度网盘链接,下载后文本文件里有链接,包括Java Web整合开发王者归来整本书326.5M 的PDF文档以及54.7M的光盘源代码 本书简介: 资深Java程序员耗时一年时间写作,十年开发...

    java web项目开发需要掌握哪些技术

    在 Java web 项目开发中,需要掌握多种技术,包括 Java 语言、面向对象分析设计思想、设计模式和框架结构、XML 语言、网页脚本语言、数据库、应用服务器、集成开发环境等。 Java 语言 Java 语言体系比较庞大,包括...

    java web 整合开发 完全自学手册 光盘资料-C02

    java web 整合开发 完全自学手册 光盘资料 源代码partI 1.本书2~24章所附代码的运行环境 操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:JAVA5、MyEclipse 数据库:MySQL Web...

    Java Web项目开发需要掌握哪些技术 共26页.pdf

    Servlet 是一个小型的 Java 程序,运行在 Web 服务器上,用于处理客户端的请求和响应。 Servlet 技术是 Java Web 项目开发中最重要的技术之一。 1.3 Java Server Pages(JSP)技术 Java Server Pages(JSP)技术...

    新手学Java Web开发

    新手学Java Web开发

    亮剑Java Web项目开发案例导航 源码

    1. **Java基础**:作为Java Web开发的基础,熟悉Java语言的基本语法、面向对象编程、异常处理、集合框架(如ArrayList、HashMap等)以及IO流是必要的。书中可能涵盖这些基本概念及其在Web开发中的应用。 2. **...

    Tomcat与Java Web开发技术详解(第2版).pdf

    在Java Web开发中,Tomcat是一个至关重要的组件。它是一个开源的、轻量级的应用服务器,主要用于执行Java Servlets和JavaServer Pages(JSP)。Tomcat以其小巧、高效和易于配置的特点,成为许多开发者首选的Java Web...

    Java EE Web开发实例精解完整光盘

    JAVA EE Web应用系统从逻辑上可划分为表现层、业务层和持久层,为了使读者对JAVA EE编程技术获得全面系统的了解,《Java EE Web开发实例精解》以JAVA EE Web应用系统的逻辑加构为主线,通过多个典型工程实例对上述三...

    JAVA web开发技术教程源码-张娜主编

    JAVA web开发技术教程源码 张娜主编 供同学们参考使用。

    Java Web开发实例大全(基础卷) 完整pdf扫描版[179MB]

    Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...

    Java web开发学习心得

    Java web 开发需要使用 Java 语言编写应用程序,并在服务器上运行,以处理请求和响应。 二、Java web 开发的知识点 ### 1. Java 语言基础 Java 语言是面向对象的语言,具有封装、继承、多态、抽象类、接口等特点...

    c# ,java,PHP 海康威视web最新版开发包,正在使用源码

    在IT行业中,Web开发是一项核心技能,涉及到多种编程语言和技术栈。这个压缩包"CH_WEB3.0控件开发包V1.1.0_Win32"显然为开发者提供了跨平台的集成解决方案,支持C#,Java,PHP以及ASP.NET MVC这四种流行的编程语言。...

Global site tag (gtag.js) - Google Analytics