![]() |
1
pinkSlime 290 天前 ![]() ?
> Go is syntactically similar to C |
![]() |
2
thet 290 天前 via iPhone ![]() C#
|
![]() |
3
wellsc 290 天前 via iPhone ![]() .net core
|
![]() |
4
manhere 290 天前 via Android
lua
|
![]() |
5
icyalala 290 天前
Java /c++/js 这怎么比较? Go 低内存这也说不定。
要精确控制内存和现代化语法,就找那些没有 GC 、运行时小的语言,比如 Rust 、Swift 。。 |
![]() |
6
zoharSoul OP @pinkSlime #1 Go is syntactically similar to C, 不是 c++ ,
比如 c++的泛型, 函数式变换之类的. 统统没有, 比如这样 > numbers.map((i: Int) => i * 2) golang 写起了麻烦死了 |
![]() |
8
defage 290 天前 ![]() 那就是 c++本尊了,比 go 还可以更低内存
|
![]() |
9
codehz 290 天前
那 D 怎么样(
|
![]() |
10
tt67wq 290 天前 via Android ![]() crystal
|
11
micean 290 天前 ![]() java 别用 spring,用 graavlm 打包 native image
|
![]() |
12
debuggerx 290 天前
可以试试 dart 现代化语法 支持 gc 支持 aot 编译为二进制可执行文件还带 runtime
https://dart.cn/tools/dart-compile |
13
mxT52CRuqR6o5 290 天前 via Android ![]() C#
|
![]() |
14
tmac33 290 天前
go 现在这个势头真是奔着 java/c#去了
|
![]() |
17
tmac33 290 天前
势头依旧猛
|
22
ifsclimbing 290 天前
java 真难用
|
23
ifsclimbing 290 天前
nim
crystal |
25
dqzcwxb 290 天前 ![]() |
![]() |
26
litchinn 290 天前
@micean 上次看到好像 Spring 也支持 graalvm 了,[Spring Native]( https://spring.io/blog/2021/03/11/announcing-spring-native-beta)
|
27
Ayanokouji 290 天前
graalvm
|
![]() |
28
qieqie 290 天前
说 GraalVM 的都自己用过没
根据我一年半前的体验,跑纯科学计算时间长一点内存比 Hotspot 吃的还多,性能不到三分之一 |
30
kilasuelika 290 天前 via Android
rust 吧
|
![]() |
31
lanjz 290 天前
rust
|
![]() |
32
ivyliner 290 天前 ![]() swift :-)
|
![]() |
33
janxin 290 天前
Rust 啊
|
34
Leviathann 290 天前 via iPhone ![]() rust 一没 gc,二语法不是 c 系语法,从 ocaml 那搬运了不少东西
|
35
rayw0ng 290 天前
Rust,正在反复被编译器狂虐。。。
|
![]() |
36
hutoer 290 天前
面向 web 后端写业务? 又要内存占少?长得像 Java /c++/js?
**没有** 如果不喜欢 java,试试 typescript ? |
![]() |
37
MakHoCheung 290 天前
go 的正正经经的一个大型系统运行占用的内存真的比 Java 小很多么?
我只知道 graalvm 的 native-image 把 Java 编译成本地可执行程序后,helloworld 确实是内存占用小,但是一个正经的 web 服务的话内存占用其实差不多的,之前 medium 上看过外国人比较过。 |
![]() |
38
Cbdy 290 天前 via Android
java
|
![]() |
39
Itoktsnhc 290 天前
C#
|
40
Keyi 290 天前 via Android
D, Better C
|
![]() |
41
someonedeng 290 天前
西沙普
|
![]() |
42
agagega 290 天前 via iPhone
当然是 C# Swift Kotlin 三兄弟啦,风格还有点像。一开始还都是各自平台专用,后来都开始跨平台。
|
43
iseki 290 天前 via Android
正常场合下大家内存占用应该都差不多( Java 别用 spring 就还行,用 Kotlin 搭配 vertx/ktor 等等。native image 可以参考下,个人没在生产使用过,不知道咋样
|
![]() |
44
chendy 290 天前
java 不用 spring 用啥啊
不用 spring 的话,不如直接不用 java 了,一样不好招人 |
45
iseki 290 天前 ![]() 啊,是为了好招人啊,那当我没说
|
![]() |
46
lightjiao 290 天前 via iPhone
C#除了不出名,其他哪儿都好,生态其实也还不错,写起来超级舒服
|
![]() |
47
yanzhiling2001 290 天前
.net core,相见恨晚 ,如果去年见到,我就舍弃 go 上巨硬的邮轮了
|
![]() |
48
WebKit 290 天前 via Android
可以试试 kotlin 啊。真的很好用
|
![]() |
49
cassyfar 290 天前
别推荐了 rust,都没公司用。
go 挺好的,出活效率大概是 java 和 cpp 的 1.5 倍 |
![]() |
50
zxCoder 290 天前 via Android
必须是 c#
|
![]() |
52
abcbuzhiming 290 天前
|
![]() |
53
ipwx 289 天前
@abcbuzhiming yysy JIT 理论上可以比 AOT 运行速度更快,而且实际上也经常这样。
对于内存而言,可能云上虚拟机 / 嵌入式会比较头疼 JVM/CLR 。但是对于大型服务器集群,这不太是事情。 |
![]() |
54
ipwx 289 天前
@abcbuzhiming JIT 更快的原因是因为可以根据入口参数改造代码。比如 if (xxx) ... else ... 在这里如果根据入口参数进行条件判断的,cpu 流水线可能会被打断。流水线打断就是 20 条指令的时间开销(可能更多)。JIT 完全有机会根据不同参数分别产生两个不同函数去用。
|
![]() |
55
abcbuzhiming 289 天前
@ipwx 我认同 Jit 可能更快,但是我不认同你关于内存的说法,资源总是不够用的,特别是当你进程数量起来以后,一个进程能减掉一半的内存,就是一大笔成本,Java 这个语言确实在云原生时代遇到了挑战,就是其虚拟机太过庞大,否则 oracle 就不会去折腾 graavlm
|
![]() |
56
ipixeloldc 289 天前
@cassyfar 确实,rust 现在国内除了字节的飞书大规模用。其他就一堆区块链的用。。。
|
![]() |
57
wellsc 289 天前 via iPhone
@abcbuzhiming 因为点 net 能编译二进制了我才提的
|
![]() |
58
hushao 289 天前 via iPhone
kotlin 国内有大公司用在服务端了,只不过生态是真的很原始,要自己造不少、团队有大神可以关注一下,团队没人就想其他的吧。其他语言如 rust 也是,没大神坐镇也基本折腾不起来
|
![]() |
59
ipwx 289 天前
@abcbuzhiming 不啊,Java 多线程足够强,大部分后端 Java 是多线程 + 异步的吧。
|
![]() |
60
EscYezi 289 天前 via iPhone
试试 qurakus 打包 native image
|
![]() |
61
abcbuzhiming 289 天前
@ipwx Java 的线程模型是 1 比 1 换成内核线程的模型。这个东西在经典时代是足够的,但是在现在就未必了,其实 Java 一直在折腾新的携程模型。
另外,我的本意是,部署一个 Java 项目(线程),哪怕是比较小的项目,拖着一个巨大的虚拟机和基本函数库,也造成其启动内存占用偏大,和启动速度太慢 |
![]() |
62
c88155745 289 天前
我能说 php 么,这内存占用也不是很高
|
![]() |
63
BadMan 289 天前 ![]() @x940727 还是有的,我在鹅厂,公司服务端从 3 年前开始就开始转 golang,已经形成不可逆的趋势了,像 qq 这类核心业务的新服务也用 golang 啦。另外,字节和虾皮的主流语言也是 golang,还是可以的。
|
![]() |
64
Kasumi20 289 天前
Rust,不需要 GC
|
![]() |
65
sagaxu 289 天前 via Android
Java 生态打的 docker 包太可怕了,一个极简的 image 也要 100M 起步,常见的 300M 左右,我还见过一些 1G 以上的。
内存占用,Java 起步也是 200M,大项目不是问题,小项目虚拟机开销比业务逻辑还大。 启动时间,Java 项目一般 5 秒以上,30 秒也不算多,启动一次要 5 分钟以上的我也见过。即使用 vertx 之类轻量级高性能框架,启动时间也是 1 秒左右,做不到百毫秒级别。 Java native 目前几乎不可用,不仅要每个库的作者维护好编译成 native 的 meta 信息,还需要很长的编译时间,本身编译就够慢了,再来个更慢的步骤,咋整。 |
![]() |
66
ipwx 289 天前
@abcbuzhiming ummm 我指的就是大一点的后端。。。小项目那没办法。
|
![]() |
67
FightPig 289 天前
vlang 啊
|
69
ginjedoad 289 天前
Rust: 我不需要 GC !还有谁!
|
70
x940727 288 天前
@abcbuzhiming
@sagaxu 因为你们用的是 Java8 吧,Java11 自己用 jlink 不就可以大幅降低 jre 大小了吗,说白了,JDK8 是一个超级巨大的分水岭,8 以前的很多缺陷,其实在模块化之后就解决了,但是对于程序员的水平有比较高的需求。还有启动时间和内存占用就更离谱,这个分明是 Spring 慢,占用内存大,丢给 Java 就有点过分了,自己去看看 Netty 的 Web 服务器启动速度和内存占用还有性能? |
71
iseki 288 天前 via Android
go 编译启动是快,但是语法和生态都这么差劲…受不了啊
|
74
Leviathann 288 天前 via iPhone
@hushao 我们也在用 kotlin 写后端,完全无缝兼容 Java 生态啊,甚至 kotlin 在 jvm 上的标准库很多东西底层都是直接用的 Java 的库,包括最最基础的集合库,然后添加了 n 多扩展方法,用起来超顺手
还是说这个生态指的是协程?我们都是写业务,没有并发压力所以没有调研过这块 |
75
jin7 288 天前
CSharp 唯一的选择
|
76
q2551430130 288 天前
C#
|
77
ly841000 287 天前
@abcbuzhiming .net native 编译现在 RC 了,基本可用,winform asp core 都能正常使用,不过编译出来的空间占用不小,asp core 得 30M 40M
|