由CSDN举办的SDCC 2015 将于11月19-21日隆重召开,届时,韩天峰将在编程语言专场带来《PHP异步网络通信编程》的主题分享,欢迎前来现场聆听【点击这里抢票】。
韩天峰:我是一名资深的PHP程序员,有差不多9年的PHP编程经历。现在PHP技术圈很火的Swoole开源项目就是我创立的,同时我也是PHP语言扩展开发组的一员。曾在腾讯社交平台部,淘宝搜索担任PHP工程师数年。目前在车轮互联担任架构师职位,负责整个公司的架构平台设计、公共组件的开发等工作。
韩天峰:我从上高中的时候就对编程有浓厚的兴趣,上大学时专业也是计算机,所以自然就了技术的道。我最开始选择的方向是Java,但是Java太复杂了,当时连开发都没能够搭建起来。偶然的发现了PHP,搭建开发非常顺利,仅仅几天就入门了。PHP语言非常简单,我用了很短的时间就实现了一个Web程序。从此就与PHP结下了不解之缘。后来用PHP开发完成了大大小小很多项目。
韩天峰:Swoole是一个PHP的异步网络通信库。在工作多年之后发现PHP这个语言有很大的局限性,甚至可以说PHP语言只写做Web程序。除了Web之外,其实服务器端程序还有很多种类。像Java、C++应用的范围很广。比如像WebIM这样的程序,可以支持几十万并发的客户端,可以实时通信。我觉得这个很有意思,所以想要突破这个。PHP语言本身也提供了一些可以实现进行底层操作和网络通信的扩展,比如sockets、libevent、pcntl之类。我进行了很多尝试,使用PHP编写了一些Server程序。而且还在腾讯的实际项目上做了大量实践。但这些始终无法让我满意,PHP提供的函数经过了一次包装粒度很粗,而且PHP无法精确操作内存。无论从功能和性能上与Java、C++相比都有很大的差距。后来我决定使用C语言来实现底层框架,并封装成PHP扩展,就是现在的Swoole项目。
韩天峰:我非常看好PHP语言未来的前景。从各大招聘网站的职位上来看PHP目前是仅次于Java的第二大服务器端编程语言,远超C++、Python、Ruby。PHP程序员的工资逐年在上涨。从PHP语言本身来看,直到目前为止仍然没有一门其他语言可以做到比PHP更简单入门更快。现在有了Swoole让PHP可以在更广泛领域内应用。所以未来PHP必然会持续,被越来越多的程序员和企业使用。
韩天峰:作为一个动态脚本语言本来就不是为计算密集的场景设计的。服务器端程序绝大部分都是IO密集型的,运算性能不是瓶颈。PHP的优势是简单、开发效率高,可以快速实现产品功能。性能上虽有一些差距,但也不会太大,多加一些机器就可以解决。和人力和时间成本相比,机器成本显然要便宜的多了。如果真遇到运算性能很关键或者其他问题PHP无决时,也可以用C++编写PHP扩展来解决。比如Phalcon框架、Swoole就是这个思。另外PHP7已经明确要支持JIT特性,未来的PHP或许运算性能会和Java一样好。
CSDN:最近,有关PHP7和HHVM的性能之争成为了大众的讨论热点,在你看来哪一个才是PHP性能提升的未来?
韩天峰:个人认为PHP7才是未来的方向,HHVM虽然确实比PHP5性能要好很多,但迁移到HHVM有很多难题,比如HHVM不支持一些PHP的高级特性一些框架不能运行、HHVM对一些库的版本要求过高、HHVM没有某些扩展等。而PHP7是开发的,可以无缝升级。PHP程序无需修改代码即可运行起来,几乎是无成本得到数倍的性能提升。
韩天峰:PHP7最值得期待的自然是它的性能提升,升级到PHP7后PHP程序又可以快很多,可以节约一部分机器。
韩天峰:我对Go语言也常感兴趣的,用它做了几个项目,感觉不错。Go语言提供的协程+通道,可以轻松处理高并发问题。另外我对腾讯推出的TSF框架也很感兴趣,这个项目非常有意思,它基于Swoole和PHP的Yield/Generators语法实现了类似与GO语言的协程。
韩天峰:我在SDCC分享的主题是《PHP异步网络通信编程》,主要有3个方面的内容,异步编程的介绍和实际的程序开发、基于PHP+Swoole的异步编程项目实践。
韩天峰:在SDCC大会,我希望能看到更有想象力的系统架构设计以及大型互联网项目各类工具链的介绍。
值得一提的是,由CSDN举办的SDCC 2015中国软件开发者嘉年华将于11月19-21日在举行,本次大会涵盖:新型数据库、编程语言、工具与平台、产品与设计、前端开发、算法、微信开发、架构实践、安全等九大分 论坛,届时国外知名将分享所在领域的最佳实践。【点击这里抢票】
推荐: