![]() |
1
wxw752 43 天前
高大全和简洁不可兼得。你的一个注解搞定,也是站在前人大量代码的肩膀上了。
|
![]() |
2
fenglangjuxu 43 天前
是这样的感觉 go 基本什么都要自己手动搓 不过这个时候 就得去找 有没有比较好的轮子
但是 java 这样 容易把人搞废 什么都帮做了 但是内部怎么实现的 深层次的东西 就很难知道了 |
![]() |
3
Gilfoyle26 43 天前 ![]() |
4
hwdq0012 43 天前
@Gilfoyle26 #3 这么好用的语录我必谪抄
|
![]() |
5
AoEiuV020JP 43 天前 ![]() 只是离开舒适区不适应了, 和 go/java 无关,
|
![]() |
6
insert000 43 天前
php-laravel 、java-springboot 、go-gin+gorm 都写的人来看,用注解来实现逻辑,不就是 go 的 web 的 middleware 么?
|
7
YetToCome 43 天前
别说 go 了,哪怕是离的近的 kotlin 离开 spring ,都很难有那种导包就能完成需求的快感。
不过最近为了简洁,基本语言框架新的风格都是 go 这个玩法。 |
![]() |
8
Reficul 43 天前 ![]() 要不然咋说 Java boy 离开 Spring 写 Hello World 都难呢?
|
![]() |
9
wangritian 43 天前
一直觉得写业务的语言都一样,别太冷门就行,需要什么长期用的自己封装一下就完了
我 php nodejs java python go 后端项目都写过,基本都是 2-4 人半年的量,说实话都是小问题 |
10
WDATM33 43 天前 ![]() @Reficul #8 确实是麻烦的一批啊,之前公司老项目改个纯原生的 socket 服务,真的是又臭又长,代码重复啰嗦,调用链长的离谱,什么都是手撸的,我尼玛看的都想跑路了
|
![]() |
12
baozijun 43 天前
Java 最难的地方就是命名,其次是抉择用哪一个 third library ,其他都简单,AI 搞定,IDEA 全程自动补全,不会多打一个字
|
13
fruitmonster 43 天前
注解 那不也是用的别人的或者写好的么?
|
![]() |
14
vfs 43 天前
听了你的感受就是: 没有 spring 的语言都是 “原始社会,大伙围在篝火前面穿着草裙跳舞。”。 其实这个世界上很多人的工作中都不用 spring
|
![]() |
15
zhaoahui 43 天前
想就去陪它
|
![]() |
17
idihs 43 天前
spring 工程师
|
18
yooomu 43 天前
没有注解也不是什么难事。最恶心的是集合操作,麻烦得要死。只能说是个令人又爱又恨的语言
|
![]() |
19
lyer5 43 天前
@fenglangjuxu 重复的东西没必要去做
|
20
Ayanokouji 43 天前
说几个 golang 的吐槽点:
1. err 和 log ,需要花费精力去封装和设计 2. 个人不喜欢全局变量+init()的设计,写单元测试经常缺环境变量。 3. openapi 文档维护,没一个好用的 |
![]() |
21
cloudzhou 43 天前
不开玩笑,Spring 堪称伟大,很多业务开发理念模板化实现
但是也是基于 JVM 的强大(反射,字节码) 其他语言要做到和 Spring 这样灵活就没那么容易了 |
22
tairan2006 43 天前
我觉得主要是写 CURD 比较恶心,加减个字段麻烦的很。
|
![]() |
23
nicoljiang PRO 写了 3 天 Java ,我想念 Spring 了。
|
![]() |
24
putaozhenhaochi 43 天前 via iPhone
好好的 crudboy 不当 要去写 go
脑子瓦特了 快回到我们大部队 |
![]() |
25
Oktfolio 43 天前 ![]() 在网络上说 Java 好是政治不正确的。Spring 是真正地做到了开箱即用,让开发专注于业务。
|
26
ories 43 天前
建议重新写回 java java 本身并不强 强的是 spring boot
|
![]() |
27
manami 43 天前 ![]() 写过半年 go ,路由都要自己写……
|
![]() |
28
RedisMasterNode 43 天前
我来个暴论:Java 就是屎山,无脑 try catch 所有就对了(手动斜眼
|
![]() |
29
ZeroDu 43 天前 ![]() 是这样的,go 那边一个 Log 都搞不明白。
|
30
lvlongxiang199 43 天前 ![]() @Ayanokouji 2 可以用依赖注入来解决
|
31
lvlongxiang199 43 天前
只能说你这个业务不适合用 go 写.
|
![]() |
32
totoro52 43 天前 ![]() @Gilfoyle26 你不要光阴阳怪气,摆点实际的对比怼回去
|
![]() |
33
totoro52 43 天前
|
![]() |
34
darksword21 PRO ![]() 我喜欢把东西都写出来
看 java 代码跳着跳着就告诉我 “我们这个实现是运行时动态生成的哦亲” 然后一口老血吐出来 |
35
kingcanfish 43 天前
没有什么是 spring 做不到的,如果有 那就再套一层
|
36
5sheep 43 天前
等 go 完善后,你又觉得包大了,跟 Java 一样笨重。于是又一个新语音诞生……
|
![]() |
37
nickxudotme 43 天前 via iPhone
@Ayanokouji openapi 有框架可以自动泛型推导了,例如 fuego ,很好用
|
38
DefoliationM 43 天前
吃点好的吧,写 java 写的,rust 也支持注解,来用 rust 吧,写起来也很爽。
|
![]() |
39
orrinex 43 天前
写业务肯定是 Java 方便啊
|
![]() |
40
bronyakaka 43 天前
go 不灵活,泛型也不咋样,函数式 api 没有,err 不能自动传播,导致代码写起来比较丑陋,写逻辑多点的业务就乱糟糟的。好在理解成本低。
|
![]() |
41
qcbf111 43 天前 ![]() 都不如我的大 c#,美滋滋的 c#。
|
42
iseki 43 天前 via Android ![]() 不是离开了 Java ,是离开了春天。
|
![]() |
43
midsolo 43 天前
Java 转 go ,用 DDD 重构项目,都是各写各的,代码相当的乱,看起来很丑陋,go 根本就不适合做业务复杂的项目
|
![]() |
44
uion 43 天前
除非工作必要。自己写东西从来不用 spring 那一套。。它设计得很好,用得很香!但是。。我不喜欢
|
45
Ayanokouji 43 天前
@lvlongxiang199 是的,但是依赖注入也没啥好框架,wire 也归档了。我一般就是自己简单实现。
|
46
Ayanokouji 43 天前
@NX2023 我看过 huma ,但是感觉还是别扭
|
![]() |
47
opengg 42 天前 via Android
都用 java 了,怎么有机会造轮子呢?你看 go 的轮子一个接一个
|
![]() |
48
DeWjjj 42 天前
搞到最后感觉 lang 都差不多,差的是生态,java 那么好非必要不折腾。
反正给钱就写,浪费的也是老板自己的时间。 |
![]() |
49
starlion 42 天前
吃瓜群众前来观战,各有各的用途
|
![]() |
50
sciel 42 天前 via iPhone
https://goframe.org/ 了解一下 非常方便
|
51
tongbufu 42 天前 via iPhone
我按一下 tab 键也能搞定
|
![]() |
52
JZ8ZW193q6W9Awgy 42 天前
@totoro52 #32 哈哈,别当真啊 。。。
|
![]() |
53
JZ8ZW193q6W9Awgy 42 天前
@hwdq0012 #4 还得每日背诵 。。。
|
![]() |
54
wanwusangzhi 42 天前
go 256m 小鸡就可以允许,而 java 非要 4G+才可以可以
|
55
oczizx 42 天前 ![]() 不造轮子对初级开发可不是什么好事
|
56
roundgis 42 天前 via Android
Go 对抽插数据库这种应用本来就不大顺手
手感是不如 java 的 但是即便如此还是要用的话 那说明其他因素的权重已经远远超过 以至于决策者可以无视这种不适感 不过你又不是决策者 钱给够写就完了 |
![]() |
57
Znemo 42 天前 ![]() AI 写代码已经成熟到目前这个程度,这个话题还有什么意义。应该说从来都没有意义过,但是不知道为什么至今还是这么多人乐此不疲。
|
![]() |
58
mightybruce 42 天前
我歪个楼,发一个看来的 java 相关的小说
写在 2025 年对未来 10 年的预言 截取最后几段,哈哈 人们开始尝试 Quarkus 、Micronaut 、GraalVM——希望通过 Ahead-of-Time 编译拯救这只老牛,但是在和 Go 、Node.js 、Rust 竞争时已经力不从心。 年轻人正在学 Python 写数据处理、用 JavaScript 做前端、用 Go 写微服务。 Java 虽未衰亡,但已老态龙钟。 2023 年,转折点到来了,一个叫做 ChatGPT 的弱智 AI 的出现,彻底敲响了 Java 的丧钟。 AI 编程助手全面普及,软件开发正式进入“提示驱动开发”时代。 无论是资深程序员,还是新手程序员,都开始用提示词驱动 AI 来输出代码。 面对 AI 生成的一坨坨代码,Java 那冗长的语法,强结构化的特性,即使实现一个简单功能就得需要写出完整得类,方法签名,类型声明、异常处理...... 程序员不喜欢,因为无论阅读还是修改,都非常麻烦。 AI 似乎也不喜欢 Java ,似乎生成代码的难度和 token 的成本都很高。 同样的任务,AI 更愿意用 Python 、Go 、TypeScript 等语言实现。 但实际上,无论任何编程语言,都和提示驱动开发格格不入,因为提示词还是自然语言,编程语言再怎么高级,它都是计算机语言,两者之间存在的天然鸿沟,让程序员在进行提示驱动开发的时候非常别扭。 因为简单的任务还行,对于复杂的任务,提示词很难准确到位,生成的代码不是这里有问题,就是那里有问题,得反复修改,改着改着 AI 就懵了,最后,程序员不得不自己亲自动手去改那一坨坨代码。 2030 年,一个叫 CloseAI 的公司推出了 X 语言。 这是一门天生为提示词驱动而生的语言:结构灵活、容错能力强、语义抽象极佳。 它总能非常精确地反映程序员的意图,简洁高效地实现,从而迅速风靡全世界。 越来越多的公司将核心系统重写为 X 语言,或者部署在兼容 X 的服务平台。 相比 X 语言,Java 就像当年的汇编一样,没有人愿意使用了。 用 Java 编写的那些至关重要的系统都成为了遗留系统。 考古发现,这一阶段程序员最常说的几个词就是:35 岁,裁员。 考古界无法解释为什么程序员正处于年富力强的时候,就被公司抛弃了。 企业招聘的时候也要求 35 岁以下,让大龄程序员不得不考虑转行。 如果从 25 岁硕士毕业算起,程序员的职业生涯只有区区 10 年! 真是匪夷所思! ============================================================ 五、尾声 2033 年,Oracle 宣布终止对 JDK 的 LTS 版本支持。 2035 年,最后一所大学宣布将“编程导论”从 Java 改为 X 语言。 考古界发现了最后一个询问 Java 情况的帖子,它的内容是: “Java 死了吗?” 无人回复。 最后,考古委员会给 Java 写了一个墓志铭: ============================================================ https://mp.weixin.qq.com/s?__biz=MzkzMjYzNjkzNw==&mid=2247632277&idx=1&sn=53ca5edd0151e6af18253a5f226f4895&poc_token=HLLalmijj0-YnVvvzke7TCBZAFvq1DO-VXaKXRvR |
![]() |
59
NO9527 42 天前
这贴对 java 的攻击这么少,不符合我的想象
|
![]() |
61
zeeler 42 天前
天天都有人讨论 go 和 java ,我不自量力,也来插一句:
1 )开发语言只是工具,要把他用在最适合的地方,而不是跟风。 2 )我的建议是,一个团队要按时完成一个稍复杂的项目,肯定用团队大多数人最熟悉的技术栈和最有把握的框架去做,创造价值才是第一生产力,用再好的技术完不了活都是扯淡。 3 )如果团队或个人有时间,去学习并尝试一些新技术也是不错的事情,只不过要控制好边界和风险,比如先用新技术尝试重构内部不太重要项目中的某个小模块,这个小模块最好是这个新技术最擅长的类型,尝试一段时间验证没什么问题,可以再扩大范围。 4 )不过,换技术不是为了换而换,是要有正向受益才好。 |
63
carlojie 42 天前 ![]() 说时候 java 最大的问题就是隐藏了细节,各种注解,我更喜欢 go 的简洁直观,没有任何隐藏行为
|
64
FlashEcho 42 天前 ![]() @Oktfolio #25 开箱过程太长了,我原来既不会 go 也不会 java ,但是转 go 开发看一周教程上手了,转 java 看半个月还在看 springmvc 呢
|
65
uuundefined 42 天前
我已经会写 30 多种语言了,离开舒适区都会不适应,那几年从 js python lua 转写 JAVA , C ,汇编非常痛苦。
隔几年回头搓个很早已经就已经熟练的语言,又要边写边看下教程。 现在有 AI 就完全无烦恼了,搓什么都差不多的,可惜现在没那么多好的项目搓了。 能有一份稳定的收入, 搓什么都行吧, 啥烦恼不叫个事。 |
![]() |
66
kenshinhu 42 天前
@uuundefined 请指教一下,在切换语言时怎样可以防止在把写 一种的思维套用在另一种语言上?发现写 go ,rust 从写的思维模式上已经和 java 有比较大的相差。
如果硬要把 另一种思维套用上,就发现不得不要花更多的时候来处理。 |
![]() |
67
sagaxu 42 天前
@YetToCome 7# 离了 spring 还有 quarkus 啊,一样大而全还高性能。
@qcbf111 41# C#写起来也挺舒服的,开发效率不敌,唯一缺点就是国内生态差一些,某些 SDK 只能用第三方的。 @wanwusangzhi 54# 不至于,我一台 2G 内存的机器,跑了 3 个 Java 服务,还剩一半内存,256M 机器跑 1 个服务是够的。 |
68
uuundefined 42 天前
@kenshinhu 每种语言都不是因为无聊设计出来的。也不是凭空强制自己去换语言的。如果是因为工作变了, 因为换了一个新项目,项目以前就用的 XX 语言,这种原因换语言,那没什么好说的。 你可以就像现在一样, 用你当前熟悉的去慢慢去理解新语言,遇到问题,多花时间也是一种学习的过程。有时候为了快速完成项目,我也会用熟练的语言写上伪码,让 AI 帮我做翻译转化。
接触一个新语言前, 我一般都会查下这个语言是为什么产生的, 有什么优缺点。和我现在用的语言比,有哪些异同。 现在有 AI 很容易搞定的。 没必要买书,直接问 AI 这些问题都行。把语言本身的文档直接丢 AI 里提取要点再看下就行。 接受一个新的语言, 新的项目, 不仅仅只是语言换了, 用的框架, 团队结构, 沟通流程 什么的都会改变。一定要学习新语言的特点,发挥出该语言的优势才行, 只是仅仅从一个语言翻译到另一个,意义不是很大。 学的多了,写的多了就通了。设计模式,常用类库,底层原理。语法糖,线程,进程,协程。基本算法,算法复杂度。并发,集群,分布式。各种类似的写法有什么不同。以前可能以前要花十几年到几十年的过程,有 AI 可能几年就能搞定了 |
![]() |
69
shiloh595 42 天前 via Android
生态好就是舒服😁
|
![]() |
70
memcache 42 天前
javaer 的思路就是找轮子,学习轮子。hh
|
![]() |
71
duan602728596 42 天前
为了写一个 gui 软件不得不用 go ,幸亏有 chatgpt 救我狗命,要不然真写不了
|
![]() |
72
travellerly 42 天前
我是写了半年多的 python ,每个字都在想念 java😭
|
![]() |
73
fuhanfeng 42 天前 via iPhone
写得时间不够长,写 1 个月就习惯了。
有大模型之后,语言和框架差异应该不是瓶颈,解决问题的思路才是。 |
74
nananqujava 41 天前
现在都是 AI 写了, 为什么还要纠结这些问题?
|
75
xiaoxin201 41 天前 ![]() @Gilfoyle26 拼好饭,我擦,我熬夜刷论坛消除了猪叫声
|
![]() |
76
macemers 41 天前 via Android
只有我喜欢 Micronauts 吗
|
![]() |
77
guiyumin 41 天前
就增删改查,让 ai 写就行了
|
![]() |
78
kenshinhu 41 天前
@uuundefined
“接触一个新语言前, 我一般都会查下这个语言是为什么产生的, 有什么优缺点。” 这点现在的我十分认同!! 我以前切语言的时候,总会下意识把用得熟练的一门语言的写法和思维套进去,结果要花不少时间去对抗这种“思维惯性”。这套方法,确实是直接从源头去适应,而不是在代码层面硬翻译,当前有时为了产生就不得不有妥协。现在有 AI 可以转译,以前就靠自己对号入座式的替换代码逻辑。 现在感觉是,现在有 AI 之后,如果花十来个小时认真啃一下语言文档的核心内容,然后用 AI 不断互动提问,比过去只能翻别人源码、机械练习的方式快太多了,而且更容易把语言背后的思维模式吃透。 就像“茴字的几种写法”——以前的学习,就像只是换了笔或者纸,还在反复练笔画;而现在有 AI ,就像直接用杠杆跳过这种重复劳动,把精力放到语言设计理念和应用场景上。 |
79
clarkethan 41 天前
spring 牛逼,但......离开 curd ,又有多少场景需要这种牛逼呢
|
![]() |
80
wccc 41 天前
.... 对于 go 注释,log 非常无语
|
81
spritecn 40 天前
go 现在生态比 docker 刚出那会火的时候好太多了
|
83
moyupai 40 天前
你咬咬牙,把 spring 生态在 go 里重建
|
84
prosgtsr 40 天前
java 哥布林别幻想了,快跟我一块回山洞
|
![]() |
85
AlexHsu 40 天前
go 本来就是一坨屎 用 kotlin 就行了
|
86
liuguang 40 天前
|
87
runlongyao2 40 天前
@kenshinhu 其实就两类,一种是完全遵循 OOP 的,比如 JAVA 和 C ,以类为根基#。另一类就是像 python,go ,以方法为根基。市面上大部分语言是第二种
|
88
runlongyao2 40 天前
@runlongyao2 写错了是 JAVA 和 C#
|
89
runlongyao2 40 天前
@kenshinhu 写错了,是 JAVA 和 C#是第一类,专注于开发类的潜能,完全遵循 OOP
|
![]() |
90
0x663 40 天前
不,你想念的不是 Java ,你想念的是 Spring
|
![]() |
91
fengyj 40 天前
你想念的是 Spring ,那是什么 Java ,换其他语言也一样
|
92
Richared 40 天前
@clarkethan #79 但大部分人不还是 curd 么,有多少人做基础组件开发的,基础组建不也是给业务系统用么,业务系统逃得过 curd 么。
|
![]() |
93
windyboy 40 天前
如果还是 spring 思维的话,kotlin + micronaut 试试看?
|
94
burnsby 40 天前
总要有取舍的,想要低内存占用的话,综合下来还是 go 比较好。
我提一个暴论: 如果哪一天 go 也可以使用 try ... catch, 它的易用度能够提升 90%。 |
![]() |
95
yb2313 40 天前
go 和 java 坐一桌的, 不过语言还是不太重要吧, 生态最重要, 要是你要做的事情 java 生态最好你就该用 java, 但如果不是就不该, 只选最好的
|
![]() |
96
8355 40 天前
spring 框架工程师真就别谈 java 了
|
![]() |
97
bbbblue 40 天前
其实就是标准化吧?
像现在写 js react/nextjs 是主流了 虽然前端不断有新框架 但还是首选 |
98
clarkethan 40 天前
@Richared 哎妈呀,别这么冲,我没有说任何 spring 的坏话
|
![]() |
99
imbigbao 40 天前
go 适合写一些基础设施服务,不适合业务开发。听我的没错
|
![]() |
100
testliyu 39 天前
用 ai 写
|