• 请不要在回答技术问题时复制粘贴 AI 生成的内容
duanxianze
V2EX  ›  程序员

抛砖引玉,大家觉得哪种后端语言对 vibe coding 更友好?个人认为还得是 go

  •  2
     
  •   duanxianze · 11 days ago · 9185 views

    我这么觉得有三个原因: 1 语法死板且简洁,语法糖不多,大多数写法比较固定; 2 语言比较新,社区分裂不多,常用的库比较统一; 3 静态类似,编译执行,比动态语言能更多的提前发现问题;

    对比我个人用过的其他的: 1 node:typescript,拉中拉,一个 any 改三四次都还报错; 2 java,太啰嗦,浪费 token

    Supplement 1  ·  10 days ago

    综合大家的回答和AI的回答,有三种选择

    1. Python:训练语料最丰富,代码风格简洁易被大模型理解,首选

    2. TypeScript/Node.js:全栈开发,训练语料也丰富,尤其适合前后端一起开发,不用频繁切换语义

    3. Go:语法极度简洁,类型安全 + 编译检查,减少运行时错误,性能好,但是训练语料相对较少

    97 replies    2026-07-18 15:54:22 +08:00
    blackPanda
        1
    blackPanda  
       11 days ago
    这个我和 ai 聊过,他给的排名:
    一梯队:python > typescript
    二梯队:go
    lo0pback
        2
    lo0pback  
       11 days ago
    我是 python 多,因为自己学过,相对熟悉,改起来方便,go 还没接触过。也没啥动力接触了。
    hingle
        3
    hingle  
       11 days ago
    个人觉得是 Rust ,编译器会输出详细的错误信息。
    clemente
        4
    clemente  
       11 days ago
    这个我用 agent 做过深度评测

    最好的是非编译型语言

    python+js+ts
    clemente
        5
    clemente  
       11 days ago
    第二个 因素是 存量代码占比
    shintendo
        6
    shintendo  
       11 days ago
    rust
    TimPeake
        7
    TimPeake  
       11 days ago
    python > ts > 其他 ,差不多是 AI 的默认选择了吧
    Ayanokouji
        8
    Ayanokouji  
       11 days ago
    go +1 。这么说吧,搜索引擎搜索 golang 的相关问题少了很多,导致 go 的排名都下降了 (:狗头保命
    skuuhui
        9
    skuuhui  
       11 days ago
    node[ts]
    xiaoz
        10
    xiaoz  
       11 days ago
    我觉得是 Python 和 TS ,其次才是 Rust 和 Golang ,不过这只是我的主观感觉,无任何依据。
    jackOff
        11
    jackOff  
       11 days ago
    python+java 基本上 ai 写的没什么大问题,arkts 就很糟糕了,基本上语法和 ts 语法混着写,要写不少提示词来纠正语法错误
    duanxianze
        12
    duanxianze  
    OP
       11 days ago
    @blackPanda
    @clemente #4
    @xiaoz 起码我个人用下来 ts 并不好用,eslint 会疯狂报错,虽然只是格式错误之类的,但是看着很烦
    darklinden
        13
    darklinden  
       11 days ago   ❤️ 2
    你要是只用脚本,python 不二之选

    vibe coding 搞工程?强类型和花活儿少才是保持 ai 代码稳定的有力保障

    个人体感排序
    (rust ≈ golang) > (Java ≈ CSharp) > (c ≈ cpp) >> typescript >>> js/python/php

    * rust 和 golang 都是把限制做进编译器的,rust 可以靠拷打 ai 获得更好的内存保障,用不用得上不说,反正是个优点; golang 恨不得谁写 format 完都长一样
    * Java 和 csharp 老同位素了,Java 死板臭长极为适合 ai 生成,CSharp 虽然版本多花活儿多,,但是比不了 c 的 void *,也比不了 cpp 的能从还算新的 11 数到过了年估计要 27...老项目的 cpp 极易 ai 跑着跑着拿什么朝的剑斩什么朝的官了
    * typescript 虽然带类型,但是跑起来是 js ,这就导致可能你这一块儿看起来没问题编译没问题跑起来莫名其妙出问题,什么大门限高 3 厘米进来一只大象,只有跑起来才能查问题,ai 也免不了测半天还是莫名出 runtime 错误
    * js/php 不多说,高手玩出花低手只喊妈,和 ts 问题一样,让 ai 写测试很难测全,单块儿测你觉得全了也不敢保证跑着跑着会出啥状况。最可气的是傻子 python ,号称强类型除了卡 int 不能直接 print 必须加 str 就没别的活儿了,各种 formater 和 lint 跑完还是拉,和 js 坐一桌
    darklinden
        14
    darklinden  
       11 days ago
    @duanxianze tslint 报错就是为了让类型过编译校验,强类型就是为了工程管理少出问题。如果 ai 搞不好,在 AGENTS.md 里加上它经常出错的报错类型的处理方案
    clemente
        15
    clemente  
       11 days ago
    @duanxianze harness 没做好。有前置工具做 check 啊
    xgdgsc
        16
    xgdgsc  
       11 days ago
    感觉 Python 后端库调用 Julia 数据处理可以,都很节约 token,跑得也够快,需要人 review 的话也比较简洁易懂
    cvooc
        17
    cvooc  
       11 days ago
    个人测试出来是 rust, 过不了编译就让 ai 一直 loop 到过编译.简单粗暴 deepseekV4flash 都可以胜任.
    反正最终出来的产物肯定能运行.
    其他语言的产物经常性遇到大量运行时报错, 还得返工.
    tommark
        18
    tommark  
       11 days ago
    我也觉得 go 非常适合 AI ,编译贼快,运行性能也很好
    jackerbauer
        19
    jackerbauer  
       11 days ago
    必须 Python 第一
    nc
        20
    nc  
       11 days ago
    如果写 web 业务的话其实 Java 、C#更合适,非要选一个那就是 Java 。当然,Go 很好,适合做 infra 开发
    Yasuke
        21
    Yasuke  
       11 days ago
    @cvooc 那是模型选得不好,gpt 和 claude 现在很少能遇到运行时报错
    fioncat
        22
    fioncat  
       11 days ago
    Rust 啊,编译器可以教 AI 写代码,自我闭环了。
    noahjsn
        23
    noahjsn  
       11 days ago
    说 Rust 的人,不觉得 Rust 代码调试、重新编译很慢吗?
    MENGKE
        24
    MENGKE  
       11 days ago
    ts 正在逐渐超越 python
    craftsmanship
        25
    craftsmanship  
       11 days ago via Android   ❤️ 1
    行了知道你连 TS 都搞不定只能写写 Go 了
    xiaoz
        26
    xiaoz  
       11 days ago
    @duanxianze #12 ,我倒是觉得 TS 生态挺好的,而且对 AI 来说确实很方便。就是某些情况下比较吃内存。
    54hdr
        27
    54hdr  
       11 days ago
    node.js 特别是 js ,那些说 ai 代替前端的人,也间接证明了 ai 擅长 js ,没想吧。咱门前端直接调用现成的数据库关系表和后端接口加 trae ,直接前后端统一语言,效率起飞
    ebushicao
        28
    ebushicao  
       11 days ago
    从你的描述来看你可能日常用的第三梯队模型,但凡用个第二梯队的比如 deepseekv4pro 都不至于在那 any ,还 eslint 疯狂报错。个人建议你如果不方便订阅 gpt 和 claude ,GLM-5.2 是个不错的选择。
    utodea
        29
    utodea  
       11 days ago
    纯 go 的 agent: https://github.com/usewhale/whale

    除了 tui 上选择少,ai 并不擅长相关的框架之外,我感觉还行。特别是在纯 terminal 的时候,很小。
    cozof
        30
    cozof  
       11 days ago via iPhone
    AI 似乎更擅长 python 。有时没跟它说清楚,它会给我一个 python 脚本,python 就 pyhon 吧,放服务上一执行,告诉我缺这少那的。不能用 shell 的情况还是用 go 吧,交叉编译一下放上去直接执行。
    msg7086
        31
    msg7086  
       11 days ago
    我现在 vibe 项目已经基本收敛到 Java 和 C++两项了。
    前者做网站后端或者复杂点的工具,后者做些性能密集型的东西。
    anivie
        32
    anivie  
       11 days ago
    对 AI 来说没这么多花里胡哨的追求,什么训练内容多他什么写得好,go 这种刚火没几年的能贡献多少训练素材,AI 怎么喜欢?
    aicong2021
        33
    aicong2021  
       11 days ago
    个人感觉 Rust 最好,无论多复杂的项目,只要编译通过都能跑起来,剩下的都是需求拆解、边界约束等,不用担心语言特性导致的莫名其妙 bug
    stdout
        34
    stdout  
       11 days ago
    你的感觉是对的,但是要看模型,google 的模型 gemini 对 go 训练最多,写起来非常好,比 python 效果好太多,我用 go 写个 llm gateway 和 llm mock 就几分钟的事情,几乎无问题,几乎无需重构。
    stdout
        35
    stdout  
       11 days ago
    python 的花活太多了,要严格控制缰绳,可以做到非常好。但是要操心太多。
    yanyuechuixue
        36
    yanyuechuixue  
       11 days ago
    rust
    CoderChan
        37
    CoderChan  
       11 days ago
    typescript ( JS )是训练物料最多的,优先使用。其次可以 python 、go
    lsls931011
        38
    lsls931011  
       11 days ago
    我觉得是 ts , 一种语言可以写网页、后端、前端、移动端,全栈语言,在 AI 时代,更加完美。
    yh7gdiaYW
        39
    yh7gdiaYW  
       11 days ago
    必然是 python ,大模型对缩进的适应性远好于括号匹配
    lkxjlkejwr
        40
    lkxjlkejwr  
       11 days ago via iPhone
    感觉上 gpt 还是喜欢首选 node ,我都要打断他让他用 go 。但是 py 感觉他自己思考或者做最小化验证的时候会写,真正产出几乎没有。
    xiaomushen
        41
    xiaomushen  
       11 days ago
    强类型会好一些
    ZeroDu
        42
    ZeroDu  
       11 days ago
    只要不会经常出现写出来的编译不通过、要修改很多很多次的语言就是 OK 的
    komorebiSaw
        43
    komorebiSaw  
       10 days ago
    我虽然是用 python 的,但觉得 go 配 AI 更好
    Newb1e
        44
    Newb1e  
       10 days ago
    我觉得 ts 挺好的,强制类型校验,开启严格模式。python 还得配置格式检查和类型检查工具,不然开发体验差很多。
    Alwaysonline
        45
    Alwaysonline  
       10 days ago
    折腾来折腾去,还是 TypeScript 顺手,关键是同样的提示词,页面就是漂亮啊

    纯对外接活来说,真方便高效。
    TimeDong
        46
    TimeDong  
       10 days ago
    golang ?打包 exe.....
    echoZero
        47
    echoZero  
       10 days ago
    go 吧 小工具 我会指明用 golang 来做,这样没有依赖,丢上去就能跑。
    yukunZhan9
        48
    yukunZhan9  
       10 days ago
    @hingle 同觉得 rust ,但是本机编译太老火了,mac 磁盘本就不够
    lovedebug
        49
    lovedebug  
       10 days ago
    typescript ,会成为 ai 界的机器语言了~
    c0011
        50
    c0011  
       10 days ago
    感觉 ai 时代的 python 好复杂
    digdug
        51
    digdug  
       10 days ago
    go 和 python
    layxy
        52
    layxy  
       10 days ago
    ai 场景下,越是主流的语言,vibe coding 效果更好,毕竟 ai 训练取决于开源代码仓库的数量和质量,主流语言会有大量的开源仓库,其实我觉得 python,ts,go,java,php 使用 vibe coding 的效果都差不多,我个人更喜欢强类型编译型语言
    lanten
        53
    lanten  
       10 days ago
    rust
    hefish
        54
    hefish  
       10 days ago
    go 好是好 。。。
    就是写 mvc 的时候看着别扭。
    虽然基本是给 ai 看的,人不需要看。
    fovecifer
        55
    fovecifer  
       10 days ago
    我认为底线是强类型语言
    其次是八股文比较多的语言,这样限制比较多,众所周知,限制越多,AI 越不容易走偏
    最后发现还是 java 最合适?
    但是我个人比较喜欢用 go
    sampdoria
        56
    sampdoria  
       10 days ago
    提供一个视角:
    https://www.zhihu.com/question/1992208967498236682/answer/2028074933238907033?share_code=FJX0Qj4eXdrg&utm_psn=2061024657847869602

    这篇文章从缩进 vs 括号这个编程语言的选择上,解释了 LLM 对 python 的偏好,个人觉得很有启发性
    liangc230323
        57
    liangc230323  
       10 days ago
    @hingle 实践下来,Rust 确实不错,但是 rust 编译太消耗磁盘,动不动 1-200G 的磁盘没了
    wuyiccc
        58
    wuyiccc  
       10 days ago
    为什么 ai 时代了还有这种问题?
    fang2hou
        59
    fang2hou  
       10 days ago
    类型还是要的,目前靠 lsp 还有类型检查能大大防止 AI 中途出现的问题,也方便重构。
    typescript 其实也不错,包版本变化快的话容易让 AI 没法快速抓到新版本的使用方式,经常要去查文档,Go 默认向后兼容几乎没有类似问题。而且 npm 相关的投毒多,go 相对放心
    自己私下搞项目感觉 ts 是最好用的,公司代码就 go 或 rust 。
    rb6221
        60
    rb6221  
       10 days ago   ❤️ 1
    按这种标准我能出一百个反驳理由来
    ts 的类型检查错误会更多
    py 的训练语料大多不是 web 业务系统的语料,写个脚本而已
    go 的写法固定死板,生态有限,遇到较复杂的需求网上都找不到最佳实践的话,模型直接抓瞎

    反而是 java
    你说啰嗦?都丢给 AI 写了,他又不嫌啰嗦,反而语法严谨,安全性更高
    你说费 token ?事实上写代码和读代码本身消耗的 token 根本不多,主要还是推理思考。这个理由意义不大。反而语法越清楚明了的,推理思考的速度越快。
    其他优点呢?生态庞大,各种复杂写法、奇技淫巧都能在网上搜到最佳实践,给了模型很好的范本。库成熟稳定,兼容性好。

    rust 为什么受欢迎,还是一群粉丝捧的,他们平时都没机会或者说没能力写出有一定复杂度的 rs 程序,现在有了 AI 正好。而他们写的也大多是某个单点功能,而并不是 web 业务系统。你会说大厂有,没错,但那是在庞大内部知识库和严格复杂的 spec 加成下才能做到的,不是你选择的理由。

    至于 go ,在 AI 时代以后势头甚至没 rust 猛,直接被其上位替代了。护城河完全被击垮。

    ts 确实不错,在 AI 时代以前就是欧美科技公司常用的后端语言,只是国内用的不多。他早已证明了自己的价值,在 AI 时代能用上也是顺理成章。

    最后的结论依然是 ts 和 java

    你说 C#?拜托,写 C#的人不是 40 老登就是 toB 大头兵,你指望他们用上 AI ,再过几年吧。哦对了,上位机的市场很小,对整体根本没有影响。
    wweir
        61
    wweir  
       10 days ago
    go 格式稳定、语言特性少、面对的场景比较专注、编程习惯相对较为一致,在擅长的领域,不需要大量的预料,也能训练出很好的效果。

    用 rust 也写了项目,最大的问题不是输出质量的问题,而是编译速度、产物大小。导致 AI 生成的速度、流畅性严重受限。

    另外就是简单工具脚本 python 还是王道。
    ts 在互联网项目开发早期也是挺好,等需求稳定了,直接重构成 rust 好了。vibe coding 的重构能力非常快速、稳定。
    TophTab
        62
    TophTab  
       10 days ago
    两个维度;
    语料多、可行性好:Python 、typescript
    性能好、省资源:go 、rust
    visper
        63
    visper  
       10 days ago
    后端大工程的话,静态类型最好还是要的。go,rust,java.
    IamUNICODE
        64
    IamUNICODE  
       10 days ago
    rust
    TophTab
        65
    TophTab  
       10 days ago
    还有,JAVA 纯路边。
    就当前内存价格,JAVA 和 AI 必须死一个。
    既然当前 AI 没死,那谁得死?
    hafuhafu
        66
    hafuhafu  
       10 days ago   ❤️ 1
    我觉得是 nodejs ( ts )。而且不仅后端,未来 agent 开发我感觉也是 ts 代替 py 。
    iuyo5678
        67
    iuyo5678  
       10 days ago
    之前给团队分享过,选开发语言,其实就两点:
    1. 不选冷门的,语料少,代码一次成功率有问题,比如之前用 godot 第一次 vibe 出来基本都不满意。或者有问题,
    2. 不选自己不懂的,项目还是要维护的,自己不懂,不熟悉的,那就真靠模型,听天由命了。
    ganbuliao
        68
    ganbuliao  
       10 days ago
    国内 Python 多 国外 typescript 多
    kphcdr
        69
    kphcdr  
       10 days ago
    如果要写管理页面,肯定是 nodejs
    Dengddd
        70
    Dengddd  
       10 days ago
    python 和 go 吧,跨平台挺方便
    719579
        71
    719579  
       10 days ago
    Java 范式固定,以前经常被嘲讽写的代码一股 Java 味,为啥?
    就是因为玩不出啥花样了,接口,实现,三层架构( Controller+Service+Dao),或者各种设计模式,DDD 之类,都是成熟的不能再陈述了 ,在 AI 时代反而适合,写代码耗的那点 Token 算啥。
    guotie
        72
    guotie  
       10 days ago
    后端,go 就是 ai 时代的唯一选择
    phpcyy
        73
    phpcyy  
       10 days ago
    反正不是 PHP 。

    「 PHP 是世界上最好的语言,没有之一」,PHP 马上要和这个梗一起被扫进历史的垃圾堆了😭。
    ASHYWHISPER
        74
    ASHYWHISPER  
       10 days ago
    rust 或者 go ,rust 有编译器兜底,ai 搞不定一直拷打。go 编译快,反复验证就完事了。这两个点都非常适合 ai
    seansong
        75
    seansong  
       10 days ago
    rust 吧,需求提清楚了,基本上写出来就能用,codex 和 claude 反正是很擅长写的
    liuliuliuliu
        76
    liuliuliuliu  
    PRO
       10 days ago
    为什么没人提 C#
    dreamusername
        77
    dreamusername  
       10 days ago
    我觉得不是 go ,从开源桌面软件来看,基于 rust 的从出不穷,而基于 go 的基本上一个都没有,而且当你问 llm 要写一个跨平台的软件的时候,你得到的答案基本就是 rust 。
    12wk34
        78
    12wk34  
       9 days ago
    AI 写 go 比较容易看懂, 有时还能古法编程改一改. 其他的我直接放弃 (
    version
        79
    version  
       9 days ago
    1:代码量少的语言..
    2:动态语言
    首选 nodejs.啥都可以干.后端到前端到客户端..
    如果是简单的页面+redis+数据库.也可以是 openresty+lua+html
    icyalala
        80
    icyalala  
       9 days ago
    你去看看那几家 Token 无限的公司,Claude/OpenAI/Grok 内部技术栈
    不约而同都是 Python/Rust/Go 这三个占大头
    Python 对于训练/推理是核心语言
    Go 主要做做 API/微服务什么的
    Rust 反而在这三家占比都越来越重

    PC 客户端的话,就是原生(Swift/C#), TS, Rust 这几类
    frankc2000
        81
    frankc2000  
       9 days ago via iPhone
    python 肯定了。让本地模型干活时,经常看到她会自己搓一个 python 来执行。
    nc
        82
    nc  
       9 days ago
    @icyalala 不过并无直接关系,和成立时间相关
    zxjxzj9
        83
    zxjxzj9  
       9 days ago
    脚本 python 前端 ts 后端 go&ts 内核组件 rust. 估计在不远的将来全靠这四种语言就能搭操作系统了
    aiclaw404
        84
    aiclaw404  
       9 days ago
    之前觉得 golang 最好,但是最近用下来 python 更胜一筹
    wonderfulcxm
        85
    wonderfulcxm  
       9 days ago via iPhone
    从我的经验看,大模型是最喜欢 python 的
    XenoGear
        86
    XenoGear  
       9 days ago
    python 、ts 、rust 、go (但是实际没什么项目用)
    rm0gang0rf
        87
    rm0gang0rf  
       9 days ago
    php 最好
    hxsf
        88
    hxsf  
       9 days ago
    编译型肯定 Rust 最好。
    Rust:能编译就能跑,不写 unsafe 代码几乎很难搞出内存问题。语法难,但是编译器严格,且输出详细原因可以指导 agent 修改。

    反对 Go:better C ,平时足够好用,但是有时候会被序列化/反序列化气死,以及被 nil pointer 搞 panic (就像 java 一样)

    比如:
    1. 你一个入参需要分辨没传和传 0 值。Rust: Option<T>, Go: *T ;
    2. 序列化/反序列化。Rust: Serde 快速组织结构体/ADT 枚举。Go: 结构体,没有 ADT 枚举。 需要自定义实现序列化/反序列化的时候 go 非常灾难。
    3. 错误处理。

    LLM 写 go 可能没有什么反复编译不过/修改。但是代码量一定很大且大部分是样板代码。
    写 Rust 可能需要和编译器拉扯。但是长远看,维护性是最好的。类型明确,有元编程,ADT 枚举。
    pengtao2001
        89
    pengtao2001  
       9 days ago via Android
    java ts 写的基本没问题,个人觉得
    prosgtsr
        90
    prosgtsr  
       9 days ago
    @rb6221 确实,我不写 go ,从上网冲浪的经验来看,AI 出来之后 go 都没声音了。可能就是“被上位替代”了。
    hnhertt
        91
    hnhertt  
       9 days ago
    php + laravel 简直不要太爽
    7beloved
        92
    7beloved  
       9 days ago
    py
    diudiuu
        93
    diudiuu  
       9 days ago
    @blackPanda 个人感官觉得 python 是最蠢的
    Mageblade
        94
    Mageblade  
       9 days ago
    我投 Rust 一票,现在新开的项目我都尽量用 Rust
    loveleyla2013
        95
    loveleyla2013  
       9 days ago
    纯胶水代码 用 ts
    一般的要求稳定性的 server 用 go
    gc 会对服务造成很大影响的 用 rust
    python 我理解,训练 AI 肯定会用吧
    JackeyLee233
        96
    JackeyLee233  
       8 days ago
    ts
    xooass
        97
    xooass  
       8 days ago
    php + laravel 目前在动态语言中尚可一战,因为 laravel 官方就在做 ai 优化,还出了 skill 基本上连 kimi 都可以满足 90% 的需求
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1445 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 249ms · UTC 16:31 · PVG 00:31 · LAX 09:31 · JFK 12:31
    ♥ Do have faith in what you're doing.