为什么bilibili后端要用go来写?

Go相比Java 是一门更现代化的语言

前B站员工。

先说结论,拿出一个可以对比的语言 Java。因为背景为 PHP、Python 这样的研发团队,在保证工程质量和业务推进的过程中,转 Go 比转 Java 的学习成本和 IT 成本都更低。

Go 相对 Java,对于有 Python 或者 PHP 背景的人而言。上手的速度会更快,因为语法简单且单一。再加上并发原语支持以及相对更低的运维成本。工程上选 Go 的做法也就顺理成章了。

其实 Go 里面也有很多反直觉的东西。这些并不会让人觉得这是一门简洁的语言。至少这不是优雅的体现。比如 for range ...

编程语言每多一个特性,就会增加简化问题的可能性,也会存在提升工程复杂度的可能性。因为对于很多转语言的团队,这需要一些已有的工程实践做背书。3649dc252d7dac232288b4f08f6140d0.png

Go 相比 Java 是一门更现代化的语言。但这种现代化也只是为了追求符合大多数人利益而在工程上做的权衡。还有像 Scala,Rust 这些同样现代化但是相对 Java 更复杂的语言还在不断地被各种领域尝试并且其中有不少在广泛使用的产品。

看大家「现代化编程语言」的观点有很大的争议。说下我的个人观点:Go 出生要比 Java 晚很多,2009 vs 1995,所以时间上他一定「更现代」。Go 的出现是为了更好解决 C++ 在 Google 解决的问题,所以如果你发现一个原本用 C++ 解决的问题用 Go 更简单,那么这就是一个好的选择很难有一个非底层的编程语言,能够应付这个世界的所有需要计算机驱动的人类活动,至少现在没有。

4ed3c7fa3c11cfa3fc2a73267068610e.png

B站的开发语言选择,简直是一场大宫斗。

这个公司的各个部门都没啥创始核心团队坐镇,所有缺乏主心骨和决策灵魂。

当年B站同一个页面上调用的HTTP服务,啥开发语言都有,这事还被B站技术部门当做一个技术案例去发文章宣传了。

最后选Go无非就是喜欢Go的人宫斗赢了而已。

不过说实话,用Go确实在这个年头比较潮,在年轻开发人员里推广阻力小。最大的好处是完全排除了阿里系技术人员对技术团队氛围的影响。

93631b2915ed1d453b730a3378123105.png

目前大型工程 就两个选择 java golang

如果是阿里出来的 选择java很自然

用c++ 或者其他 基本上会选golang

👇👇最新2024IDEA永久激活(支持全家桶)👇👇

关注上面公众号回复“激活码”,获取2024年最新激活码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值