PHP & Swoole 与 Java、Go 等技术选型答疑

来自 SwooleVIP 群内一位成员的问题

  1. 感受Swoole愈来愈复杂了,虽然特性也变得更强,惋惜在项目组里面根本推不动,并且协程后须要注意事项也不少,稍不注意可能就是链接忘了回收,链接错乱的风险(固然有defer之类的能够规避)
  2. PHP的,基本上都是半路出家,或者大部分培训机构的,不招他们进来吧,项目赶不完,招他们吧,都是得过且过的学习性格。
  3. 稍微高端一点的特性,几乎推不动,他们还会反问,花时间看这个,为啥不学go呢?毕竟go是官方自带
  4. 搞得咱们如今新项目(国内龙头电商),基本上都用Java了,也不知道咋说。。。用PHP确实太多只会作简单crud

Rango 回答

  1. Swoole4如今是愈来愈简单了,如今的协程比之前的异步回调好用。你应该使用社区内成熟的框架,好比 HyperfSwoftEasySwooleMixPHP。直接基于Swoole开发很容易犯错,这须要开发者具有更高的素质。而基于框架之上开发应用,不管是Swoole仍是JavaGo对于使用者来讲难度是一致的。
  2. 大多数JavaGo的工程师其实也都是用别人写好的框架,因此简单。若是是自行写一个多线程的Java框架,相似于Spring,这很困难。
  3. 也不仅是PHP的工程师是CRUD,大部分作JavaGo的程序员也同样是在作CRUD的工做。并无什么差异。提高对整个技术栈的理解深度、技术把控能力才是最重要的。
  4. Swoole4 的协程 和 Go 彻底同样,可是 PHP 语言更简单易用。Go是强类型静态语言,没有泛型支持,面向对象也不完整,更适合搞底层软件的开发,各类组件生态也没有PHP丰富。若是你是从事服务器端应用开发用Go效率远不如PHP
  5. 编码、工程实践、抽象、业务理解、服务治理(包括性能、稳定性、健壮性、可用性、可扩展性)、架构设计,这些方面的能力与语言无关,编程语言对于优秀的工程师来讲只是一个顺手的工具。掌握两个如出一辙的技能,好比用 PHP、Go、Java 开发服务器后台程序的技能几乎是同质化的,实际上意义不大,浪费了时间
  6. PHP是不少有优点的,可让工程师再也不花时间用在对于语言技术栈的学习上,熟练掌握PHP整个技术栈只须要2-3年便可,其余的语言虽然功能上更强大,可是须要程序员花费更多时间用在学习语言API、运行原理、各类类库和工具上。时间须要3-6年才能达到精通的水平。
  7. PHP工程师由于精通这门技术更容易,反而能够把宝贵的时间投入到更高层面的工做上。PHP-FPM的健壮性是有目共睹的,算得上是工业级的技术。而Swoole目前也愈来愈成熟了,健壮性也愈来愈高。
  8. Swoole是一个帮助PHP工程师在PHP-FPMWeb编程以外功能范围的一个扩展,PHP工程师能够得到更大的操做空间。而没必要花时间去从新学习一门新的编程语言技术栈,这一般须要几年时间才能完成,而学习掌握Swoole通常来讲3-5个月便可,毕竟Swoole其实也是PHP技术栈范畴以内。

关于半路出家、学历低等问题

一个工程师是否优秀,很大的程度上取决于他的技术思考深度、持续学习能力。不少人说本身是非计算机专业、半路出家、学历不够高。我以为这个并非问题,以上并不妨碍你去学习与思考。程序员

大部分人没有到拼天赋的阶段,我一直相信一万小时理论,若是你能坚持在技术上保持专一,进行大量工程实践,日积月累,大几率会成为这个领域的专家。编程

Swoole 微课程

图片描述

相关文章
相关标签/搜索