望麓自卑—湖南大学最具潜力的校园传媒

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2430|回复: 2

Java上的PHP:对两者都好?

[复制链接]
发表于 2008-6-3 14:21:32 | 显示全部楼层 |阅读模式
越来越多的迹象表明PHP与Java/JEE开发社区的关系越来越密切,越来越明显。IBM和Caucho都为Java上的PHP架构进行了巨大的投入。Sun、Oracle和BEA在过去的18个月中,也都宣布了集成PHP或者与Zend建立伙伴关系。Jerry Cuomo(IBM的WebSphere CTO)和Scott Ferguson(Resin Java Application Server及最近的Quercus PHP引擎)与我们一起讨论了PHP如何融入Java的世界。目前IBM在Java/PHP混合系统方面最直接的投入是Project Zero,一个开发中的新的Web框架,支持Groovy和PHP脚本语言。当被问到为何IBM选择在Project Zero项目里支持PHP,Jerry有些话要说:
  Jerry:三个词——敏捷性(Agility)、内容(Content)、训练(Educated)。是的,PHP是我们的ACE。
  敏捷性(Agility)。J2EE应用是为了“永久的价值”而优化的……也就是说,写出来的程序是打算要一直运行下去。PHP脚本是为了“在周五之前投入运行”而优化的。也就是说,PHP让你快速简洁地编写代码,这对于许多应景而生的应用是合适的。
  内容(Content)。我们叫它“剪贴式编程”。网上有不计其数的PHP资源。你很少需要从头开始编写什么东西。搜索,剪切,粘贴,你就可以收工了……(这又涉及到敏捷性)。
  训练(Educated)。PHP很容易自学。编写PHP脚本对很多人来说都非常容易,即使是没有受过正规计算机科学教育的人。例如,像内存管理和线程这种复杂的东西,在你编写PHP脚本的时候绝不会成为注意力的中心。而且就如我在上一点所说,大多数时候你都是在修改利用别人的代码。
  Caucho采取的途径与IBM不同。Project Zero看起来好像是一个Java/Groovy框架,只不过刚好也支持PHP语言。而Quercus,是能够与mod_php竞争的完整的PHP语言实现。它是一个令人印象深刻的实现。事实上整个PHP解释器都是用Java编写的,因此不仅能够提供原生的Java/PHP集成,还有效利用了JVM的强大能力来达到极高的效率和安全性。对于从技术的角度看,Java如何令Quercus脱颖而出,Scott如是说:
  Scott:Java平台的线程、缓存和池技术是Quercus成功的关键。大多数Quercus库的实现都只是对相应Java功能的包装。例如,数据库访问就是对JDBC的包装。因为Java平台已经提供了坚实的基础,Quercus不费吹灰之力就得到了那些强大的能力。
  而且反射、内存管理、JDK 1.5 Annotation和动态编译/类装载,这些都是Quercus所需的。虽然我们不能像C PHP一样使用智能指针来编程,我们却可以获得干净的OO设计,并依赖Java去处理内存的问题。
  当然还有运行分析(profiling)。Quercus自动从JVM的CPU和堆运行分析中得益。因为编译后的Quercus函数实际上就是Java方法,我们可以准确地从运行分析中看出哪一块代码运行得太慢或者消耗了太多内存。
  快速、轻量并且广泛接受的Web层框架一直是Java平台难以完成的目标,我们向Jerry和Scott两人都提出了同一个问题:他们投入于PHP运行时的领域,是否由于感觉到Java社区已经放弃了使用基于Java的框架来完成高效Web层开发,转而在这一层使用动态脚本语言。他们都认为我的提问夸大了弃用Java的趋势,他们如此描述使用Java和使用PHP之间的平衡:
  Jerry:“转移”和“放弃”的说法有点过了。我觉得应该说我们正“把Java提升到更高级的行政职位上”。Java自己赢得了这样的位置。这并不是一个非黑即白的问题。除了Java目前的角色,我相信它可以成为这些动态脚本语言的“系统编程”环境。就像Java与C/C++的关系。现在Java(以及JVM)需要成长(和退缩)来支持各种DSL。例如,当今的Java是为长期运行的应用和进程而优化的。DSL则是短命的,经常来来去去。
  Scott:我们不建议完全抛弃Java。Web应用框架底下的基础设施如Spring、JPA/Hibernate,工具如Coherence,测试框架如JUnit,Java在这些方面是无与伦比的,远胜过脚本世界中任何东西。除此之外,应用级缓存、服务、事件和线程这些不为人所见的东西用Java会好得多。如果你看看像Mediawiki(维基百科所用的程序)这样的PHP应用,可以明显地看出底层代码如果用Java编写会好很多。
  Quercus/PHP的成功之处是在它的表现层,脚本可以满足许多特别要求灵活性的情况。Java表现框架如JSF、JSP/JSTL、Struts、Velocity,没有一个能达到完整的脚本语言的灵活性和库能力。许多框架,如JSP/JSTL,都是部分的语言实现。为什么不干脆用一个完整的脚本语言,再加上一个庞大的库呢?已经有巨大数量的网站证明了这种脚本语言的成功。
  因此我们认为结合Java(用在后台、模型和底层服务),把PHP/Quercus用于表现层以及任何需要脚本的地方(如取代BPEL),会是最佳的选择。 我们还问到如何比较PHP和其他语言,如Ruby和Groovy。我们请Scott告诉我们为什么他写了一个PHP而不是Ruby解释器?
  Scott:我们希望选择一门已经在Web开发社区里证明了自身的语言,而PHP是占统治地位的语言。Ruby目前仍然是一门实验性的语言。Ruby语言虽然有很多令人喜爱之处,但也有一些问题。Ruby使用了一些高级语言结构如闭包和Continuation,从这个方面来说很像Scheme。我个人很喜欢这些特性,但我的经历告诉我很多程序员都会被这些东西吓倒,因此会损害接受程度。PHP就像BASIC,任何人都可以学会。我会捧Ruby的场,我希望它成功,但当我们必须选择如何分配有限的时间,我们不得不先让Ruby等等看。
  我们问Jerry是否认为PHP会继续成长,特别是在面临Ruby on Rails的竞争之下。我们还询问了PHP5中引入的面向对象是否让PHP更适合Project Zero这样的框架。最后,由于Project Zero同时支持Groovy和PHP,我们问Jerry一个新接触Project Zero并且不懂Groovy也不懂PHP的开发者,应该选择哪种语言:
  Jerry:PHP是和Ruby或者Groovy不一样的动态脚本语言……这话大概没错。不过,要想让世界上最受欢迎的应用(想想看Wordpress、PHPBB……)都用这些语言编写,它们还有很长的路要走。只要PHP应用还在发挥作用,就会有新的开发者学习PHP。考虑到大学生中流行的大多数工具都是用PHP写的,将会继续出现新一代的PHP程序员。
  虽然如此,PHP是否会继续成长还不清楚……它已经很庞大了,而且还存在很多竞争者,它们的语法更加清晰更加简洁。到时候再看。
