Go 语言的 Web 开发处在什么地位了,有没有大厂开始用 Go 开发服务器了。

2019-05-23 10:11:55 +08:00
 Hanggi
如果与 Nodejs,Python Django,Java Spring 等热门服务端开发技术相比,处于什么地位呢?
有没有比较新比较直观的比较?
17807 次点击
所在节点    Go 编程语言
105 条回复
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 的案例出来。
vanxy
2019-05-23 17:59:09 +08:00
@chikang #22 golang 是开源的
Hanggi
2019-05-23 18:48:58 +08:00
我只想知道选择 Go 语言开发的优势是什么。跟其他主流 web 服务语言相比,在开发,维护,扩展大项目有什么优势。
gxm44
2019-05-23 19:17:49 +08:00
感觉大部分都在用 Go 做微服务,前面挂 Restful 的 API gateway, 对于大型 Web App 这个领域,Java 现在应该是绝对的王者吧。
Actrace
2019-05-23 19:25:53 +08:00
Go 一般用来做中间件不错。PHP 适合开发网站和处理复杂业务。Python 是科学计算以及时下热门的机器学习。
各种各样的生态圈,决定了各种各样匹配的场景。
作为架构师或者软件工程师,一定要明白什么语言适合用在什么场景,而不是用喜欢的语言做所有的事情。
ww2000e
2019-05-23 19:26:29 +08:00
@linxl b 站以前用 php 一个 cms 系统改改就弄出来的,后来转成 go 的
chenhui7373
2019-05-23 19:31:11 +08:00
@version 为什么不是 php + golang,或者 node + golang ?
skadi
2019-05-23 19:33:04 +08:00
go 求个高级坑位
nonprocoder
2019-05-23 19:35:56 +08:00
@passerbytiny 不用咬文嚼字了,你说网络编程是一种技术,这种技术也有很多实现方式,可以是 Java、c++、go,现实情况就是用 go 的公司越来越多了,本来只能用 Java 或 c++的,现在可以用 go 了,不一定非要从 Java 或 c++转成 go
mritd
2019-05-23 19:37:04 +08:00
@chikang #22 这么想...我们都得去用 易语言
mangogeek
2019-05-23 19:51:23 +08:00
@chikang 哪天 x86 指令集和 windows 不让你用了不也得玩完?别说这些没用的。
hareandlion
2019-05-23 19:58:33 +08:00
golang 这种没有通用的编程规范,相同的功能不同人写出来的代码可能完全不同吧
picone
2019-05-23 20:03:07 +08:00
百度接入层网关用 Go
zhixuanziben
2019-05-23 20:04:24 +08:00
@huiyifyj 字节跳动主力语言是 go,rust 很少,没怎么见过人用。
zwh2698
2019-05-23 22:19:54 +08:00
关键是 godoc 上很多库都是 bug 一堆,和 c 的标准库的质量没有办法比。这是我纠结的地方。
mornlight
2019-05-23 22:47:17 +08:00
@hareandlion #72 你这个应该是理解反了,对 Golang 熟练工们来说,同样的逻辑写出来的代码几乎一致。
两个原因:Go 自带一套略强迫症的代码规范;一个功能往往只有一种最佳实现方式。
agdhole
2019-05-23 22:52:06 +08:00
golang 做 web 相比 java dotnet core 有点在哪里?无脑 allin ?
acehow
2019-05-23 23:23:51 +08:00
golang 现在发展的挺好的。简单,高效,代码格式统一。而且也有比较完善的生态。k8s 和 docker 都是用 go 开发的。语言层面有天然的并发优势,很适合做互联网后台开发。
blless
2019-05-23 23:26:53 +08:00
@Hanggi
对比 php python js go 是静态编译语言,安全性高,性能强,原生并发,开发效率差但也不低
对比 c++ 就是自带 gc 开发效率高,性能也能接受,不用管理内存
对比 rust 我觉得语法简单很多,门槛低
对比 java c#就是静态编译了,不需要环境

然后就是对以上所有语言来说,go 编码规范工具链几乎都有官方约定,工程性相当不错,项目管理需要的组件几乎都自带了。
就像前面说的,其他语言能写出多样的代码,go 基本只能写出一种,比如循环,大家写出的都是类似的。

扩展性的话,因为接口没有显示继承,所以如果模块都以接口实现,我觉得解耦跟扩展都不错。

我个人还觉得 go 写的代码跨平台是最舒服的…几乎没遇到平台性 bug …以前写 python 有些库 win 上装起来真的是吐血
abcbuzhiming
2019-05-23 23:50:09 +08:00
@blless 我觉得 go 什么时候能把包管理解决了,它就没啥缺点了,目前那个 src path 真是让人很不舒服

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/566837

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX