专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
程序员的那些事  ·  程序员:在 8 ... ·  2 天前  
稀土掘金技术社区  ·  new Image() 预加载 为什么比 ... ·  昨天  
蚂蚁技术AntTech  ·  清华蚂蚁开源首个全异步强化学习训练系统,SO ... ·  昨天  
51好读  ›  专栏  ›  OSC开源社区

Go 很好,为什么我们不使用它?

OSC开源社区  · 公众号  · 程序员  · 2017-06-01 08:28

正文

请到「今天看啥」查看全文


我认为 Go 是伟大的编程语言是很多原因。要是现实世界需要,我能够在几天内对一个生产系统进行原型设计、测试和部署,而且在每秒能处理比原来多 5 倍请求的情况下,CPU 和内存的开销还都很小。


这是因为 GO 很简单,只有一个非常小(但是很全)的标准库。我能够在几个小时内掌握绝大部分语言概念,内嵌包,和常用语句。


除此之外,Go 还有一些其它东西:


• 静态类型

• 编译

• 单独的二进制发布

• 垃圾回收

• 内置并发和原语

• 可以连接到流行的 C 库

• 丰富的文档

• 拥有一个充满活力并持续成长的社区


Zapier 一开始是一个 Python 商店。当上面所列的内容只有部分能在 Python 中实现的时候,实现了整个列表的 Go 显得非常吸引人。我们每小时要处理数以千计的 API 调用,性能对于我们来说非常重要。那么为什么不换用 Go 呢?



为什么 Go 并不太好?

没有完美的编程语言;一切都需要权衡。Go 在编译速度和应用程序性能上很优秀,但这是以程序员的生产效率作为代价的。


在权衡的过程中,最有争议的是 Go 提供了静态类型系统,但却没有泛型。这就是说,容器类数据结构除列表和哈希表之外,不能摆脱对未知类型指针( interface{} 类型)的类型转换。


Go 还有一些不利于编程的东西:

使用第三方代码会让依赖管理变得困难。


• 类型系统很简单,但与经典的面向对象和继承模型有很大不同。它非常像 C。结构 + 接口。没有类。没有继承。







请到「今天看啥」查看全文