为啥GO不火
所属分类 go
浏览量 1390
Go是一种静态、强类型、编译型、并发型,并具有垃圾回收功能的类C编程语言。
2009以开源项目的形式发布,2012年发布1.0稳定版本。
Go语言之父Pike提到:Go语言是以C为原型,以C++为目标而设计的。因为他觉得C++太复杂了 。
虽然Go以C++为目标而设计,但尴尬的是,Pike坦承Go并没有吸引来多少C++程序员,反而吸引了不少Python Ruby程序员。
核心设计师Pike和Ken都出身自贝尔实验室,共同发明了UTF-8
Go哲学:Less Is More,大道至简。
Go规定左大括号 { 不能换行
Go编译器内建工具gofmt强制源码格式化 , 没有可选项
给你(我认为)最好的,而不是给你选择。
核心特性
原生并发,以东尼·霍尔的通信顺序进程(CSP)为基础的goroutine,适合现代多核机器
垃圾回收,非常高效(请来世界顶级内存管理专家设计)
强大的标准库,对网络编程等的良好支持
CGO提供了GO调用C机制,扩展了GO的能力边界
内嵌关联数组
非侵入式的接口设计
简单清晰的语法
基于消息(Channel)编程的支持
不支持异常
编译速度快
编程语言排行榜
https://www.tiobe.com/tiobe-index/
go vs python3
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/go-python3.html
Go 云计算时代流行起来,促进了云计算的发展
Docker 开源应用容器引擎
K8S 容器编排管理系统的事实标准
Go的工程化水平低于C/C++和Java等第一梯队语言
在Java占主导的生态中,Go显得比较小众,跟其他中间件的融合也存在潜在风险。
为什么放弃Go语言
https://blog.csdn.net/liigo/article/details/23699459
标准库强大但开源库不足
GO开发的大规模软件和核心系统数量不足
GO使用人员少,编程经验不足
很多中间件没有GO client
上一篇
下一篇
Content-Disposition 响应头的作用
git冲突合并及强制推送
git的各种状态
springboot2微服务实例演示
GO的垃圾特性
springboot2网关zuul实例