• 软件开发语言PHP与JAVA谁优谁劣?灵魂拷问!

    2022-04-26 16:28

      PHP的优点:灵活,编译快。所以淘宝在业务未成型的时候选择php快速响应市场。之前和一个海外电商聊过,人家现在的做法是Java+PHP,Java主要做大数据,PHP做业务层。现在的开发都不是以前那种整个链路都是一个语言的了。混合语言开发和远程服务调用已经很成熟了。比如京东,之前的部门就开发了一套用nodejs调用Java的RPC服务的接口。Java的优点在于,语法优雅,生态成熟,写出来的程序安全性也有保障,但是Java虚拟机的消耗,Java代码开发周期长,都让Java成为一门“重”语言,而PHP显然更“轻”。

      
      再说说执行效率,Java的服务端,如果开了server模式,优化到接近Cpp的性能是可以的,而PHP7大改了很多东西,性能大提升,具体我没对比过,PHP鸟叔做过对比,可以参考数据。我想说的是,在前台业务层做性能对比,其实没有那么迫切和苛刻。现在但凡是大的电商企业,都采用前中后台的架构,中台是公共服务,前台是业务逻辑,业务逻辑是易变的,花太多时间写出优秀的代码,不如花更多时间优化中间层。这个比如腾讯系,中台用的是C++,前台用PHP,Python这类轻语言。
      
      再说说Java的缺点:
      
      Java开发起来真的很慢,写个业务逻辑很啰嗦,这个写几年Java再对比python,golang,php都会有感觉吧;开发周期长,对于快速成长的企业而言,简直不能忍;
      
      Java虚拟机帮助GC是很好,可是运维时的GC问题,调优,都是要考虑的;
      
      Java很重,Java虚拟机运行时要维护Klass 类元数据,还有一大堆GC相关的数据,内存压力就在那;当然,PHP也是要GC的,这个我没了解;我自己的博客也就1G运存,挂个tomcat就很吃力了,所以我用的是PHP。
      
      Java的优点:Java生态好;国内阿里巴巴开源的组件就上百个了,再说说Github,如果Java写一个功能,可以先查一下有没有现成的轮子;生态好真的很棒,很多问题有现成的解决方案,学习也有资源;当当上搜一下Java相关书籍,很容易找到一本好书,而PHP,据我做php的朋友吐槽,简直很少。
      
      Java语法比较简单,不提Java8和之后的一些特性,一般写过C的朋友转过来不难;比较悲哀的是,Java8 的lambda是双刃剑,破坏了Java的优雅语法;我觉得JCP那群人,没有想好Java的哲学理念是什么。这一块Golang显然做得好一点。
      
      个人认为Java是一个强结构的语言。Java其实就是一个个结构,仿佛一个个架子,棱角分明,作用域分明。一个清晰的结构能让代码更易于维护,也更不容易出错;当然,首先程序要写得好;
      
      这个吐槽一下,PHP的包管理真的没有Java的好用。
      
      我觉得一个编程语言,首先是要能编码业务逻辑;连业务都写不出来,那要你何用?这个基本上主流的编程语言都可以做得到。然后,是性能,如果能充分榨干硬件性能,这是最好的。最直观的,如果编写一个业务逻辑,A语言产出2000个机器码,B语言产生10000个机器码,那B语言简直不能忍;这个编译器的优化占了很大的比例。
      
      最后要避免程序员困惑,防止其写出错误的代码;比如 a+++b---c这种鬼语法,本身就不应该存在,更不应该写。还有,C语言的宏定义,个人认为对代码的阅读产生了极大的障碍。这些都是让程序员困惑的,都是隐患。
      


    上一篇:没有了

    下一篇:程序员篇:目前流行的前端框架推荐

      • 公司历程

        5+

        • 来自各领域的合作客户

          800+

          • 覆盖100+行业

            100+

            • 软件著作权

              30+