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

转:论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在这一点没有非常大的优势,所以只是成为人们选择它的一个不是很重要的理由。

分享到:
评论

相关推荐

    什么是web2.0 Web 2.0特征Web 2.0七大原则Web 2.0的设计模式

    Web 2.0 是互联网发展的一个重要阶段,它标志着从早期静态网页为主的Web 1.0时代向互动、用户参与和共享内容的转变。Web 2.0的主要特点包括: 1. 用户参与内容制造:在Web 2.0中,用户不仅仅是信息的消费者,他们也...

    完全手册:asp.net 2.0网络开发详解

    这本书旨在帮助开发者全面掌握ASP.NET 2.0技术,构建高效、稳定的Web应用程序。 ASP.NET是微软.NET Framework的重要组成部分,它提供了一套用于构建动态网站、Web应用程序和服务的强大工具和API。在ASP.NET 2.0版本...

    web2.0色系与经典web2.0站点配色

    Web2.0色系是21世纪初网络设计领域中的一种流行趋势,它与早期的Web1.0设计风格有着显著的区别。Web1.0主要采用冷色调和简单的色彩组合,而Web2.0则引入了更加丰富、明亮且具有活力的色彩方案,以创造更加互动、动态...

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

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

    web2.0常用图标

    2. **色彩鲜艳**:Web2.0图标通常使用鲜明、饱和的颜色,能够吸引用户的注意力,同时增加视觉冲击力,使网站看起来更具活力。 3. **符号化表达**:图标设计趋向于使用通用符号来代表特定功能,比如“加号”表示添加...

    Talk Is Cheap:Web 2.0 云攻击.zip

    《Talk Is Cheap:Web 2.0 云攻击》这篇文档深入探讨了Web 2.0环境下云服务面临的安全挑战。Web 2.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来管理和维护...

    php web2.0开发实战源码

    在PHP Web2.0开发领域,源码分析与实战经验是提升技能的关键。"php web2.0开发实战源码"这一主题涵盖了Web2.0应用程序的构建、优化以及架构设计等多个方面。Web2.0是指互联网从信息传递转向用户交互的变革,它强调...

    什么是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年左右开始流行的一个术语...

    web2.0 色系表

    【描述】提到"web2.0标准颜色,全部包括,平面设计师必看",意味着这个压缩包中可能包含了Web2.0时代常用的颜色组合和调色板,对于从事设计工作的专业人士来说,这是一个宝贵的参考资料。设计师可以从中获取灵感,...

    php web 2.0开发实战

    《PHP Web 2.0开发实战》是一本深入探讨如何使用PHP技术构建Web 2.0应用程序的专业书籍。Web 2.0是互联网发展的一个重要阶段,它强调用户参与、互动性和数据共享,典型特征包括博客、社交网络、富互联网应用(RIA)...

    WEB2.0论文

    随着互联网技术的飞速发展,我们已经从Web 1.0时代步入Web 2.0时代,这是一个以用户为中心的网络世界,一个用户可以积极创造信息、自由互动交流的时代。Web 2.0不仅仅是一个技术革新,它更是一场互联网使用方式的...

    jsp做的网上书店jsp web2.0

    【标题解析】 ...综上所述,这个基于JSP和Web2.0技术的网上书店项目涵盖了后端开发、前端交互、数据库操作、用户体验等多个方面的知识,开发者需要具备扎实的Java基础、Web开发经验以及对现代Web趋势的理解。

    web2.0 & CRM

    Web2.0时代产生的大量数据为CRM提供了丰富的资源。通过对这些数据进行分析,企业能够深入了解消费者的偏好和行为模式,进而制定更为精准的营销策略。例如,利用数据分析工具跟踪用户的网站浏览记录可以帮助企业识别...

    web2.0详细介绍

    Web2.0是互联网发展的一个重要阶段,它标志着互联网从静态信息展示的Web1.0时代,迈向了用户参与、互动交流与个性化服务的新时代。Web2.0的核心理念是用户生成内容(User-Generated Content,UGC)、社交网络、富...

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

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

    web2.0时代的发展与思考[整理].pdf

    Web 2.0时代的发展与思考 随着互联网技术的飞速进步,Web 2.0的概念逐渐深入人心,它标志着互联网从信息传递向用户交互的转变。Web 2.0的核心理念是以人为本,强调用户的参与和创造,将互联网从单一的信息获取平台...

    Web 2.0风格导航条与按钮效果png

    3. **圆角**:相比于早期Web 1.0时代的方角设计,Web 2.0更倾向于使用圆润的边角,让界面看起来更加友好和易用。 4. **质感材质**:设计师喜欢使用金属、玻璃、皮革等模拟材质,赋予图标真实世界的触感,增加视觉...

Global site tag (gtag.js) - Google Analytics