1
SurfaceView 2019-05-23 10:19:58 +08:00 1
知乎 从 python -> go
|
2
messyidea 2019-05-23 10:21:03 +08:00 1
字节跳动也是主 golang 了
|
3
linxl 2019-05-23 10:22:42 +08:00
b 站, 虽然不知道以前是啥
|
4
a7029508 2019-05-23 10:23:12 +08:00
bilibili 泄露的 go 用来做什么的代码
|
5
f1ren2es 2019-05-23 10:26:44 +08:00
火星救援,幻电重工对 Go 开源界做了很大贡献
|
6
coolbit 2019-05-23 10:35:18 +08:00
根据对外发布信息的了解,BAT 中均有核心应用使用 golang 作为开发语言,分布在流量入口 API 网关(B 的 BFE),RPC 框架,容器以及容器调度等领域
|
7
cookey39 2019-05-23 10:35:31 +08:00 3
emm......我个人虽然不看好 go,但它的确一点点蚕食 java 和 c++ of web 的份额
七牛和哔哩哔哩的主要就是 go 写的吧,b 站用 go 重构之后的确晚上八点之后服务器再也没挂过,虽然用 java/scala 重构效果也一样吧........可是至少证明 go 在工程领域和 java/scala 是一样可用的.... |
8
supuwoerc 2019-05-23 10:54:26 +08:00
前段时间的 B 站泄露啊,七牛什么的都是吧,最近也在学习 Golang
|
9
yuankui 2019-05-23 11:03:23 +08:00
还是 Java+Spring+Reactor+Netty 香~
|
10
araraloren 2019-05-23 11:06:09 +08:00 1
别用了,改天美国就发禁令让谷歌禁止我们使用 go 了 :D
|
11
lhx2008 2019-05-23 11:09:20 +08:00
B 站,知乎,字节跳动,网易娱乐( Web 后端),腾讯(很多新业务已经用 Go 替代 C++),阿里中间件,七牛
|
12
lihongjie0209 2019-05-23 11:12:21 +08:00 7
你用的 go 和大厂用的 go 是两个概念
|
13
GTim 2019-05-23 11:13:36 +08:00
人家字节跳动的飞聊都用上 Rust 了
|
15
SimbaPeng 2019-05-23 11:21:11 +08:00
@lihongjie0209
你用的所有语言都和大厂是两个概念 |
16
DomonLee 2019-05-23 11:21:22 +08:00
前两天泄漏的是哪家?
|
17
windyboy 2019-05-23 11:26:23 +08:00
了解下 k8s
|
18
askfilm 2019-05-23 11:27:52 +08:00
你用的 go 和大厂用的 go 是两个概念 +1
|
19
66beta 2019-05-23 11:28:16 +08:00 via Android
美团
|
20
passerbytiny 2019-05-23 11:28:36 +08:00
@cookey39 #7 c++ of web 是个什么鬼?另外没事别乱下结论,java web 不用蚕食,原本就没份额。
|
21
version 2019-05-23 11:31:22 +08:00
go 处理特定需求才会使用的了..语音.socket.高 io 的等
普通业务哪个语言快还是哪个..中间老早是网关串联.rpc 低成本快速开发.就是 nodejs + php +第三方服务 也是未来趋势 别看那么多吹逼的..在国内还是很多小团队.小企业.的..不是哪个企业都能支撑几百的开发人员..每月 100 万的技术部工资..和高并发.. 哪个省钱易迭代就是趋势..只有技术高低的开发人员.没有语言上的高低之分.. |
22
chikang 2019-05-23 11:56:05 +08:00
google 开始对国内禁用 go.... 或者对国内收费
全都得完 |
23
testeststs 2019-05-23 12:05:21 +08:00
@cookey39 不看好的理由能说下嘛
|
26
mikulch 2019-05-23 12:08:11 +08:00
go 这个语言现在有没有出现各种应用层面的最佳实践?要是没有最佳实践,那写起来维护起来很累的。
|
27
qianyiyu98 2019-05-23 12:11:34 +08:00
@kevinlm OpenJDK 不收费,OracleJDK 收
|
28
Muninn 2019-05-23 12:15:48 +08:00
用过都说好。
看看上个月 gopher china 的赞助名单。 在中国大厂小厂用 go 的真的是很多了。 当时比较惊奇的是 滴滴也是大量使用 go 了。 东南亚那个 grab,基本全是 go 写的。 用 golang 在 web 方面,已经是很成熟了。大数据和人工智能还是没干过 python+c+java ,轮子都还是残的。 |
29
impl 2019-05-23 12:16:16 +08:00 via Android
go 简单,上手容易,好招人,估计以后满大街
|
30
Weixiao0725 2019-05-23 12:45:50 +08:00
@GTim 这个厉害了,是真的吗
|
31
blless 2019-05-23 12:48:19 +08:00 via Android
我觉得 php 要凉
|
33
heimeil 2019-05-23 13:01:01 +08:00
@Muninn 滴滴早就把 Go 作为主力了,之前有一次的 GopherChina 就说过他们公司有 2000 多位 Go 开发人员
|
35
abcbuzhiming 2019-05-23 13:03:04 +08:00
你熟悉 go 后就会发现 go 这玩意开发起来的手感就像 C,不过比 C 还简单。不过我个人觉得这东西目前还是不适合做 web,适合做更核心一点的功能,而不太适合业务层,因为没有包管理。所用的引用都是源码编译
|
37
qiaobeier 2019-05-23 13:07:50 +08:00
go 做 RTB 服务器,业务还是 php
|
38
lincanbin 2019-05-23 13:12:59 +08:00 via Android
腾讯的一些部门也开始 cpp 转 go 了,不过目前还在重构期,一些部门倾向于招两种都会的。
|
39
mikej 2019-05-23 13:29:14 +08:00
嘿嘿,打个广告,我司也用 Golang 来构建核心的后端服务,现在急缺靠谱的 Gopher,传送门: https://www.v2ex.com/t/553629
|
40
iwtbauh 2019-05-23 13:31:46 +08:00 via Android
|
41
fancyhan 2019-05-23 13:36:55 +08:00
bilibili,连代码都开源了
|
42
SwagXin 2019-05-23 13:41:59 +08:00
华尔街见闻用 go 重构,不过不算大厂
|
43
zjsxwc 2019-05-23 13:51:09 +08:00
Go 语言的 Web 开发仍旧处在小众地位,
有大厂开始用 Go 开发服务器了 |
44
looking0truth 2019-05-23 14:01:14 +08:00
不知道大厂怎么衡量 上海那边头条,bilibili,滴滴,各种云,中通(偶然发现的 这个应该不算互联网公司吧 /手动滑稽)
|
45
guyeu 2019-05-23 14:10:08 +08:00
|
46
AndyMephisto 2019-05-23 14:30:04 +08:00
我这里 python + go python 做应用 go 做数据库
|
48
usingnamespace 2019-05-23 14:51:25 +08:00 via iPhone
@huiyifyj 不 rust 没有基本 完全主 go
|
49
usingnamespace 2019-05-23 14:54:02 +08:00 via iPhone
@looking0truth 估值超过百度就行 哔哩哔哩不行 估值起码得 700 亿以上
|
50
iPhoneXI 2019-05-23 14:54:17 +08:00
小公司 主 python,java,有一些服务用 go
|
51
flxxy 2019-05-23 15:15:51 +08:00
因为 gin 好用啊 (逃
|
52
libook 2019-05-23 15:35:19 +08:00
旧有的特别是大型的项目往往迁移成本高,所以现在用 Go 的一般都是新项目,特别是新成立的企业用的比较多。
https://en.wikipedia.org/wiki/Hype_cycle 个人感受是 Go 是在第二阶段到第三阶段之间,过了第三阶段应该就会有越来越广泛的应用了(也可能不会)。 我们公司 2013 年成立,现在 500+员工,目前是多半 Node.js+少半 Go,也有其他语言的项目。 字节是新厂,扩张超快,听说是主 Go,不过也在招聘 Node.js 和 Rust,其实没有任何一门语言是万能的,一家成熟的公司的业务也不可能只靠一种技术栈支撑,比如一家企业是 Web+人工智能+大数据,那至少同时在用 3 种语言。 Rust 目前处于第一阶段,生态和特性远不及 Go,不过先天条件很好(给人非常“现代化”感觉的一个语言),坐稳系统开发的阵地,未来在 Web 服务、中间件和 DevOps 领域可能可以和 Go 竞争(也可能不会)。 |
53
releaseme 2019-05-23 16:37:02 +08:00
新时代的 php
|
54
rockyou12 2019-05-23 16:59:38 +08:00
web 层,rest 接口这些小公司还是别用,一没这个性能需求,二开发难度比 java+spring 还是 php 那些差太多。如果 go 以后能有 java 的注解这种东西(可能不会有,毕竟会多很多魔法),包管理做好一点,也许能成为 web 开发一哥
|
55
cookey39 2019-05-23 17:06:50 +08:00 via Android
@passerbytiny 我看了下您之前评论,净是抬杠的,所以本来我不想回复你。我说的 c++ of web 是 c++的 web 编程,可不要说你不知道 c++的 web 编程。还有您的表达,java 在 web 领域没有市场份额,那纯粹就是为了满足你自己为喷而喷的欲望而胡扯了。还有这不是我下的结论,很多公司在高并发都换成了 go,选择性失明?
|
56
brust 2019-05-23 17:07:21 +08:00
java 有 spring,请问 go 有什么惊艳的框架吗
|
57
cookey39 2019-05-23 17:07:55 +08:00 via Android
@releaseme 新时代的 php 是 python,go 这种编译语言可能勉强算是新时代的 java 吧
|
58
BCy66drFCvk1Ou87 2019-05-23 17:11:22 +08:00 via Android
用过都说好
|
59
BCy66drFCvk1Ou87 2019-05-23 17:11:54 +08:00 via Android
@brust gin、iris、beego ……
|
61
passerbytiny 2019-05-23 17:51:45 +08:00
@cookey39 #53 如果你这个“ Web ”,指的是网络编程,那跟 C++、Java 一起说是没问题的。问题是:你前面和你举的例子——知乎、字节跳动、b 站、七牛——对应的 Web 可不是网络编程,是网站或网站的后台程序的编程,这个范围 C++ 、Java 都是类库级别的,做比较太掉价。
还有,我所有的话都是在反驳你“但它的确一点点蚕食 java 和 c++ of web 的份额”这一点。网站或网站的后台程序的编程,Java 和 C++ 根本就不屑于比较份额。既然你的理解是网络编程而不是网站编程,那么我就换一种说法:网络编程是一种技术,哪里有份额的说法? 最后再问你一句,你说我选择性失明,那你倒是说一些从 Java 或 C++ 换成 go 的案例出来。 |
63
Hanggi OP 我只想知道选择 Go 语言开发的优势是什么。跟其他主流 web 服务语言相比,在开发,维护,扩展大项目有什么优势。
|
64
gxm44 2019-05-23 19:17:49 +08:00
感觉大部分都在用 Go 做微服务,前面挂 Restful 的 API gateway, 对于大型 Web App 这个领域,Java 现在应该是绝对的王者吧。
|
65
Actrace 2019-05-23 19:25:53 +08:00
Go 一般用来做中间件不错。PHP 适合开发网站和处理复杂业务。Python 是科学计算以及时下热门的机器学习。
各种各样的生态圈,决定了各种各样匹配的场景。 作为架构师或者软件工程师,一定要明白什么语言适合用在什么场景,而不是用喜欢的语言做所有的事情。 |
67
chenhui7373 2019-05-23 19:31:11 +08:00
@version 为什么不是 php + golang,或者 node + golang ?
|
68
skadi 2019-05-23 19:33:04 +08:00 via iPhone
go 求个高级坑位
|
69
nonprocoder 2019-05-23 19:35:56 +08:00
@passerbytiny 不用咬文嚼字了,你说网络编程是一种技术,这种技术也有很多实现方式,可以是 Java、c++、go,现实情况就是用 go 的公司越来越多了,本来只能用 Java 或 c++的,现在可以用 go 了,不一定非要从 Java 或 c++转成 go
|
72
hareandlion 2019-05-23 19:58:33 +08:00 via Android
golang 这种没有通用的编程规范,相同的功能不同人写出来的代码可能完全不同吧
|
73
picone 2019-05-23 20:03:07 +08:00
百度接入层网关用 Go
|
74
zhixuanziben 2019-05-23 20:04:24 +08:00
@huiyifyj 字节跳动主力语言是 go,rust 很少,没怎么见过人用。
|
75
zwh2698 2019-05-23 22:19:54 +08:00 via Android
关键是 godoc 上很多库都是 bug 一堆,和 c 的标准库的质量没有办法比。这是我纠结的地方。
|
76
mornlight 2019-05-23 22:47:17 +08:00
@hareandlion #72 你这个应该是理解反了,对 Golang 熟练工们来说,同样的逻辑写出来的代码几乎一致。
两个原因:Go 自带一套略强迫症的代码规范;一个功能往往只有一种最佳实现方式。 |
77
agdhole 2019-05-23 22:52:06 +08:00 via Android
golang 做 web 相比 java dotnet core 有点在哪里?无脑 allin ?
|
78
acehow 2019-05-23 23:23:51 +08:00 via Android
golang 现在发展的挺好的。简单,高效,代码格式统一。而且也有比较完善的生态。k8s 和 docker 都是用 go 开发的。语言层面有天然的并发优势,很适合做互联网后台开发。
|
79
blless 2019-05-23 23:26:53 +08:00 via Android 4
@Hanggi
对比 php python js go 是静态编译语言,安全性高,性能强,原生并发,开发效率差但也不低 对比 c++ 就是自带 gc 开发效率高,性能也能接受,不用管理内存 对比 rust 我觉得语法简单很多,门槛低 对比 java c#就是静态编译了,不需要环境 然后就是对以上所有语言来说,go 编码规范工具链几乎都有官方约定,工程性相当不错,项目管理需要的组件几乎都自带了。 就像前面说的,其他语言能写出多样的代码,go 基本只能写出一种,比如循环,大家写出的都是类似的。 扩展性的话,因为接口没有显示继承,所以如果模块都以接口实现,我觉得解耦跟扩展都不错。 我个人还觉得 go 写的代码跨平台是最舒服的…几乎没遇到平台性 bug …以前写 python 有些库 win 上装起来真的是吐血 |
80
abcbuzhiming 2019-05-23 23:50:09 +08:00
@blless 我觉得 go 什么时候能把包管理解决了,它就没啥缺点了,目前那个 src path 真是让人很不舒服
|
81
abcbuzhiming 2019-05-23 23:53:33 +08:00 2
@agdhole java 做 web 现在眼光看,真 tm 重。
.net core 我觉得目前发展的挺好,做 web 非常舒服 go 目前的开发流程,还是更接近 C 这种纯粹编译源码的方式,虽然它确实编译快。但是应用级的开发,其实是很依赖包管理器的。所以我个人觉得 go 目前还是更偏向靠后一点的地方,现在大部分公司用它也是做中后台的 rpc 服务,并没有让它用在直接面对前端的前台。 |
82
herozzm 2019-05-23 23:59:21 +08:00 via iPhone
好不好我不敢断言,我只问一个问题 gp web 的模版真的 tm 难用,和 php 直接嵌入 php 语法不是一个档次,有好用的推荐吗?
|
84
scnace 2019-05-24 00:02:36 +08:00 via Android
@blless 只是你没遇到罢了 os 包里面很多对 win 支持都不好(所以会有很多 build 都指定 GOOS
|
85
scnace 2019-05-24 00:04:00 +08:00 via Android
从我刚来 v 站的时候 v 站开始有 go 的节点 现在我已经连续签到满 1000 天了(
|
86
meteor957 2019-05-24 00:05:53 +08:00 via Android 1
同问 go 有什么类似 spring boot 之类的框架吗 或 最佳失恋?难道都是 gin
|
87
meteor957 2019-05-24 00:06:13 +08:00 via Android
同问 go 有什么类似 spring boot 之类的框架吗 或 最佳实践?难道都是 gin
|
88
Wolfsniper 2019-05-24 01:12:00 +08:00
我记得七牛是用 Go 写的吧?以前印象中,七牛的人主导了国内的 Go 社区,经常做布道
|
90
lxml 2019-05-24 03:31:35 +08:00
@abcbuzhiming #80 go mod 挺好用的啊,go 1.13 马上就设置成默认模式了,现在 go 1.12 也足够好用
|
92
kiddingU 2019-05-24 09:04:11 +08:00
@abcbuzhiming go mod 了解一下
|
93
lj3lj3 2019-05-24 09:14:41 +08:00
Go 的包管理 mod 已经不算难用了 不要求放到 GOPATH 里
语法层面的 goroutine 很方便支持并发 而且开销很小 channel 同步 goroutine 太顺手 语法简单 只是不是纯面向对象( struct )的 写法很多 这点有利有弊 编译之后直接放到客户那就可以跑 可以不需要 docker 上线 Web 框架 ORM 百家争鸣 IOC 貌似没有发现和 Spring 相并论的?( Google 的 wire ? Uber 的 dig ?请赐教) Java 一把梭 PHP 一统天下 Go 暂时还没有这么强大的利器 Nodejs,Python Django 看过一点 不熟悉 Java Spring 生态没得说 Java 写起来有点啰嗦 Kotlin 还好点 再好像也挑不出啥大问题 就是感觉没啥激情 目前 Go 写 RESTful PHP 写管理后台 JS ( Vue )写前端 |
94
mengzhuo 2019-05-24 09:49:08 +08:00
深圳某鹅:
你们能见到的不少产品已经是 Go 在支撑了,只是现在各个部门都热衷于造框架轮子(日常赛马+蜜汁框架热情 Python 类框架一般做后台管理工具、脚本这类 Java 系的有少数部门在用,不过也在迁 Go ----------------------- 但大多数是祖传 C++, 谁叫我厂蜜汁热爱 C++(摊手 |
95
tinybaby365 2019-05-24 09:54:09 +08:00 3
曾经做得一个比较失败的决定是:团队选择 Golang 和 Java 谁作为标准语言的时候,我投了 Golang 一票。结果时大家老是造一些 Java 10 年前已经有的轮子……
* 没有泛型,和 C++比没 STL,和 Java 比没 Collections,没类似 Guava 这样的增强库 * 反射太弱了,没有注解,造轮子也不方便,有的时候还要用 AST * cgo 看起来很美好,因为语言设计得太简单,C 的代码是要写在注释里面的…… * 工程结构都没有一个强约束,结果是业务项目各自独立 GOPATH,内部公共库又是开源风格 * dep,govendor,还有 go gradle ……,到达哪个是事实标准? * 最大的问题:要靠自我约束才能写出看起来不乱的代码,不同水平的程序员没法写出相似水准的代码 我现在的认识,golang 适合做基础的,面向实现的领域,如:云原生平台的实现,取代 C/C++程序,或扩展 C/C++程序,未来还要看 Rust 的脸色,例如:TiDB 里面的分布式 KV 存储。 语言没有贵贱高下,只有在当前场景是是否合适之说。 |
97
CuChulainn 2019-05-24 10:05:42 +08:00
写 java 的发现 go 似乎没有那种 ioc 框架..为啥?
|
98
blless 2019-05-24 10:34:06 +08:00 via Android
@CuChulainn go 语言反射有点弱鸡,不能通过类名反射,接口没有显示继承,所以依赖注入很麻烦。
|