1. 因为 “golang并没有颠覆性解决问题”,只是, 简单, 学习简单
    1.1 太阳底下没有新鲜事, 历史总是在"重复"
    当年 写 CGI , php 打败了 perl , 无他, 在 web 的 CGI 时代, php 学习成本低.
    同样 , 2018年 vueJS 与 react 相比更为"火", 无他, vuejs 学习成本低.
    go 相对于 java 也有点类似, 学习成本低.
    好几年前, 游戏开发, erlang 在后台来说, 那是中坚力量, 而这两年, go 作为游戏开发的后台, 也不少了吧.
    也一样, 相对 erlang , golang 学习成本 低.
    1.2 “其实有多大差别啊”, 对头, 只是一些小差别, (业务逻辑)伪代码相同情况下, go 代码简单,易读(易维护)
    有答主说了 “其实有多大差别啊,搬砖而已” ---------> 我同意这句话, 但也不完全同意这句话
    同意的地方是, 对于传统业务, 尤其是企业级应用或业务, 以及有明确终端用户的业务来说, 在不考虑量级情况下, 业务实现流程与处理约束有相似之处, 开发实现也有相类似之处.
    所以, 不同语言/架构开发来说, 差别不明显, 比如说, 用户管理 / 资费交割/ 业务鉴权 / 商品管理都差不太多( 这里没说内容管理, 内容差别太大, 但商品管理差别不会大) .
    这里说的业务量级, 指的是用户总量, 并发量, 业务运行随时间累积的数据总量与有效数据集总量

比如大型网店, 下架后的商品数据, 对于网店销售来说, 属于失效数据集, 但对于销售行为分析等大数据估算来说, 是有效数据集)

对于这些, 不同语言开发, 就是搬砖.

那搬砖有什么不同呢, 无他, 人不同罢了:

每个人都趋向于选择自己熟悉的工具.
研发经理/产品经理趋向于容易招聘, 按量交货(坑少的), 而且薪水还低的人

1.3 “并没有颠覆性解决问题”, 是的, go 只是尝试着, 简单,轻松的去解决,没有黑魔法,很少语法糖,甚至,没有泛型(也许,将来会有…)
有朋友说了, “golang并没有颠覆性解决问题”, 没错, go 能解决的问题, java 也能,甚至解决得更好. --------> 所以, 只是同样的"搬砖而…"
但, 砖与砖还是有差别. 对于开发量在 100人月上下的项目, 同样的业务管理( 是的, 我带队实施过, 设计用户总量10万计, 每月新增用户量3000到10000, 每天开机量90%, 业务模型/技术架构一样, 这里的技术架构, 指的是业务子系统划分/ 中间件/数据库模型基本一样, 尤其是各子系统/各业务单元之间的接口完全一致, 见注1), go 实现要比 java , 在部署/运维上, 成本要降很多.
同样是本科毕业2年内的开发人员, go 只要基本业务测试通过, 性能与稳定性, 比 java 要好. 至于说, 开发成本( 按人月计) , 也降不少.

注: 在上述3 / 4 两条, 说到的项目中, 分别是视频业务与金融业务, 我是项目经理/产品经理这一类角色, 除了需求规格说明书( MRD/RSD), 系统总体概要设计说明书( system HLD ) , 子系统概要设计规格说明书( subsystem HLD) , 接口定义文档( ICD ) 以外, 我不写代码.

但是, 如果是 100人月以上的项目, 开发人员在30人以上, 说实话, 这要看开发团队是什么样的人员构成吧. 这涉及到项目的长期维护与更迭换代, 以及人员招聘, 薪水开销等.
所以, 基本还是选择容易招人的开发语言( 与开发语言对应的成熟 架框/库). java 挺好招人. go 就不要选择了( 深圳宝安某几个公司, 招 go 开发人员, 招聘信息处处发, 都发了快一年了, 还在四处挂着招人)

