关于php+go的架构设想

    java和php作为web服务端两大阵营已经相争多年,随着信息化技术的高速发展和硬件成本的降低,开发效率和执行效率的天平在更多的时候偏向于开发效率,php已经蚕食了java这个曾经的web霸主很大部分的市场,虽然python,.net,也占据了部分市场,但终究难以加入这两大阵营的竞争中来。

    从我入行以来看到的形势,六年来,从php被其他语言冷嘲热讽到由中国人惠新宸参与核心开发的php7横空出世,php已经在中国web领域成为主流。微信和facebook的成功,也用实力说明了从php起步的web一样可以成为互联网巨头。

    当然了,php和java的竞争其实也只是说能php由边缘化转为能和java一决雌雄了。

    但是这个时候,一直不声不响的go语言,推出了go1.1;如果说php7的出现对中国web程序员来说是大事,go1.1的出现则对世界程序员来说都是大事,这个曾经被开发者设计用来代替C/C++的语言,但它并未能撼动C/C++在系统和硬件领域的几十年如日中天的地位,反而在web领域掀起了更大的风浪。

    于是我开始抽出下班和工作闲余时间,来研究一下go语言。其实是我们项目某些脚本程序和接口在可预见的未来需要一门高执行效率和多线程的语言来支持,当然了,在以前,最先想到的该是C++,而现在,go成了我最好的选择。

    用C++写出一段只有自己能维护和理解而其他成员都看不懂的程序来解决开发难题,只能说明你是个优秀的程序员,但却是一个失败的架构师。

    我起初试图用go写出整个流程,完成核心和难点部分,能让团队的中级以上phper能够按照我开发的实例接手并使用。选择了beego框架,选beego的原因也很简单,足够大众化和足够的中文支持,以及PHP开发者r都习惯的MVC,难以掌握的框架会让整个团队都为你的选型和架构付出代价。

    断断续续研究了一个多月,由于太忙时间抽出的不多,其实累积时间还不到一周,学习了语法,又运行了示例。不知道是不是我心态有些浮躁,我发现go语言学习并没有我想象的那么简单。我本以为它至少要和C++有相似之处,结果却完全不是这么回事,由于我曾经自学过java,我发现go的学习是类似java的!!!

    这个结果让我有些沮丧,我试图用go的MVC框架开发示例,并让中级以上phper参与进来的构想似乎是不现实的。go语言根本就不适合初学者,其中简单的语法中包含的很多概念都是需要足够的基础强化的,中级及以下phper要在短时间内掌握它是很困难的!!

    目前我得出的结论是:

1.go不适合初学者,它有很多初学者难以理解的概念

2.go的学习并不像C++,它类似java

3.go的开发效率并不会很高,它的代码开发不会比java快,只是由于编译效率的优势,就能勉强能和java持平的样子

    说实话我有些烦躁,我耗费了这么多时间心血,却不知道该怎么继续下去。既然不管怎么样我写出来的go实例都无法给团队共享,那么强行为脚本使用beego这个厚重的mvc反而成了高级工程师的笑话。恰好我需要休一周的假,希望休假回来,我能有新的思路。现在,我想到一些其他的东西:

     web领域java真正的对手是go语言

    php和java在web相争这么多年,但是php从无可能取代java,在那些技术比较高深庞大的领域,php几乎无法与java抗衡,php7已经将执行效率提高了2-10倍,虽然还是比不上java;php另一个重点是composer带来的进一步的开发效率提升。

    但是go不同,它以接近java的开发效率获得了接近C++的执行效率,而java和C++的执行效率差距之大导致java几乎完全被C++从嵌入式领域驱逐。

    php7在取长补短,其web领域的快速简洁开发几乎没有对手,唯一能与之较量开发效率的python在执行效率上与php7差距之大不亚于php和java的差距。

    而java却开始收费了~~~go很长一段期内看来取代不了C/C++,也不会对php构成多大的威胁,而web领域的java,一个真正可能将其取而代之的对手出现了。

    其实对于phper来说,是好事,java的势力范围总是要取代php,而go却可以和php各取所长,互相结合。

    休假过后,我将继续试图结合php和go,可能我对php+go的设想,得基于高级phper或者专业的go程序员。苦恼的是phper和goer难以互相掌握对方的语言,因为两种语言差异其实挺大,或许,作为架构的我去掌握这两种语言从而实现统筹。

    

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值