视 PHP 为初恋、为疫情而蓄发,97 年 PHP 内核贡献者能有多酷?

GOTC 全球开源技术峰会的讲师能有多酷?程序员

“编程语言的艺术”分论坛讲师陈曹奇昊,1997 年出生的 Swoole 的核心贡献者和 PHP 内核贡献者;是代码狂人,影迷、科幻迷、FPS 游戏爱好者;初恋也超拽——PHP 语言是个人初恋,没有它就没有今天的我,谁会以为本身的女友不是世界上最好的女友呢……编程

话很少说,访谈正式开始:安全

文末还可查看更多 GOTC 峰会详情性能优化


看到您的照片,这个发型很个性,平时都有哪些兴趣爱好?为你们详细介绍一下本身吧。服务器

真名叫陈曹奇昊,网名 Twosee,是 Swow 项目的创始人,也是 Swoole 的核心贡献者和 PHP 内核贡献者,同时仍是 Swoole 内核开发组和PHP内核开发组的成员。兴趣使然,我平时除了 PHP 社区,也活跃于异步网络 IO 相关的各大开源项目社区,如今也是 libuv 项目的贡献者。网络

在外人看来我可能就是个代码狂人,实际上我仍是一个影迷、科幻迷、FPS 游戏爱好者,虽然瘦宅但宅不至死,体测成绩优良,偶尔也会打打篮球。并发

至于这个别具一格的发型,实际上是疫情期间立了 Flag,疫情不翻篇不理发。但随着疫情在国内日渐平稳,甚至如今我也打完了疫苗,头发也已经剪短有一些时日了,我以为这也是一件至关值得高兴的事。框架

感受您的英文名也颇有个性,请问 Twosee 这个名字有什么特殊的含义?异步

个人真名是陈曹奇昊,姓氏的首字母是 CC,不少同窗也这么叫我,因而就起了比较好注册的名字叫 Twosee (谐音 Two C),就是两个 C 的意思。有个更有意思的事是,我没想到取这个名字这么久以来,第一个直接猜出我名字含义的人竟然是 PHP 内核的主要贡献者 Nikic,他说个人名字让他想到了动漫叛逆的鲁路修中的人物 C.C.,而这部动漫正好也是我最喜欢的动漫之一。编程语言

以为本身最大的特色是“帅”仍是“会写代码”?

我本身但愿本身能成为一个丰富而有趣的人,而不只限于他人给定的标签。其实不少时候我并不以为本身是一个典型的程序员。在写代码之前,我写过书法、写太小说、画过漫画、作过动画、送过外卖、作过设计也作过产品。

而我写代码的缘由特别简单,只是由于我在大学时期想作一个系统,我设计规划好了一切,却发现没有人能帮我写,我不得不本身上。我涉足过这么多的领域,只是在写代码这条路上幸运地走得更远了一些。从中我认识到了,选择确实比努力更重要,但前提是咱们得有足够的积累,不断地受挫和试错,最终才能选对努力的方向。

何时开始学习 PHP 的?第一次为 PHP 内核作贡献是在何时,当时作了什么?

应该是大二下到大三(17年)开始正式学习编程的,第一个选择学习的就是 PHP 语言,能够说 PHP 就是个人初恋了。

18年末我提交了第一个针对 PHP 内核修复补丁,当时我已是 Swoole 的活跃贡献者了,所以对于各类网络协议有了必定的研究,偶然发现 PHP MySQL 客户端在给服务器发请求包时,包尾存在一些没必要要的额外字节,因而就给优化掉了。

因为长期以来个人主要精力在研发 Swoole 上,其实我给 PHP 内核贡献的代码量相对不算不少。我我的更喜欢提交一些技术性相对强一些的补丁,有时候修改一行代码就须要对 PHP 内核的不少方面有足够的了解,很是的费时。后来在某第二天常的 PR 中,我忽然就被邀请加入了官方开发团队,我以为这对我来讲这是一个很高的荣誉和承认,因此直到如今我天天都会尽可能抽出一些时间去关注 PHP 内核的相关动态。

“PHP 是最好的语言吗”,为何?

这个梗的传播能够说是至关普遍,甚至已经出圈,由于我也常常被身边的人问到这样的问题,而他们大都不是程序员。借着这个机会,我也来好好地答一下这个问题。

我看过不少编程语言专家对于 PHP 的评价,无一例外,它们都认为 PHP 是一门糟糕的语言,而对应这个问题的「PHP 是世界上最好的语言」这句话也成了不少人用来嘲讽 PHP 的口号。

PHP 早期的语言设计不只存在诸多缺陷,还留下了不少历史包袱。而且,它没有任何财力雄厚的大公司主导,全靠世界各地的开源爱好者贡献。既没有稳定的经济支撑,也缺乏足够的宣传资源。

但同时不能否认的是,尽管如此,PHP 还是最流行的编程语言之一,而 PHP 社区长期以来取得的成绩是有目共睹的:PHP 7使得大部分 PHP 应用均可以近乎免费地获得巨大的性能提高;PHP 8的 JIT 如约而至,使得 PHP 的计算性能极大加强;愈来愈多来自社区的语言专家的活跃参与,PHP 的语言特性获得了大量改进。

PHP 如今已经被官方从新定义为通用脚本语言,PHP 也再也不只是 WordPress,它还有 Composer、Symfony、Laravel、Swoole、Hyperf 等等一系列现代化生态。士别三日,即更刮目相待——不少人还在用看待 PHP5甚至更早版本 PHP 的眼光来看待如今的 PHP,这是有失公允的。

