字节作为新互联网公司,没有历史遗留包袱问题,想要哪个编程语言就用哪个,同时他们还要考虑一个高性能解决方案。

首先要考虑的是:方案是否能解决问题,其次是否足够简单:研发人员能少写代码,运维方便维护部署。于是他们把目光对准了 Golang, 下面简单说说 golang 的几个主要优点吧,这可能就是被字节采用的原因。

高性能-协程

golang 源码级别支持协程,实现简单。协程使用,当底层遇到阻塞会自动切换,也就是逻辑层通过同步方式实现异步,充分利用了系统资源,同时避免了异步状态机的反人类异步回调,实现方式更为直观简单。
golang 协程是通过多线程维护,所以避免不了锁的使用,但也极大解决了研发效率问题。

生态

有谷歌做背书,生态丰富,可以轻松获得各种高质量轮子。这样用户可以专注于业务逻辑,避免重复造轮子。

部署

部署简单,源码编译成执行文件后,可以直接运行,减少了对其它插件依赖。不像其它语言,执行文件依赖各种插件,各种库,研发机器运行正常,放到生产环境上,死活跑不起来,需要各种安装和版本匹配。

总结

GCdefer

很多时候,一种语言并不是万金油,需要几种一起上。高性能方面可以用 golang/c/c++/java

语言只是工具,没有高低之分,能解决问题,喜好哪个语言就用哪个语言

我是 @后端时光 一个不愿躺平的年轻人

作为编程人,可以给大家分享一下经验,编程不要局限于语言,编程语言千千万,更新换代太快了,如果疲于奔波学习各种新语言,浮于表面只会调用api和基础语法,倒不如系统学习一下计算机基础和底层原理,底层学会了切换语言简直是如鱼得水,有再多的新语言出现也不怕。

对此我把从业多年,收集整理到的一些经典学习资料分享给大家 (包括计算机网络,数据库,算法,大厂晋升指南,面试总结,架构师之路,编译原理)等编程人员必备学习技能包都放在这里,这些资源让我从一个懵懂的学生一路成长为高级开发工程师,工资翻倍的关键因素,吐血收藏分享!



点击下方链接直达获取:


另外我还组建了一个「Golang 编程交流群」,群里每天大家都互相交流 Golang 学习心得

如果你是 Golang 新手,那我相信你可以迅速融入到这里面来,同时认识更多的编程大佬。

同样你可以靠着「10G Golang 学习资料大全」迅速度过新手阶段,让你上手 Golang 更加轻松。 感兴趣的可以点击上面链接。

如果你觉得我都回答有帮助请帮忙点个赞, 也可以关注我的知乎,一个有故事的程序员