Golang 和 PHP

PHP是我们的初恋情人!

        我的第一次(编写生产级项目)给了PHP,PHP给予了我们工作,帮助我们走进来实践软件工程的大门,按正常逻辑来说我应该PHP幸福的走下去。但是我就是一个花心的developers,相处的5年中我一直在不停的勾三搭四,一会儿撩撩JAVA大姐姐,一会儿又撩撩Python小姐姐,最近我觉得隔壁Golang发育的越发楚楚动人。嘻嘻 大概打量了一番觉得Golang还真“不赖”,和我家PHP比起来各有特色。哈哈 以后就可以三个人幸福的相处下去了。


1. 标记 @号代表可作为讨论内容



想知道Golang 和 PHP 到底有哪些区别,首先要知道从哪些方面来对比。

语言层面  :

Golang :  编译语言  

1.编译成二进制文件可以直接在系统中运行

 2.不依赖其他环境,不挑剔

  3.执行效率高

PHP      :  解释语言 (@权威解释参考官方文档或敬请xinge大佬分析)

FPM模型:每次请求的时候动态进行词法分析、语法解析,然后在Zend虚拟机上运行,再由 Zend引擎实时编译成机器码执行

CLI模式: 是单进程模式在程序启动的仅执行一次词法分析和语法解析,再由Zend引擎编译成机器码执行,这里有个讨论点:(@CLI模式只会执行一次词法分析和语法解析,为什么PHP不用CLI模式运行呢?)

语法层面  :   

面向对象(OOP):    

    Golang 提倡面向接口编程,因为Golang具备特殊的对象实现方式,但是Golang并没有提供类的概念,Golang中的类是通过struct结构体来实现,不符合面向对象编程的程序员认知。  

   PHP 支持函数式编程并支持面向对象编程,从PHP4版本后支持的反射机构能够让PHP具备很好的实现依赖注入功能,对程序设计和解耦帮助非常之大

 数据类型:

Golang是强类型语言:


优点:

1.将类型的范围划分的更加明确,在变量的初始化时分配内存空间更加合理 

2.数据类型更加安全,弱类型语言在类型对比和转换时存在安全问题

3.编辑器和编译器在安全提示会更好,便于及早发现问题

缺点:

1.每个变量都需要声明类型,书写麻烦

2.需要考虑每个变量选择合适的类型和大小,如果变量的范围没有选择好,编译期间不会报错,会造成运行时错误。

PHP是弱类型语言:


优点:

1.不用考虑变量类型编写方便

2.同一个变量可以赋值多种类型

3.数组类型具备非常强大的功能

缺点:

1.变量对比不安全

2.内存空间浪费

高并发:

Golang 天生就是未高并发而生的,这其实得益于Go的协成设计模型(GMP)。在协程(goroutine)间通信采用通信共享内存思想(channel 其实一个队列)来保证安全高效的数据互通,提供“互斥锁”,“读锁”和“写锁”来并发安全,推荐使用“读写锁”。Golang 适合做微服务。

PHP在高并发方面是一直被我们所诟病的。这个PHP目前绝大数的使用场景有关,因为PHP开发快速,目前主要的应用领域就是在WEB服务端方面,而我们通常采用的是LNMP,LNMP中的FPM则是限制PHP性能主要原因。目前PHP也可以通过Swoole扩展实现高并发,目前Swoole的发展趋势还非常不错,其中Hyperf框架非常出色。

开发效率:

Golang 语法简单,上手快,并发实现简单,单元测试和性能测试非常方便。

PHP      语法简单,支持面向对象,开发效率高,但是在高并发方面学习稍高

生态层面:

Golang  1.大厂推动使用,2.社区活跃度高,3.go mod 包依赖管理 4.搭建私服简单 5.新兴独角兽公司追捧 6.不错的框架支持(beego 和 gin)7.微服务支持不错 8.文档齐全完善

PHP    1. 目前

应用前景:1.文档完善(内核文档、使用手册、swoole手册) 2.框架完善(Laravel,ThinkPHP) 3.composer包管理完善 4.技术方案成熟   但是对微服务支持不好


前景层面:

服务端开发

分布式系统,微服务

网络编程

区块链开发

内存KV数据库,例如boltDB、levelDB

云平台

目前Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。 

目前的招聘需求大待遇相对好些

PHP目前处于一个不温不火的现状,这实在让人觉得不舒服。

讨论模块:


Golang学习资料推荐:

学习笔记文档:http://www.topgoer.com/

博客推荐:(进阶)

Go 语言结构之栈和指针

Go 语言机制之逃逸分析

Go 语言机制之内存分析

Go 语言机制之数据和语法的设计哲学

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容