`
morris
  • 浏览: 179089 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
PHP的主要语言开发者之一、Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言。他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,Java已经输掉了Web开发语言的战争,PHP是事实上的标准和胜利者。

Gutmans的这篇文章在技术界引发了强烈争议,很对人对此有不同的意见,我在这里就阐述一下我对PHP和Java两种语言的看法。

首先对比一下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依旧是未来的趋势。
4
5
分享到:
评论
2 楼 pdreamer 2008-08-26  
楼上兄,淘宝前台用php,据说也用了java,myspace用.net
1 楼 hilliate 2008-05-25  
仔细想了想,也不尽然,虚拟主机毕竟都是小网站在用,大网站用虚拟主机?开玩笑啦。
而且使用java来做web应用的大网站其实不少。例如淘宝、myspace等等。
java的强项倒是更体现在逻辑流程的控制上,所以多数的企业级管理信息系统用java居多。

相关推荐

    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”明确了本书的核心内容,即Java编程语言在Web开发中的应用。 在Java Web开发领域,你需要理解以下几个核心知识点: 1. **Java基础**:首先,你需要掌握Java编程的基础,包括语法、类与对象、继承、接口...

    用案例学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开发(PDF版)

    Java Web开发是编程领域中的一个重要分支,主要涉及使用Java语言进行服务器端的Web应用程序开发。这份PDF版的教程,显然旨在为初学者提供一个全面且基础的起点,帮助他们掌握这个广泛使用的技能。 首先,Java Web...

    新手学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开发入门很简单源代码

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

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

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

    Java在WEB开发领域的革新

    虽然脚本语言如Ruby、PHP在敏捷开发和快速原型设计上有一定的优势,但Java在大型项目和高性能需求场景下更为可靠。例如,Java的ORM(对象关系映射)框架,如Hibernate,以及路由系统,已经在灵活性和效率上与脚本...

Global site tag (gtag.js) - Google Analytics