能发现原先的不足,也意味着 PHP 将来还有更大可能提高的空间。此外,我认为衡量一个语言或是一个开源项目是否有前景,很好的方法是是看它的社区核心维护团队是否活跃。这几年我也见过了不少红极一时的开源项目,但它们都由于社区核心维护力量的忽然离去而猝死,只留下一地鸡毛。但若是你订阅了 PHP 官方邮件列表,或是关注 PHP 框架社区的话,你就会发现你根本无需对此忧虑,新血液的涌入、活跃而激烈的讨论,二十五年如一日,这就是最好的证实。

总而言之,PHP 毫不是就该问题意义上的「最好的语言」,但 PHP 老是在成为更好的语言的路上执着地前行着,这是同时也是一种责任和担当。

那么为何不少 PHP 程序员仍是会将「PHP 是世界上最好的语言」这句话挂在嘴边呢?我认为一部分人是被黑多了,干脆也加入进去,开始自黑,我以为这些 PHP 程序员是温和而可爱的,他们足够自信,又不介意别人加入,你们都获得了快乐。还有一部分是像我这样,以为 PHP 语言是个人初恋,没有它就没有今天的我,谁会以为本身的女友不是世界上最好的女友呢?相较而言,不少端起碗吃肉,放下筷骂娘的人,才是可耻的。

最后,我想提到的另外一件有趣的事是,「PHP 已死」这个口号就和这个问题同样流行,这一口号在1995年和 PHP 语言一同诞生。

和 Swoole 是怎么结缘的?做为核心贡献者,您如今对 Swoole 的贡献占比有多少? 

我上大学的时候,学校的各类系统像是上个世纪的产物,教务系统在抢课时也老是崩溃,我以为这些系统太烂了,我写一个都比它好。因而从那时我开始自学编程,而后用 PHP 为学校写了一套统一全校全部老系统的新的统一系统,而后去找了学校网络中心的领导谈,最终得到了学校的许可,但我得本身想办法在全校推广,因为新系统很是好用,造成了口碑效应,不久以后全校就有80%以上的本科生天天都在使用我写的系统。

但随着我对网络编程的深刻理解,发现 C10K 问题确实没有那么简单,PHP-FPM 单机服务也同样没法承载抢课时的高并发,这时我发现了 Swoole 这个项目,因而着手开始学习。

其实我早期对 Swoole 的大部分贡献,是我在用 Swoole 开发应用的时候偶然发现了 Swoole 内核 BUG 并修复的结果。而我对 PHP 的大部分贡献,都是我在开发 Swoole 扩展时偶然发现了 PHP 内核的 BUG 并修复的结果。

我认为不少程序员都是有成为开源项目贡献者的潜质的,可是他们在遇到开源项目的 BUG 时鲜有人会选择死磕,这是让我感受比较惋惜的一点。

这几年里我对 Swoole 内核作了大量的重构和优化工做,是 Swoole 协程版本的主要开发者之一,我目前也是除了韩天峰老师以外 Swoole 项目最大的贡献者。此外,我以为其实开源项目的贡献也不仅能单单看代码提交,版本管理、维护社区、编写文档、回答问题等工做也至关重要,这些工做不比贡献代码轻松。我以为不少想要给 Swoole 开源项目作贡献,却无从下手的小伙伴均可以先朝这些方向进行努力,过程当中对于内核的了解逐步加深,产生代码上的贡献也会是水到渠成的事情。

 

今年 7 月,陈曹奇昊将做为全球开源技术峰会 GOTC 上“编程语言的艺术”分论坛讲师,为你们带来《What's New in PHP 8》主题演讲。

PHP 8 带来了 JIT、注解、联合类型、命名参数等大量的新特性,这也意味着 PHP 8 拥有更好的性能,更丰富的语法、更强大的类型安全支持。而悄然间,PHP 8.1 也已在路上,枚举和协程的引入为 PHP 世界再添亮色。
在拥有了 JIT 以后,PHP 性能优化之路是否已经走到了尽头?
随着协程特性的到来,PHP 离一个完整的协程编程系统还有多远?
Event loop、协程 Hook、CPU 调度这些已在 Swoole 中被验证的技术是否会在未来被引入?
或许,一切都才刚刚开始,前方还是无尽的星辰大海……
本次分享将为你们带来 PHP 持续迭代的最新消息。

 此外,“编程语言的艺术”分论坛还将邀请 Java、PHP、Rust、C++ 等主流编程语言的业内一线专家,为不一样技术领域的开发者分享相关编程语言的最新动向,深刻剖析各大编程语言在国内的发展趋势。

GOTC,the Global Opensource Technology Conference,全球开源技术峰会。该会议由开源中国社区联合 Linux 基金会发起,邀请 10+ 重量级开源基金会与开源社区深度参与,覆盖 100+ 公司的相关开源经验,涉及优秀开源项目 300+。

组成这场开源盛会的专家主要是开源领域内的知名人物,相关的分享议题也聚焦开源,包括开源的技术、开源的运营与治理、开源的发展趋势、开源技术的实践、开源的商业化等。

这次会议还前所未有地邀请了当今世界几大顶级开源基金会负责人同时参与圆桌,共同讨论开源新生态。

更有 Linux 创始人 Linus Trovalds 将分享 Linux 诞生 30 年以来他的心路历程与开源洞见。

更多信息查看:https://gotc.oschina.net

更多资讯: