最近刚刚写完go,有点上瘾.自己一直是javaer,做这块有10年了,下面说说个人对这三门语言的理解.go语言,几个鲜明的特性, 垃圾回收 跨平台 并发完美支持 编译迅速.
垃圾回收就不说了,java也有,这可以让我们不用过度的关心内存管理.跨平台,java python 也有可以,但他们需要安装对应的支持库.java jre环境 python2 python3 环境. 而go编译出来的包,直接可用.并发支持,java 并发最小单元是线程,cpu切换是有代价,数量控制不好,出问题是头疼的一个点.go是多了一个协程的概念,是用户级的线程.可以任意切换,cpu没有什么代价.可以很舒服的开发高并发应用.就这个特性我觉得后面很多服务器的程序会倾向于go.编译迅速,java也编译也很快,但他是编译器选择性进行编译或进行解释执行的,没有可比性.python纯解释性语言.性能上解释性语言是没法跟编译性语言相比的.go兼顾编译性语言性能好的特点,编译比c c++快太多了.非常惹人喜爱.所以go优点是很多,后面很多程序应用都是会倾向于他,特别是他的协程概念,释放了多核处理器的能力.未来我看好他的发展.当然java有很完整的生态,目前来说构建大型的复杂系统还是少不了他,大数据这块很多框架都是基于Java.python呢,在爬虫,机器学习,ai领域有很多成熟的框架库,要是搞机器学习,也还得学他.