来自 SwooleVIP 群的问题
感觉
Swoole
越来越复杂了,虽然特性也变得更强,可惜在项目组里面根本推不动,而且协程后需要注意事项也很多,稍不注意可能就是连接忘了回收,连接错乱的风险(当然有defer
之类的可以规避)学
PHP
的,基本上都是半路出家,或者大部分培训机构的,不招他们进来吧,项目赶不完,招他们吧,都是得过且过的学习性格。稍微高端一点的特性,几乎推不动,他们还会反问,花时间看这个,为啥不学
go
呢?毕竟go
是官方自带搞得我们现在新项目(国内龙头电商),基本上都用
Java
了,也不知道咋说。。。用PHP
确实太多只会做简单crud
Rango 回答
Swoole4
现在是越来越简单了,现在的协程比以前的异步回调好用。你应该使用社区内成熟的框架,比如Hyperf
、Swoft
、EasySwoole
、MixPHP
。直接基于Swoole
开发很容易犯错,这需要开发者具备更高的素质。而基于框架之上开发应用,无论是Swoole
还是Java
、Go
对于使用者来说难度是一致的。大多数
Java
、Go
的工程师其实也都是用别人写好的框架,所以简单。如果是自行写一个多线程的Java
框架,类似于Spring
,这很困难。也不只是
PHP
的工程师是CRUD
,大部分做Java
、Go
的程序员也一样是在做CRUD
的工作。并没有什么差别。提升对整个技术栈的理解深度、技术把控能力才是最重要的。Swoole4
的协程 和Go
完全一样,但是PHP
语言更简单易用。Go
是强类型静态语言,没有泛型支持,面向对象也不完整,更适合搞底层软件的开发,各种组件生态也没有PHP
丰富。如果你是从事服务器端应用开发用Go
效率远不如PHP
编码、工程实践、抽象、业务理解、服务治理(包括性能、稳定性、健壮性、可用性、可扩展性)、架构设计,这些方面的能力与语言无关,编程语言对于优秀的工程师来说只是一个顺手的工具。掌握两个一模一样的技能,比如用 PHP、Go、Java 开发服务器后台程序的技能几乎是同质化的,实际上意义不大,浪费了时间。
PHP
是很多有优势的,可以让工程师不再花时间用在对于语言技术栈的学习上,熟练掌握PHP
整个技术栈只需要2-3
年即可,其他的语言虽然功能上更强大,但是需要程序员花费更多时间用在学习语言API
、运行原理、各种类库和工具上。时间需要3-6
年才能达到精通的水平。PHP
工程师因为精通这门技术更容易,反而可以把宝贵的时间投入到更高层面的工作上。PHP-FPM
的健壮性是有目共睹的,算得上是工业级的技术。而Swoole
目前也越来越成熟了,健壮性也越来越高。Swoole
是一个帮助PHP
工程师在PHP-FPM
的Web编程
之外功能范围的一个扩展,PHP
工程师可以获得更大的操作空间。而不必花时间去重新学习一门新的编程语言技术栈,这通常需要几年时间才能完成,而学习掌握Swoole
一般来说3-5
个月即可,毕竟Swoole
其实也是PHP
技术栈范畴之内。
半路出家、学历低等问题
一个工程师是否优秀,很大的程度上取决于他的技术思考深度、持续学习能力。很多人说自己是非计算机专业、半路出家、学历不够高。我觉得这个并不是问题,以上并不妨碍你去学习与思考。
大部分人没有到拼天赋的阶段,我一直相信一万小时理论,如果你能坚持在技术上保持专注,进行大量工程实践,日积月累,大概率会成为这个领域的专家。
Swoole 微课程
有疑问加站长微信联系(非本文作者)