Go 特性少,语法糖太少,味儿苦啊!求开发体验好、生态全的语言推荐

2022-05-12 12:42:20 +08:00
 vchroc

包括不限于错误 /异常处理,泛型,OOP 等, 还有就是缺失类似 spring 的 bean 扫描功能

15864 次点击
所在节点    程序员
152 条回复
Hanggi
2022-05-12 15:11:22 +08:00
Rust 什么的绝对不是正解。

楼主单纯觉得 java 不够好,可能 Kotlin 才是你要的。

Go 特性少,语法糖太少这件事,你先要清楚这是 Go 语言目前阶段不完善导致的吗?
明显不是,是 Go 语言就是这么设计的,这么做肯定是经过各种考量,GO 语言今天这么火也说明他的这种设计是有很多受众的。

语法少说好听点是简单简洁,实际上就是语言设计的妥协。(要知道语言越复杂功能越多,编译越慢这是公认的,不管 C++,Java ,Rust 都有这个问题。)

过于简单而导致开发不爽这件事,Go 语言其实有他自己的一套解决方法,只不过很多人无法接受,觉得这些功能在语言层面就应该提供。所以说需要一些思想转变。
acdfjelxe
2022-05-12 15:11:46 +08:00
?? 语法糖重要吗?那来 cpp 咯
darksword21
2022-05-12 15:15:19 +08:00
你应该自己设计,他们知道个屁啊,他们懂个皮的编程语言(
libook
2022-05-12 15:22:28 +08:00
Go 是面向企业高效生产的,不是面向开发者体验的,两者矛盾的时候,Go 会倾向于选择高效生产。

找 Web 开发领域工作的话应该绕不开 Java 和 Go ,坚持用些自己觉得“完美”的小众语言,也可能难以找到合适的工作。

如果不是工作上用,而是自己写着玩,楼上提到的语言都可以看一看,除了 Rust ,Rust 现阶段至少不满足你完整 Web 生态方面的需求,除非你愿意自己造生态。

换语言和技术栈最好也换一套思维方式,否则不管用啥都觉得不如以前用的那套顺手。
Goooler
2022-05-12 15:26:13 +08:00
Kotlin + Spring
cmdOptionKana
2022-05-12 15:27:08 +08:00
@vchroc Kotlin 啊,完美啊!要语法糖够甜,要生态可无缝调用 Java 。
HangoX
2022-05-12 15:36:13 +08:00
kotlin ,先进语言该用的都有,无缝调用 java 的库,就是表示有 java 生态,而且还能写 web 和 native
Leviathann
2022-05-12 15:38:21 +08:00
@HangoX 没有 pattern matching ,而 java 有
vchroc
2022-05-12 15:41:10 +08:00
@Hanggi 过于简单而导致开发不爽这件事,Go 语言其实有他自己的一套解决方法

展开讲讲?可以的话可以专门开个贴
vchroc
2022-05-12 15:44:21 +08:00
@Hanggi 在使用 Go 语言开发的时候,使用代码生成工具,可以解决一部分问题,如相对完善的枚举、注册发现等功能,但味道还是比较苦...
LeegoYih
2022-05-12 15:53:44 +08:00
Ruby
yazinnnn
2022-05-12 15:54:29 +08:00
F#怎么样?
HangoX
2022-05-12 15:54:35 +08:00
@Leviathann 真要写用 java 写不就好了,本来就能混。kt 有的 java 很多也没有,看自己喜欢用哪个就哪个呗
Donahue
2022-05-12 16:28:34 +08:00
python
lysS
2022-05-12 16:36:11 +08:00
根据上下文啊,OP 肯定用过满足要求的语言,自己用回去不就行了?
vchroc
2022-05-12 16:40:39 +08:00
@HangoX Java 开销大,编译打包后不是二进制可执行文件
daimiaopeng
2022-05-12 16:43:13 +08:00
要不回来写 c++得了
lmshl
2022-05-12 16:45:04 +08:00
@Leviathann 那是我们的钓鱼贴,开贴的和回答的都是一个群里的人。我的回答赞数最多哦
Leviathann
2022-05-12 16:46:00 +08:00
@lmshl 我上钩了 😂
lmshl
2022-05-12 16:51:21 +08:00
@billlee 那可太多了
高大上 + 最前沿:distage
高大上 + 学术范:tagless final ,就是 cats effect 风格的
高大上 + 容易学:ZIO ,所有环境依赖都在 Layer 中组合起来
中不溜秋:macwire ,编译期注入,不依赖反射
手动挡:trait + implicit 注入
回归传统:guice

其中群佬们最推荐的是 distage ,我用过剩下的 5 种,2/3/4 风格都是很漂亮简洁的,并且 2/3 是理论完备的资源安全

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

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

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

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

© 2021 V2EX