`
wwty
  • 浏览: 542880 次
  • 性别: 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课程设计新闻发布...

    基于Java的Web开发技术.pdf

    基于Java的Web开发技术汲取了Java语言的优点,并在不同平台上展示了强大的功能,这对于Web技术的完善和发展起到了推动作用。 PHP技术是一种服务器端的嵌入式脚本语言,与C语言风格相似,广泛应用于各种编程环境中。...

    Java web开发技术Java教程

    有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料\Java教程 有关Java web开发技术\资料\Java教程 有关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.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开发

    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开发技术。这本书的核心目标是帮助读者理解和掌握如何使用Java语言构建动态、交互式的Web应用程序。书中不仅提供...

    Java Web开发入门很简单源代码

    第1篇为准备篇,主要为Java Web开发概述,并手把手带领读者一块搭建Java Web开发环境;第2篇为基础篇,主要介绍HTML、CSS、JavaScript、Servlet、JSP和JavaBean等Java Web开发所需的基础知识,并对这些基础知识进行...

    21天学通JAVA-WEB开发电子教案(PPT)Java实用源码整理learns

    【标题】"21天学通JAVA-WEB开发电子教案(PPT)Java实用源码整理learns" 提供了一个全面的Java Web开发学习路径,它旨在帮助初学者在21天内掌握Java Web开发的基本技能,并通过实际源码加深理解。 【描述】描述中的...

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

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

    Java web开发学习心得

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

Global site tag (gtag.js) - Google Analytics