之前在一直在用JAVA开发,从JAVA的 EJB 到流行的 Spring,总体感受开发速度尚可,不用重复造轮子,启动慢,内存占用高,单机并发量低。某次需要开发一个功能简单的服务,开发过程很顺利,上线部署发现,需要先装 jre 才能运行,程序本身不大,但是所需要的运行环境太大了,不适合快速部署。2018年的某一天,偶然间看到了go语言,尝试一下,把JAVA程序,用GO实现一遍,结果是程序体积小,可以直接运行,占用内存特别低(不到JAVA的十分之一),并发量高(据说相当与nginx),编译运行速度快(开发效率高,JAVA一个项目编译运行,没个3-5分钟都启动不来,影响开发效率),相对而言,目前go的各种库相对JAVA要少,但也有很多可以直接用的库,比如我常用的Goframe 几乎包含各种需要的功能(webserver,orm,config,cache)
话题切换到go上, go的生成代码大多数情况下是比java快的,起码持平, 但是却不敌java热过的代码, 因为go的优化做的很一般, 毕竟是带GC的语言, 有指针这种东西就没办法优化到哪里去, 否则到处都是空指针异常就尴尬了. 话说编译速度很快的编译型语言优化都做的一般, 同理还有pascal(delphi), 编译也超级快就是运行速度一般, 比不上编译速度超级慢的C/C++
#9