可以说,如果经历过一个漫长的计算机语言开发,使用过四种以上的语言,每种语言的开发时间都在数年以上,你就会对目前已有的编程语言有很直观的理解,这些个理解,概况成一句话就是:没有一门语言,能通杀一切.
不是学习难,就是运行慢,不是功能简单,就是过于复杂,不是纯粹,就是无法跨平台.
Java,C++,PHP,Python,C#,Lua,JS,Ruby.几乎所有的主流语言,都有其明显的缺点,这个有这个的不行,那个有那个的缺陷.
Golang语言直到Go语言的出现.
Go语言的开发团队,在当前决定编写一门新的语言时,对如今主流语言的特性研究,简直就是深得我心,他们很快发现了这个致命问题:开发人员,总是不得不在开发效率与运行效率之间做出选择.为什么要做选择呢?开发效率为推向市场赢得时间,运行效率为产品承载创造高收益,它们两个都是项目成功的不可或缺条件,要去二选一,做这样的选择,简直就是无奈之举.
Go语言的使命来了,它立志于解决现代编程的难题:同时拥有开发效率与运行效率.
在编译器上,Go语言使用了更加智能的编译器,不再有C++那样写完一行代码,喝杯咖啡才编译完的奇葩笑话,而且,它的编译比Java还简洁,只会做直接引用库的编译.据说,大部分Go语言程序编译时间都在秒级.
这样就接近所编即所得了,业务问题,业务结果是需要反复调试的,有了秒级编译,来来回回测试就不再耗时.
运行速度上,Go语言的并发机制简直是简单而强大,goroutine,通道的引入,同时依托底层纯C语言的通信,Go语言的请求并发数可以很高,并且根本不依赖什么编程,完全给你封装好.
这就是为什么,Go语言这几年在编程界串升这么快.