�“Go将成为未来的服务器语言。” - Tobias Lütke, Shopify
在过去几年中,新的编程语言有所增加:Go或GoLang。 没有什么能让开发人员疯狂而不是新的编程语言,对吗? 所以,我开始学习4到5个月前的Go,在这里,我将告诉你为什么你也应该学习这门新语言。我要解释现阶段的计算机硬件 - 软件以及为什么我们需要像Go这样的新语言? 因为如果没有任何问题,那么我们不需要解决方案吧?
硬件限制:
摩尔定律凉凉了。
英特尔于2004年推出了第一款具有3.0GHz时钟速度的奔腾4处理器。 今天,我的Mackbook Pro 2016的时钟速度为2.9GHz。 因此,差不多十年,原始处理能力没有太大的提升。 您可以在下图中看到增加处理能力与时间的比较。
那么,对于上述问题的解决方案,制造商开始向处理器添加越来越多的内核。如今我们有四核和八核CPU可用。
我们还介绍了超线程。为处理器添加了更多缓存以提高性能。
但上述解决方案也有其自身的局限性。我们无法向处理器添加越来越多的缓存以提高性能,因为缓存具有物理限制:缓存越大,获得的速度越慢。为处理器添加更多核心也有其成本。而且,这无法无限扩展。这些多核处理器可以同时运行多个线程,从而为图像带来并发性。
因此,如果我们不能依赖硬件改进,唯一的出路就是提高性能的软件。但遗憾的是,现代编程语言效率不高。
Go有goroutines !!
如上所述,