1
bugfan 2022-08-04 15:15:41 +08:00
太 tm 合适了😊
|
2
keepeye 2022-08-04 15:16:06 +08:00
挺合适的啊,我都写了好几年了
|
3
dayeye2006199 2022-08-04 15:16:28 +08:00 via Android
啥需求?写的人啥水平?之前用什么比较多?
你这三无问题啊 |
4
fiypig 2022-08-04 15:16:35 +08:00
gin + gorm 就够了
|
5
ikaros 2022-08-04 15:18:12 +08:00
不合适, 建议 rust java
|
6
liaohongxing 2022-08-04 15:22:02 +08:00
高性能,高并发,你值得拥有
|
7
timpaik 2022-08-04 16:07:21 +08:00 via Android
go 生来就是干这个的
|
8
Bazingal 2022-08-04 16:15:15 +08:00
|
9
Kiriri 2022-08-04 16:21:06 +08:00 3
业务复杂不适合, 业务简单还可以
|
10
hex2en 2022-08-04 16:22:13 +08:00 4
业务性很重的不合适
|
14
rimutuyuan 2022-08-04 16:37:04 +08:00
b 站后端是 go ,如果你认为 b 站还不够复杂的话,那么 go 不适合 web 后端
|
15
wakaka 2022-08-04 16:37:51 +08:00
比较蛋疼,不如 js 。v8 的优化比 golang 好多了
|
16
cheng6563 2022-08-04 16:38:46 +08:00
良好吧,相比 python ,js 之类来说工程性会更好。但相对 java ,c#之类的缺少一些运行时特性要写更多重复代码。
|
17
blless 2022-08-04 16:46:40 +08:00
合适啊,越复杂越合适呢,毕竟 Go 没啥特殊的语法,也就协程比较麻烦一点。再复杂的东西,你用 Go 写也就那样,大部分人都能看懂,软件后续维护其实真的很重要。毕竟人都是流动的。
|
18
wdwwtzy 2022-08-04 16:47:41 +08:00
真不合适,各位不在推荐 go 来写 web 了,纯属添堵
|
19
wzw 2022-08-04 16:48:41 +08:00
|
20
Saxton 2022-08-04 17:01:21 +08:00
@rimutuyuan 說是在,B 站的业务不算很复杂
|
22
xiaoriri666 2022-08-04 17:25:07 +08:00
建议还是 PHP
|
23
lysS 2022-08-04 17:31:40 +08:00 1
5 楼,突然蹦出个 rust 。。。一下子没绷住
|
24
proxychains 2022-08-04 17:38:26 +08:00 2
@xiaoriri666 走出半生,归来仍是 PHP
|
25
james2013 2022-08-04 17:42:58 +08:00 3
go 挺合适的
java 都开发完了,go 还在造轮子 |
26
zhuweiyou 2022-08-04 17:43:42 +08:00
你是自己玩还是公司项目? 公司的你问这个问题说明你没决定权,洗洗睡吧. 要是自己玩的随便什么都行.
|
27
cmdOptionKana 2022-08-04 18:04:50 +08:00
自己玩很合适,主要是放在 VPS 里占用资源比较少。
|
28
ak918xp 2022-08-04 18:12:39 +08:00
Java 天下第一
|
29
nightsky 2022-08-04 19:12:47 +08:00 via iPhone 1
要不要试试 c#?
|
30
kerrspace 2022-08-04 19:29:23 +08:00
@lysS Rust 去招聘网站上搜一搜岗位很容易为零 我自学 Rust 都是为了增进 C++理解的 这语言还是慢慢来吧
|
31
zhch602 2022-08-04 19:29:42 +08:00 1
@rimutuyuan B 站业务也算复杂?
|
32
tairan2006 2022-08-04 19:31:32 +08:00 via Android
搞 b 端的不推荐,c 端的还行,有泛型之后也没那么麻烦了
|
34
ShuA1 2022-08-04 19:51:33 +08:00
业务复杂的就算了,不然需要自己写很多轮子
不像 java 下 Spring 一统天下 |
35
iseki 2022-08-04 20:15:01 +08:00 via Android
用 Kotlin 吧,可以摆脱冗长的 Java 和繁琐的 Go
|
36
iseki 2022-08-04 20:16:04 +08:00 via Android
@tairan2006 Go 的类型推导太弱了,泛型还是差点意思
|
37
lixintcwdsg 2022-08-04 20:17:03 +08:00
你要是就写写业务,java 最方便。
因为写业务涉及到的方方面面,比如权限配置管理啊之类的乱七八糟的,java 这边基本都有标准实现,并且稳定多年运行功能都够用。 go 就是很多方面要么没有,要么没有标准实现,你说能写吧都能写,但是要自己耗费精力 相似的就是 goframe ,但是这也是山寨版的 spring boot 细节上差很多东西 |
38
PamelaKevein 2022-08-04 20:21:23 +08:00 via iPhone
不能再合适
|
39
iseki 2022-08-04 20:25:05 +08:00 via Android
反正都一样,go 写就是繁琐,语法糖少,不熟悉容易写出 bug 。Kotlin 就是你得先熟悉了才能写🤣
|
40
jinweijie 2022-08-04 21:11:49 +08:00
业务复杂的话不合适。
|
41
idblife 2022-08-04 21:13:51 +08:00
可以考虑用 python 啊
django 自带电池 |
42
pkwenda 2022-08-04 21:21:26 +08:00
小项目绰绰有余,简单粗暴部署快
|
43
reter 2022-08-04 21:24:53 +08:00 via Android
我目前就在用 go 写业务,说实话,不合适。虽然是强类型,但是类型系统弱,需要写大量的代码去处理类型 /数据结构上的转换和封装,判断 err ,判断 nil ,语法糖基本没有。
|
44
sudoy 2022-08-04 22:05:12 +08:00
熟悉就合适吧
|
45
securityCoding 2022-08-04 22:15:39 +08:00 via Android
qq 后台基本都在用 go 了
|
46
28Sv0ngQfIE7Yloe 2022-08-04 22:23:59 +08:00
如果是调包侠建议 java ,心智负担低一些
|
47
ChrisCyler 2022-08-04 22:46:45 +08:00 via Android
我觉得挺合适的,当然你得写的多,能有自己一套的脚手架之类的,总之我是 java 换过来的,其中一个重要的理由就是轻量级,性能又还可以,upx 压缩一下,二进制包也就那么几 m ,反正我是觉得开发 web 在某种程度上是可以提高开发效率的,我现在也是把 java 那套能复用的慢慢 copy ,不能就 grpc 处理,不过泛型啥的还是比较蛋疼,工程管理,本地包管理啥的确实有缺陷 go work 也不是那么好用,编译器只能等官方慢慢更新优化了,但是写并发代码是真简单
|
48
Kaier 2022-08-04 22:50:37 +08:00
|
49
EminemW 2022-08-05 00:29:36 +08:00
你会发现大部分时间在找轮子和造自己的轮子
|
50
yedanten 2022-08-05 01:07:12 +08:00 via Android 1
拱火:合适!非常合适,为 go 在 web 开发领域提供发展贡献吧!( doge
|
51
frankies 2022-08-05 02:36:09 +08:00 via Android
nestjs
|
53
neptuno 2022-08-05 09:20:26 +08:00 via iPhone
@proxychains #24 谢谢提醒,少走 50 年弯路
|
54
AlpacaCode 2022-08-05 09:33:23 +08:00
5 楼,突然蹦出个 rust 。。。一下子没绷住
|
55
lionel0806 2022-08-05 09:37:10 +08:00
太合适不过了,从工程角度,代码维护角度都很合适,爽的一批
|
56
lionel0806 2022-08-05 09:39:22 +08:00
哪些说复杂业务不适合用 Go 的,请问你们的业务有 Kubernetes ,Docker 这些复杂吗?
|
57
wangnimabenma 2022-08-05 09:44:53 +08:00
我打 PHP 不香?
|
58
KevinBlandy 2022-08-05 09:46:12 +08:00
刚被 golang 循环依赖气得罢工摸会儿鱼上 V 站就看到这个贴。
|
59
lizuoqiang 2022-08-05 09:46:56 +08:00
@lionel0806 有没有可能是 go 写 curd 很难受
|
60
sep9999 2022-08-05 09:47:44 +08:00
@wangnimabenma 钱少[大哭]
|
61
samin 2022-08-05 10:00:56 +08:00
Java 适合写 Web 吗 ?
Java Web / Go Web / PHP Web / Python Web .... |
62
code4you 2022-08-05 10:02:13 +08:00
只要能挣钱 asp 都行 😁
|
63
wangnimabenma 2022-08-05 10:03:34 +08:00
@sep9999 #60 瞎说什么实话
|
64
wtfedc 2022-08-05 10:08:36 +08:00
web 业务特点,多是处理 http 请求,入参写各种结构,确实有点繁琐。但是性能方面表现好,语法对并发也很友好。
|
65
2kCS5c0b0ITXE5k2 2022-08-05 10:09:22 +08:00
高情商: 未来可期.
|
66
suofeiya 2022-08-05 10:17:21 +08:00
新秀 Carbon:都闪开,让我来.🤣
|
67
stevenbipt 2022-08-05 10:25:31 +08:00
生态不好,好多轮子都没有或者没经过长时间的验证,其他倒是没啥
|
68
lizhisty 2022-08-05 10:25:58 +08:00
@KevinBlandy 循环依赖是代码结构设计问题
|
69
witcherhope 2022-08-05 10:33:37 +08:00
|
70
NaVient 2022-08-05 10:37:41 +08:00
腾讯 字节 b 站后端都有在用 Go 吧,说写复杂业务不合适的,贵司能达到这几家业务的复杂程度吗?
|
71
gam2046 2022-08-05 10:37:53 +08:00
以前是 Java ,新手 go 的水平。
个人感觉 go 更适合中间件开发,业务逻辑过多的,go 相比较而言,不如其他已经成体系的语言。 go 更适合偏向算法类或者纯 IO 密集型,繁重的业务逻辑会让 go 并不太好维护,当然啦,更多是我水平不够。 |
72
Yeen 2022-08-05 10:42:40 +08:00
nodejs 搞定一切
|
73
dog82 2022-08-05 10:45:42 +08:00
前一两年对接微信支付,官方文档提供了 java 样例代码也就十几分钟就通了,go 折腾了半天
|
74
iosyyy 2022-08-05 10:48:58 +08:00
@NaVient 有用不代表能接受复杂业务 另外腾讯后端主要是 c++ b 站用后端主要是 b 站最开始用的 php 写的后来用 go 重构 go 本身的简单才是 b 站选择 go 的原因 这样能快速把现有的 phper javaer 都转换为 go
|
75
lancelock 2022-08-05 11:06:13 +08:00
一般 最近再把我的个人项目从 go 迁移到 c#
|
76
stoluoyu 2022-08-05 11:15:30 +08:00
我投 rails 一票(逃
|
77
fuxkcsdn 2022-08-05 11:25:37 +08:00 1
@lionel0806 有没有考虑过人家说的业务复杂是说有很多 多表 多源 的 sql 查询,然后一大堆外部 api 需要调用
然后一个报表今天写完明天要改的那种复杂 |
78
snowlyg 2022-08-05 11:34:34 +08:00
php ,快上车没时间解释了
|
79
mingsz 2022-08-05 13:41:54 +08:00
建议 Rust 🐶
|
80
jackliang007 2022-08-05 14:26:09 +08:00
非常合适
|
81
zh6335901 2022-08-05 14:56:54 +08:00 2
很多人搞错一点,业务复杂度不等于解决方案的复杂度。互联网大厂的某些项目可能业务不是很复杂,但是因为高负债、高并发等非功能需求导致解决方案实现复杂,这种项目可能 go 是比较合适的。但是如果业务逻辑本身的复杂度很高的项目,可能 go 就不如 c#、java 合适了
|
82
kkbblzq 2022-08-05 15:27:18 +08:00
go 写业务最大的问题其实还是生态环境不够完善吧,比如之前要搞工作流引擎,最后发现 go 这边没有成熟的方案,而 java 有 Activiti 啥的,就连 bpmn 在 go 这边也只有很原始刚开始做的库,那没办法,就只能自己造轮子了
|
83
Ufo666 2022-08-05 15:30:24 +08:00
那 go 主要用来干嘛??
|
85
xiaotianhu 2022-08-05 16:09:34 +08:00
@NaVient 微服务噢。
比如说我司,一个 CRUD 业务,基本上可以说就是 1-3 个写入接口这种业务复杂度吧。 后端拆成 10 个左右的项目,有负责热数据的,冷数据的,proxy ,统计,等等。 这样每个项目复杂度就下来了,用 go 就合适。 但是我司基础设施牛逼啊,切流,身份验证,负载均衡,文件系统什么的 都是现成的。 如果你都写在一起,就不好玩了。 |
86
redvoilin 2022-08-05 16:36:45 +08:00
@lionel0806 这是业务系统?
|
87
redvoilin 2022-08-05 16:38:37 +08:00
go 写业务系统纯粹是给自己添堵,go 的设计目标是开发一些基础组件的
|
88
pastor 2022-08-05 16:59:40 +08:00
在新业务没有历史包袱、并且能够实现人力招聘的前提下,大厂都在拥抱 go ,只剩下半桶水程序员还在吵吵不适合
|
89
pastor 2022-08-05 17:00:58 +08:00
很多人怕是不知道某些大厂内部的 java 基础设施有多么让人作呕。
没错,我说的就是阿里之流 |
90
javaisthebest 2022-08-05 17:38:26 +08:00
|
93
pastor 2022-08-05 19:04:51 +08:00
@javaisthebest 丰富完善能罩得住业务,但是太丑陋了,让人作呕是因为太丑不是它不丰富不完善。另外,好多阿里同学自己吐槽他们内部框架臃肿不堪、性能低下。
我不知道兄弟你是不是阿里的或者是哪个部门的,或许你见过的阿里的东西比较好?能否推荐个我去学习下,免得我也被各种阿里同学或者非阿里同学整天骂阿里的 KPI 开源误导了(不过我看过一些阿里的开源,确实挺让人作呕的)。就是因为听说了这么多,所以阿里的哥们想内推挖我都直接拒绝了,审美取向不合。。。 |
94
pastor 2022-08-05 19:06:51 +08:00
@redvoilin 很多团队还真没怎么用对 go 。尤其历史包袱重的团队,或者比如 php java 转 go 的同学,我并不是鄙视 phper javaer ,而是因为以前积累的基本功造成的技术栈审美取向与 go 确实有较大不同,所以就像很多人喷 go 一样,gopher 也喷绝大多数其他语言的解决方案
|
95
saucerman8 2022-08-06 12:48:40 +08:00
上份工作是用 gin 写过 web ,感觉生态还不是很全,业务逻辑复杂的时候,要自己写的逻辑比较多,比较累,但是运行速度效率这方面没什么问题。
|
96
sjmcefc2 2022-08-07 00:39:18 +08:00
看下来还是 java 一桶天下啊,都是框架了
|
97
xsen 2022-08-07 16:08:46 +08:00
路过,还是想问下说业务复杂的各位,
除工作流之外,正心请教还有哪些属于各位说的复杂的业务? 当然,若是没用微服务来拆,一把梭哈做个复杂的单体应用——这样的情况不用回答,我承认是非常复杂 |
98
xsen 2022-08-07 16:10:55 +08:00
另外,对于某些说 go 的基础设施不齐全之类(如限流、监控、负载均衡、调用链等),
真心建议去了解下 k8s ,还有服务网格 |
99
RedisMasterNode 2022-08-07 16:46:13 +08:00
@lizuoqiang 不可能,基本都是需要一套脚手架+代码生成工具+ bla bla bla ,纯 CRUD 自己要做的事情可少了。可能不比成熟的语言快,例如 php 、python 、java ,但是开发效率肯定不慢....
|
100
a132811 2022-08-09 22:58:38 +08:00
我们组的后端基本是 go ,比 python 好维护太多了,比 java 代码少且好读
不用太担心泛型不够用、重复的代码、性能不够、生态,uber 和字节都大规模的使用,反正造轮子、看第三方包源码都很方便。 现在基本不用自己造轮子了,先看看这里 https://github.com/avelino/awesome-go 我最喜欢的,松散的 package/struct method 等设计,重构代码、组合代码、测试代码都太方便了,几乎是一行流、一键完成,修改调整文件名都不需要重构代码本身 |