几年前, 快递员在小区的手机取件的快递箱, 深圳某大公司以 java 为主, 快递箱内有一台 PC, 通道走2G无线模块, 开箱时间为3秒(2G通道基本通畅的最坏情况).
我在的技术小组作为技术顾问, 作出的优化是, 把 服务器端到快递箱内 PC 的通讯, 从原生 java RPC 换成 爱立信 ICE 作为中间件的 java RPC , 开箱时间, 缩短到 1.3秒(2G通道基本通畅的最坏情况).
ICE 是什么, 爱立信30多年前的 c++ 中间件啊, 20多年来几乎没什么大改进, 性能依然稳定而强悍.

所以, 砖与砖是不同的. c++ /erlang / hackell 挺重, 学习曲线陡上天, java 砖稍重一些, go 砖轻一些, python 轻灵, 而 javascript ( NodeJS ) , 看看 TJ 的经历就知道了.

注1: tj — koa.js 的核心开发者,当前主力开发语言是 go
注2: nodeJS 2017年前, 用在服务器后端开发, 主要问题是 callback hell, 目前 nodeJs 已经进步很多,并且由于 M$ 主导的 typescript 让 JS 有了强类型支持, VScode 也是"火"了.

1.4 go 在中国很火,是中国程序员们的厚积薄发

注意, 这里我并没有加引号

在中国, 有很棒的程序员, 过去,现在,甚至将来, 很多, 就不一一列示了
为什么 golang 在中国看起来很火?!!!
真正核心的原因是, 中国自1997开始与互联网对接, 到 2007这10年, 中国程序员们, 尤其是在 english 的交流能力普遍"刚好够用"情况下, 依然积累了大量的软件工程实践与思考, 在各自领域里"戴着枷锁跳舞"…
像 许世伟, 达达 , smallnest, astaxie, 毛剑… 等, 把自己在其他编程语言上的积累, 在 go 语言这一新兴现代编程语言下, 各自撸出了一个新世界:

许世伟, 以 go 为基础的 七牛云存储, go语言在中国最早最值得尊重的早期布道者
达达, 以 go 为基础的游戏后端,非科班出身的著名游戏公司CTO
smallnest, go 的 rpcx 远程调用中间件
谢大, beego, 很棒很全的web框架,其文档是golang 入门学习到商用的实践经典
毛剑, 以 go 重构后上市的 bilibili



还有很多, 很多, 不一一列示
以及, golangchina 中国区 golang 大会, 太棒了…
中国程序员们, 被 golang 解开了"枷锁", 在国际上发出了自己的声音!

赞!
_
赞!
_
赞!
_
1.5. go 很"火"(假像…), 但绝不是万金油
我想说的意思, go 有特定领域, 有优秀的地方, 但绝不是万金油.
看起来 go 在中国挺火, 这只是个假像.
尤其是 go 还太年轻, 成熟的通用库或架框很少, 很多应用得自己撸. -----> 这个, 看看 uber 就知道了, 自己撸了不少, 还开源了, 例如 uber 开源了自己撸的 zap 日志库, 性能强悍.
相对来说, java 的库与框架, 那是陈年老酒, 好得不得了.
还有 python, python 再优雅再易学, 终究还是那些神级的库让python 开发快人一步, 比如 sqlalchemy, 我的最爱.

事实上 go 在中国或世界范围, 并没有那么火, 但对比 java , go 也并没有那么不堪 .

为什么选择golang相关推荐

  1. 知乎社区核心业务 Golang 化实践

    背景 众所周知,知乎社区后端的主力编程语言是 Python. 随着知乎用户的迅速增长和业务复杂度的持续增加,核心业务的流量在过去一年内增长了好几倍,对应的服务端的压力也越来越大.随着业务发展,我们发现 ...

  2. PBFT -Golang实现详解

    PBFT -Golang实现详解 首相需要知道,PBFT算法的实现并不是听起来那么简单,我们通常听的这个算法的实现的的最为主要的,只是这种算法中的一个协议-----一致性协议. 另外还有检查点协议和视 ...

  3. 前端竟然用Golang 动态生成图片?

    作者:阅文前端团队 原文:https://mp.weixin.qq.com/s/0dWfL3ChIceH6rQ8-Oh6pg 一.背景 在业务需求中,根据返回数据动态生成图片分享是很常见的场景.比如在 ...

  4. Go 语言编程 — Overview

    目录 文章目录 目录 缘起 我们为什么选择 Golang? Golang 是云时代的宠儿! Golang 的吉祥物 Golang 的特性 语法简单 原生支持并发编程 内存分配 自动垃圾回收 使用静态链 ...

  5. Go语言在扫码支付系统中的成功实践

    今天的内容主要分四个方面.第一,金融支付系统的一些特点;第二,我们的扫码支付系统技术选型;第三,系统迭代过程中的架构演进;第四,与Go相关的一些坑. 金融支付系统的一些特点 图 1 首先从业务流程入手 ...

  6. 第二十五期:知乎用Go替代Python,说明了啥

    众所周知,知乎早在几年前就将推荐系统从 Python 转为了 Go.于是乎,一部分人就说 Go 比 Python 好,Go 和 Python 两大社区的相关开发人员为此也争论过不少,似乎,谁也没完全说 ...

  7. 舍弃Python,为什么知乎选用Go重构推荐系统?

    AI前线导读:知乎从问答起步,已逐步成长为一个大规模的综合性知识内容平台,截止目前,用户数突破2.2亿,有超过3000万的问题被提出,并获得超过1.3亿个回答.同时,知乎内还沉淀了数量众多的优质文章. ...

  8. go还是python 知乎_知乎用Go替代Python

    说不上哪个语言会比另一个语言更好.只能说某个语言在某个方面处理某些问题更具有优势吧. 大概每个开发人员应该都会认为自己使用的语言是世界最好的语言吧.这都相对来说的.对于每个人应该都是不同的. 众所周知 ...

  9. 我为什么选择Go语言(Golang)

    作为一个以开发为生的程序员,在我心目中编程语言如同战士手里的武器,好与不好主要看使用的人是否趁手.是否适合,没有绝对的高低之分. 从2013年起,学习并使用Golang已经有4年时间了,我想叙述一下我 ...

最新文章

  1. Find The Multiple POJ - 1426(只包含01的十进制倍数(同余模定理))
  2. hdu 2518 Dominoes
  3. 官方数据:5次SDN大会的背后
  4. python编程基础与应用-有哪些适合零编程基础的人学习Python的书?
  5. C++中的const成员函数
  6. linux中文件的编辑 写入 读取 光标的位置 以及相应的补充
  7. html左侧td字体居右,如何在td中控制字体右对齐 且加粗_html/css_WEB-ITnose
  8. Ⅳ:zookeeper的acl权限控制
  9. OpenCASCADE:形状愈合之修复
  10. HDU - 3987 Harry Potter and the Forbidden Forest(最小割最少边数)
  11. 破解MS Word 的只读密码限制
  12. 目录的操作 c# 1614532397
  13. 机器人参数校准的原理
  14. php.ini – 配置文件详解
  15. web前端入门到实战:HTML图像标签img和源属性src及Alt属性、宽高、对齐
  16. 教你制作Linux系统的安装盘
  17. 《遥远的救世主》遵守客观规律(五)——文化属性
  18. cmd如何远程重启服务器
  19. VL02N货物移动报错:消息号M7093 “对于移动类型643和账户XXX业务范围(033)的不同字段选择“
  20. switchport trunk native 的原理与作用

热门文章

  1. Chatbot 聊天机器人页面交互设计
  2. FBA海运是什么,FBA海运的优势是什么
  3. 三坟五典八索九丘四书五经
  4. 【allegro 17.4软件操作保姆级教程三】布局操作基础二
  5. Win flex-bison 的简单使用
  6. 5红5绿6蓝穿手链c语言,礼仪习题库(含答案)
  7. led显示屏p10参数设置_如何看P10显示屏参数
  8. CameraLink备忘录
  9. 如何去掉XP系统中文件夹的只读属性
  10. 【Android音视频开发】【032】Android从RTMP流中提取H264和AAC数据进行播放