|
|
|
钟胜辉谈PHP发展的现状和前景
, N0 W$ p _3 b1 A0 A
# Z$ r. `2 k2 _0 _) E1 h: u记者:从Web开发的历史看来,PHP、Python和Ruby几乎是同时出现的,都是十分有特点的、优秀的开源语言,但PHP却获得了比Python和Ruby多得多的关注度(PHP在本月的TIOBE排行榜上已经排行第三,超过C++了)。您认为这和PHP旨在网站开发的立足点与PHP语言本身的特点有很大关系么,还是有什么其他的因素影响?
. q( p( ?$ W# B i5 X6 p: u
* t( L( S$ \ |+ ]0 F: E钟胜辉:三门语言当中,无疑php是最流行的,而Python和Ruby在最近几年也有着不错的发展趋势。我个人认为,Ruby的流行更多地源于Ruby on Rails,这个框架的流行程度甚至超过了Ruby语言本身,也引发了其它语言平台上对框架的研究。而Python在近来的被关注度和发展速度要超过Ruby,被一些喜欢创新的项目采用,这可能要更多地归功于google。
4 v6 {+ m! D; l1 z) ^: {) g( m这三种语言都是相当优秀的脚本语言,为什么PHP能大行其道,杀入排行榜的三甲呢?从表面上来看,这是就业环境使然。越来越多的新公司或者新项目使用PHP,这使得PHP相关社区越来越活跃,而这又反过来影响到很多项目或公司的选择,形成一个良性的循环。就我目前了解到的情况,PHP是国内大部分web项目的首选,而且有很多公司从其它语言(如ASP,JAVA)转到了PHP。合适的就是最好的,PHP的快速,开发成本低,周期短,后期维护费用低,开源产品丰富(这点可以影响到很多项目的决策),这些都是另外两种语言无法比拟的。另外,在很多大项目中,Python更多地是做为一种“粘合剂语言”出现,似乎正在走向与PHP不同的发展方向,让我们拭目以待。 0 h. e& `8 p5 i
2 V8 b0 w: m. f记者:PHP开发框架的盛行是由RoR的火爆所引起的,而PHP框架的发展也从模仿Rails到逐渐有了自己的风格。不过仍然有很多入行较早的PHP开发者至今仍认为PHP这种快捷的语言不需要框架,甚至认为只要有优秀的架构,框架根本没必要。您认为PHP框架对PHP而言是必要的么?您对于PHP开发工具的现状满意么? ' C0 Y7 X& K: c
4 S! S3 V6 C0 d7 o钟胜辉:这是一个见仁见智的问题,我个人认为,一个优秀的框架能在很大程度上提高工作效率,尤其是对大中型项目。当然如果对项目有足够的把控能力,框架也并非是必须的,毕竟PHP的框架跟ROR的情况有所不同,多而混乱,而学习一个框架是需要时间的。像你的问题中提到的,很多老的PHP程序员对框架不屑一顾,认为自己对项目有足够的把控能力,不需要框架这么累赘的东西,然而从长远来看,一个优秀的框架可以延长一个项目的寿命,降低维护和二次开发的成本。我们目前正在开发中的CMSTOP,是一个产品型项目,在这样的项目中,没有一个优秀的框架是很难想象的。在研究对比了目前主流的PHP框架之后,我们发现没有哪个框架能完全适合一个CMS的项目,于是我们决定自己开发一个框架。目前这个框架极大地提高了我们的工作效率,而且,我们会在适当的时候将这个框架开源。 5 g5 K& u; h; X$ R1 ^! p+ T
2 R1 {5 g- @: S3 _4 N! T
记者:PHP的面向对象设计的并不是很好。很多在Java一类语言里面可以很好应用的面向对象写法在PHP里面实现起来却很繁琐。您认为面向对象对于PHP这样的Web开发语言来说重要么?PHP的面向对象是否还能够改进呢? / e$ {* Y* N g0 s, r t
7 g% d8 c" ?. I& i/ X' M8 j8 K# J钟胜辉:PHP的面向对象属于历史遗留问题,而且,说其不好,慢慢也会成为历史问题。从PHP5相对PHP4的进步,我们有理由去期待PHP6给我们带来更多的惊喜。不论对什么样的语言,面向对象更多的是一种思考问题的方法,没有必要为了面向对象而去面向对象。PHP最初的面向对象,可以简单地看作是函数的升级,曾经被很多其它语言的开发者取笑,但PHP5的面向对象已经足以满足大部分WEB项目了。一门语言要想生存下去,就得去适应技术发展的潮流,并不断做出调整,在这方面,PHP的团队充满了活力。 & f( J# S# g) S( S3 I' s
/ w' L. y, W( A g, i
记者:PHP网站的安全是个很常见的问题,有关PHP网站漏洞的消息是很多的。您认为这其中的原因和PHP语言本身的特点有关么(相对于如PHP网站数量、PHP代码编写习惯等其他因素)?PHP的安全有改善的空间么? : n* o5 z7 E) c/ Z3 R! s1 {/ g9 \/ @
' h# Z, K9 t- O1 |, S
钟胜辉:网站的安全是一个比较系统的问题,它跟服务器安全以及代码的质量是直接相关的,我们并不能说PHP这门语言不安全。目前PHP有很多优秀的开源产品,例如discuz,phpcms等,即使在开源的情况下,这些产品也保证了足够的安全性。PHP的门槛很低,一两周的时间就可以入门,而这些“快速入门”的程序员,往往容易忽略代码安全问题。安全问题的改善,取决于越来越多的PHP程序员对这个问题的重视程度。
) S& h$ }" D, g6 z, R( ?
7 k2 x! Q R R记者:现在在不少大型项目中,PHP完全充当了脚本的功能,而逻辑性比较强的业务处理则由另一门功能丰富的语言(例如Java)来实现。您认为这样在复杂度、开发快捷度、开发周期以及成本等方面有着怎样的影响? F( C5 i3 m" D: N9 k
, _& _* G4 L- ]: B8 o2 @ G
钟胜辉:这种情况确实存在,但我认为之所以出现这种情况,并不是因为PHP“做不了”,而是很多项目负责人对PHP的偏见以及对JAVA等语言的迷信造成了这种现状。当然,我们不能否认,有很多问题确实是PHP做不了的,做为一种解释型的脚本语言,PHP本身就不适合做大型的数据运算,它也不可能成为一门“万能语言”。在大型项目中,多种语言配合工作是一件很正常的事情,例如说,PHP负责收集数据,提供界面,C负责处理分析数据,Python来做粘剂。各种语言各司其职,协同合作,只是分工的不同而没有高低贵之分,就像如果用C来做数据展示一样会很痛苦。我不认为PHP往复杂计算方面发展是一件好事,而且我相信PHP的开发团队也会把握好这个度。没有哪种语言可以做到“万能”,java有这样的野心,但我们可以看到java现在的境遇似乎并不如PHP那么红火,如果PHP也追求“万能”,那将是一场灾难。" u& R6 G' u+ W/ y6 _
! n0 O( }4 V. l7 b$ f: s9 J为什么推荐学习PHP软件工程师的原因" G3 \5 Y5 }* \6 A4 H
" r8 Z' j% R0 A. O8 ]
8 C$ |9 P: O8 W) w& a& s
1、入学门槛低. u+ Y5 z& a) k6 O, C& L! Q
& N9 I2 y8 {- F! d在C/C++、JAVA、PHP、ASP这些开发语言中,PHP是最容易学的语言,学习成本是C和JAVA的1/10,是ASP的1/2。粤嵌教育设置的课程可以完全保证零起点的学员、计算机相关专业在校或社会在职人员达到具备一年PHP Web开发的实际能力。
% `( C" K5 w+ G& ]
2 o/ b9 `7 d/ v" D 2、行业竞争小& j" m) h+ n1 y: X- u8 @
" f, F P7 r! T' g7 |4 X# a
PHP发展迅速,大学里基本未开设PHP课程,有实力的培训机构很少,导致掌握PHP的程序员非常少。从求职的角度来看,PHP招聘信息和JAVA或ASP比较,PHP招聘量达到JAVA和ASP的1/3,但是PHP应聘人员只是JAVA和ASP的1/40。
1 [: V* D+ [5 Q+ h/ m& ?7 Y8 I: s9 R# \) M- }# Z6 Z0 A( J
3、社会需求大, c5 q" V! l+ u1 b
3 x$ k& H0 V% ]: u, F. ]
百度、新浪、搜狐、淘宝、当当、腾讯QQ等大部分的互联网相关企业都在使用PHP,对PHP人才需求旺盛。但是互联网企业最头疼的问题就是招收不到有实际PHP学习经验的人员,更别说接受过PHP专业培训的人员了。# L- _6 [6 E+ v5 p
$ S8 W% n; w2 ?$ G& k 4、发展前景大
; ~1 G& x& N+ t2 j1 J: \0 r' o+ m6 D2 S4 { x
在无孔不入的互联网应用环境下,Web2.0、云计算、物联网等新概念将不断催生出新的产业和服务。而支撑这些新型产业和服务的技术体系非PHP莫属。而随着3G和移动互联网技术的兴起,越来越多的WEB应用也选择了PHP作为主流的技术方案。
" X! Y- f/ d2 e, f/ }+ Z7 y" G, t, z, F# v+ L9 N& o3 E% Z% W. U
在与其他同类编程语言的比较中,PHP具有开发速度快、运行效率高、安全性好、可扩展性强、开源自由等特点;而回顾PHP近10年来的发展过程、展望未来互联网行业的发展趋势,我们可以得出结论:PHP的发展势头不可阻挡,必将成为未来WEB开发领域的主流技术体系。
- g* y: y0 p* x- G& g/ B' Z3 A! v$ Z3 a) h
9 L% O9 O) Y- g: f7 f( j4 D8 [( w% p. Y( C/ I! ]8 E
我们粤嵌教育也整合出了PHP相关岗位,如下:
6 a4 ~9 B- H7 }; T- A
! F Z$ m8 b2 `PHP技术开发类:架构设计师、测试工程师、开发工程师、前端UI设计师
* L6 X+ f3 g- [+ t0 _& b- X. f( r; b) n, P" _
PHP数据分析与维护类:数据分析专员、资深数据分析师、用户体验分析师、数据主管
9 ^. [/ I, h$ H) X1 l0 P* |- X0 M3 X+ |' Q0 r
PHP运维相关类:搜索引擎营销专员SEM、搜索引擎优化专员SEO、产品运营服务专员、网站运营经理/专员。
7 s, H, s3 A' D3 R, g |
|