不过,(PHP语言有或没有OO特性)这并不是PHP被包括进Project Zero的原因。包括它是因为ACE。……如果你是一名Java程序员,应该从Groovy开始。Java程序员已经期盼了很久Project Zero所提供的那种敏捷特征。我们希望这对你“百利而无一害”。你既可以接着用Java,又可以做动态脚本编程。然而,如果你没有深厚的Java背景,或者你打算利用网上已经存在的资源——PHP是创造敏捷应用的好手段。
(信息来源:http://www.tarena.com.cn/beijing/html/2007/11/620.htm
发表于 2008-6-3 14:50:23 | 显示全部楼层
政府大力扶持下软件业发展前景值得看好
随着我国政府对软件产业扶持力度的不断加大,软件业将在未来几年享受到更优惠的产业政策,并获得更多快速发展的机遇,其行业发展前景值得看好,尤其是软件外包业将走在整个行业发展的前列。
  分析师认为,在未来很长时间内,软件业作为先导性和战略性产业,将受到国家政策的大力扶持,其行业发展前景十分广阔,对业内企业来讲,可谓是绝佳的发展机遇。同时,增强业内企业的自主创新能力、加快软件与信息服务外包的发展、加强软件产业对其它产业的改造和融合则将成为今后我国软件产业发展的三大重点。
  近年来,我国软件产业发展所取得的成就:我国软件产业规模快速增长,销售收入年均增速超过40%;我国软件企业实力明显增强,广州达内,中国IT培训第一品牌!累计认定软件企业达到1.3万家,上千人规模的软件企业约80家,软件销售收入过10亿元的企业35家,通过CMM5认证的近40家;产业聚集效应也开始显现,11个国家软件产业基地和6个国家软件出口基地实现软件销售收入约2,000亿元,占全国软件收入的41.7%;新认定的11家服务外包基地城市已成为推动中国软件外包业发展的重要力量。
  广州市副市长徐志彪在本届软博会上也表示,嵌入式软件可以实现对其他设备的控制、监视或管理等功能,嵌入式软件是“中国制造”向“中国创造”的捷径,而嵌入式软件的发展离不开强大的制造业,目前珠三角已成为世界上最集中的电子信息产业制造基地之一,由于具有制造业优势,广州发展嵌入式软件具有非常大的优势。为此,广州市政府决定在未来5年每年拨出1.5亿元人民币,重点支持软件与动漫产业基地建设,扶持企业向规模化和国际化迈进。广州市对于软件产业发展的目标是今后5年每年保持35%的增长速度,到2010年广州的软件产业产值要达到约1,000亿元,IT培训咨询QQ:787031304软件产品的出口额达到91亿元,准备用5到10年的时间,使软件产业成为广州未来发展的支柱产业。
  分析师认为,2007年至2010年将是世界软件与信息服务外包市场不断扩大的重要时期,中国软件外包业将面临千载难逢的市场机遇。同时,由于中国具有庞大的高素质人力资源,和相对低廉的人力成本,因此开展大规模软件外包业务是具有一定优势的,再加上近年来有不少软件公司在外包业务上的大力拓展,我国软件外包业有望在未来几年获得更大的发展,其规模也将不断扩大。在这种发展形势下,软件外包领域较有实力的上市公司将会有很大的成长空间。
  高端人才不足,人才结构性矛盾突出,已经成为我国软件外包发展中的一大问题。其解决方法:一是参照国际惯例建立软件人才评估标准,建立软件人才信息平台,建立人才培养机构与软件产业的供需对话机制,加强产业创新与人才培养的有机结合,培养适用人才。二是以软件企业人才需求为目标,完善以示范性软件学院和示范性软件职业技术学院为核心的实用型人才培养机制,促进软件职业教育体系建设,加强从业人员在职培训和资格培训工作,逐步建立符合软件及相关信息服务出口发展要求的软件人才结构,还有鼓励国内外相关中介培训机构开展合作,借鉴国外先进的软件人才培训模式。
发表于 2008-6-15 16:25:54 | 显示全部楼层
政府重视,作用非凡
根据我的了解,印度是继美国后,软件产业发展第二快的国家,我觉得市长去外国考察,应该会对当地的软件产业发展起促进作业,况且政府又大力扶持这个产业的发展,这一系列的政府活动都会对软件产业蓬勃发展。呵呵……我觉得其他地方也应该借鉴。因为力发展软件和动漫产业,对于提高城市信息化、现代化和国际化水平,实现广州现代化中心城市建设目标和可持续发展战略,具有极其重要的意义。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

每日推荐上一条 /1 下一条

小黑屋|手机版|湖南大学望麓自卑校园传媒 ( 湘ICP备14014987号 )

GMT+8, 2024-11-1 10:24 , Processed in 0.231708 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表