`
jimcgnu
  • 浏览: 35490 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

转:论Web 2.0时代的PHP(注:侧面看java)

阅读更多
随着所谓WEB2.0时代来临,程序员从来没有时代象今天那样受人注意,很多程序员对于语言的争论也从来没有象今天这样剧烈,JAVA、C++、PHP、ASP等等,最近又出来一个Ruby,加上Python。无数的FANS在中间进行争论不休,也就是在网路上,如果是在现实生活中, 大概会象《倚天屠龙记》里描述的那样,会决战光明顶来定一个胜负,或者说定出天下第一大门派。而现在定出谁是天下第一大其实很方便,看一下哪个语言旗下的 弟子人数即可。而现在最流行的统计方式,就是Google了,看看Google的搜索结果,基本就能判断出其在市面上的网站的使用情况,


约有5,760,000,000项符合 php 的查询结果

  约有3,070,000,000项符合asp的查询结果

  约有976,000,000项符合java的查询结果

  约有327,000,000项符合perl的查询结果

  约有238,000,000项符合python的查询结果

  约有225,000,000项符合c++的查询结果

  约有176,000,000项符合ruby的查询结果 

  这段时间葛优的光脑袋频繁曝光,总是喋喋不休的告诉俺们一个道理——用的人多的卡就是好卡。而如果套用这个光头明星的话,那就是,我,相信群众,从上面查询的结果大家可以看到,人民群众是很爱戴PHP的。

  但如果你去问互联网的一些资深开发人员,PHP、ASP与Java,他们之间谁更好?一般来说,这个人都会告诉你,ASP就不用想啦,微软出 的垃圾,PHP和Java是不错的选择,Java适合做大项目,PHP适合做一些短平快的东西。如果你还继续问,这个高手还没有失去耐心的情况下,他大体 都会说,你看世界上最大的互动平台eBAY,就是用JAVA写的,中国最大的社区CHINAREN校友录也是JAVA,而很多小的网站,初期都是PHP, 后来各种原因都必须改到JAVA上面去。这种感觉就是像说,如果你想学武功以便出去砍人,或者说在江湖扬名立万,那么行军拳你就不用练啦,这个东西是政府 拿出来强身键体的,五虎断门刀这个东西你用来对付一般的流氓是绰绰有余,但是碰到绝顶高手你就歇了。而Java有点象太极拳,当今武林最大的门派之一 SUN的首推武功,是对负高手的不二选择,于是很多人就认定:PHP是低等武功,练到最好的结果也就是给赌场看看场子,只有练就Java才能做武林盟主。

   俺和很多公司的技术经 理聊的时候,经理们说很多人都有这种心理,他是使用Java的,而你如果让他写PHP,,很多人会有一种受到侮辱的感觉,不是觉得经理不重视他,就是在想 自己什么时候得罪了经理,竟然被发配到PHP这种偏远的小地方去了。越是大公司,PHP的项目越难开展起来,这个让很多技术老大们很是郁闷,但也很是奇 怪。所以,下面,咱们一起分析一下形成这种被人民群众认可,却不被很多开发人员看好的语言——PHP。

  PHP 进入中国是98,99年,进入的时候,初期应用的典型是Chinaren校友录,还有很多的互动应用,它以开发方便,容错性好,迅速成为很多网站的选择。到了00,01年,互联网泡沫的时候,很多都是PHP完成对网站的开发,它的流行有以下几个原因:

  兼容C的语法,容易掌握 
   就这一点来说,它保证了开发人员的稳定来源,基本上说,每个学计算机的人员,没有不学习C 语言的,所以都能在一到两周左右快掌握这个新的语言,然后经过简单的指导,就能开始初期的开发工作。单从程序本身的开发而言,写了三年以上的程序员,和开发了半年以上的PHP程序员差别不是太大。

  运行的快速
    在网路上面,速度是很重要的问题,这一点来说及时是对PHP非常不屑的人也不得不承认PHP得运行速度还是比较令人满意的,只不过由于没有很实际的数据,只是很多人感觉,所以这一点来说,没有非常有力的证据证明。

  非常强的容错,很好的鲁棒性能
    很多写PHP的人员应该有这个感觉,举个例子,你申请一个PHP中的变量,做数字也行,做数组也行,做字符串也可以。我有时候都在想,这么随意的风格,他是如何保证效率的,只能说写这个语言编译器的人实在太不可思议了。

  丰富的函数和简单的操作
    能想到的一些操作,如果不是太罕见,你基本都能找到函数库来解决,典型的就是读文件的内容读到一个变量,到现在为止,我知道的好像只有PHP提供一个专门的函数来解决这个问题

  以上四个特点,用PHP开发程序非常得普遍,但作为程序来说,这些看起来非常不错的特征也形成PHP的一些问题,造成在很多资深的程序员对其评价很低。

    首先第一条,也是让很多资深的程序员对其尴尬不已的,做了3年以上的PHP程序员,当一个初学者问其一些技巧的时候,他们突然发现,PHP这种语言实在是没有好说的,看它的帮助就能解决问题或者看一下教程。 不像Java,一个仅仅写了半年左右的Java开发人员和3 年以上的Java开发人员可以说有本质的区别,后者可以讲很多JAVA的开发架构和分布问题,讲的那个菜鸟满脑浆糊,满脸崇拜。而俺在 PHPCHINA.CN讲课的时候,发现每个人在听PHP语言一些很细节的东西时都是昏昏欲睡,大部分都在开小差。我想这和PHP语言通俗易懂,没有什么 挑战性的概念有很大的关系。


   第二条还是效率的问题。市面上对于WEB语言的效率,PHP快只是感觉,并没有一个非常有力的测试证明它比别的语言快很多,而JAVA和ASP却有一个非常有名的一个测试性能比较。

  有人做过试验,对这三种语言分别做循环性能测试及存取Oracle数据库测试。

  在循环性能测试,

   JSP用了20000*20000的循环  共四秒钟。

   而ASP、PHP测试的是2000*2000循环(少一个数量级),分别用了63秒。

   PHP测试的是2000*2000循环 84秒

  数据库测试中

   三者分别对Oracle8进行1000次Insert,Update,Select和Delete:

    JSP需要13秒

    PHP需要69秒

    ASP则需要73秒

    一个有意思的测试,说明一个问题,对于大量的运算,PHP看起来不是一个太成功的语言,这个也是很多高手不是很看好PHP的一个实际例证明,然而实际是这 个仅仅是一个有点BT的测试,谁会在互联网上写一个循环400万次循环以上的一次请求应用,我倒很想见识一下。实际上,在WEB应用中这种循环或者说密集 的运算非常罕见,如果有,首先该考虑的也是算法的优化,减少循环的次数,然后才是考虑语言本身。并且就算是必要的,也不是Java、PHP和ASP能够解 决的,这个时候,如果用的比较多,C会粉墨登场,再多一点,可以使用汇编,非常多的情况下,芯片的设计我想是比较好的选择,怎么样都不会轮到Java这种 语言,所以用这种方法来评价PHP是非常不妥的。

  而对于PHP开发中较好的鲁棒性,你怎么写它都能运行,并且很稳定,从而也造成PHP程序员的散漫,程序的开发非常随意,又加上中国互联网产品 开发的紧急性,几乎都没有很好的文档,从而后期PHP程序的维护成为无数项目经理的噩梦。这一点也是很多高手或者说资深程序员对于PHP评价很低的地方, 而当很多项目经理需要要规范开发的时候,却又发现无从规范起,Java有Struts、MVC……而PHP却缺乏成体系的开发架构,从而也成为PHP很难 成为企业应用系统的选择。

  至于丰富的函数操作,这个大概是唯一没有被人诟病的地方,但是 Java、ASP以及Perl都有很丰富的函数,PHP在这一点没有非常大的优势,所以只是成为人们选择它的一个不是很重要的理由。

分享到:
评论

相关推荐

    java web 2.0架构开发与项目实战 源代码01

    在本资源中,"java web 2.0架构开发与项目实战 源代码01",我们聚焦于Java Web应用程序的开发,特别是在Web 2.0时代的技术和实践。Web 2.0是一个概念,它强调互联网作为交互式平台,用户参与度更高,社交网络和富...

    java web 2.0 开发

    7. **Web服务**:Java Web 2.0开发中,可能需要利用Web服务(如RESTful API或SOAP)进行跨系统通信。RESTful API基于HTTP协议,易于理解和实现,而SOAP是更为复杂但功能全面的Web服务标准。 8. **前端技术**:...

    web2.0风格效果的photoshop样式包

    "web2.0风格效果的photoshop样式包"正是针对这种设计风格的资源集合,它包含了预设的样式、图案、图层样式等,旨在帮助设计师快速、高效地创造出具有Web 2.0特色的界面设计。 Web 2.0设计的核心特征包括: 1. **...

    资料:包括extjs2.0源码

    EXTJS 2.0是Sencha公司开发的一款用于构建富客户端Web应用的JavaScript库,它在Web开发领域具有广泛的应用。EXTJS的核心特性包括组件化、数据绑定、强大的表格和图表功能、丰富的用户界面组件以及对Ajax技术的深度...

    Web2.0简介PPT

    Web2.0是一个重要的互联网发展阶段,它标志着互联网从单一的信息获取平台转变为互动、参与和分享的网络社区。这个“Web2.0简介PPT”旨在深入解析这一概念,帮助我们理解这一变革对现代互联网的影响。 在Web2.0的...

    转:浅析作用于web2.0安全防范的OpenID和Oauth机制.pdf

    ### Web2.0的安全漏洞与防范机制:OpenID与OAuth #### 一、Web2.0的安全威胁 随着Web2.0技术的快速发展,互联网已不仅仅是信息传递的平台,更成为了用户之间交流互动的重要媒介。诸如Facebook、Twitter、YouTube等...

    ASP.NET 2.0入门与提高系列课程(2):ASP.NET 2.0入门与探索

    ASP.NET 2.0是微软推出的用于构建动态网站、Web应用程序和Web服务的框架,它在.NET Framework 2.0之上构建,为开发者提供了丰富的工具和功能,简化了Web开发的过程。本系列课程的重点在于帮助初学者理解并掌握ASP...

    Talk Is Cheap:Web 2.0 云攻击.zip

    《Talk Is Cheap:Web 2.0 云攻击》这篇文档深入探讨了Web 2.0环境下云服务面临的安全挑战。Web 2.0是指互联网发展的一个阶段,它强调用户参与、互动和共享,催生了诸如社交媒体、博客、在线协作平台等大量应用。...

    web2.0风格网站菜单导航条矢量素材

    【标题】:“Web2.0风格网站菜单导航条矢量素材” 在网页设计领域,Web2.0风格是一种流行的设计趋势,它强调互动性、动态感以及用户参与度的提升。这种风格通常体现在色彩丰富、高光效果、渐变色、玻璃质感、圆角...

    ASP.NET 2.0快速入门(14):ASP.NET 2.0管理你的asp.NET应用

    ASP.NET 2.0是微软推出的Web应用程序框架,它极大地简化了Web开发过程,并提供了丰富的功能来构建动态网站和Web应用程序。在这个“ASP.NET 2.0快速入门(14)”教程中,我们将深入探讨如何使用ASP.NET 2.0来管理和维护...

    web 2.0 and Ajax

    Ajax使得Web应用能够像桌面应用一样响应迅速,大大提升了用户体验,是Web 2.0时代的关键技术之一。 #### 3. 技术变迁与Web 2.0 从CGI/Perl到Servlets、JSP、PHP,再到基于Java的Web框架如Struts和JSF,这些技术...

    什么是Web 2.0

    这一点在Web 1.0时代由网景公司提出,但在Web 2.0中得到了更广泛的应用和发展。 2. **用户生成内容**:与Web 1.0中主要由专业人员创建和管理内容不同,Web 2.0强调用户创造内容。例如,维基百科就是一个典型的例子...

    Web2.0时代的网络营销策略.pdf

    在讨论Web2.0时代的网络营销策略时,首先需要了解Web2.0的概念。Web2.0是指互联网的一个发展阶段,主要特征是从传统的“只读”模式转变为“读写”模式,强调用户参与和社交网络。它是在2004年左右开始流行的一个术语...

    Hacking Exposed Web2.0

    ### Hacking Exposed Web2.0:Web2.0安全秘密与解决方案 #### 知识点一:Web2.0安全概述 - **定义**:Web2.0是指基于互联网平台的新一代网络应用,强调用户生成内容(UGC)、社区互动、开放API等特性。 - **安全...

    ASP.NET 2.0快速入门(8):ASP.NET 2.0 web part

    ASP.NET 2.0是微软推出的用于构建动态网站和Web应用程序的框架,它极大地简化了Web开发过程。在"ASP.NET 2.0快速入门(8):ASP.NET 2.0 Web Part"中,我们将深入探讨Web Part这一强大的功能,它允许用户自定义和个性...

    Web 2.0 Security Implications

    《Web 2.0安全影响深度解析》 随着互联网技术的不断演进,Web 2.0已经成为现代网络世界的核心组成部分。它不仅推动了在线消费者市场的快速发展,而且正在被全球范围内的企业广泛采纳,旨在利用其强大的协作能力、...

    php+ajax web2.0编程技术与项目开发大全中的FYblog可安装代码

    3. Web2.0:相对于Web1.0的静态页面,Web2.0强调用户参与、交互性和个性化体验。FYblog项目展示了如何通过PHP和Ajax实现用户交互、动态内容生成等Web2.0特性,如用户评论、日历功能、动态加载等。 4. FYblog可安装...

    phpweb:PHP Web 2.0开发实战原始码

    《phpweb: PHP Web 2.0开发实战原始码》是一个关于使用PHP语言进行Web 2.0应用程序开发的开源项目。Web 2.0是一个术语,代表着互联网从静态信息展示向互动、用户参与和社交媒体转变的过程。在这个项目中,开发者可以...

    跟我一起学Visual Studio 2005(6):ASP.NET 2.0 内部改进

    在这一部分的学习中,我们将深入探讨ASP.NET 2.0的内部改进,这是一个重要的开发工具升级,它极大地提高了开发人员的生产力并提升了Web应用程序的性能。Visual Studio 2005作为微软的主要开发环境,对ASP.NET 2.0的...

Global site tag (gtag.js) - Google Analytics