V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
voidmnwzp
V2EX  ›  Go 编程语言

Rob Pike 已经失去对 golang 的掌控权了吗

  •  1
     
  •   voidmnwzp ·
    NullpointerW · 28 天前 · 4973 次点击

    这个哥们当初也是反对加入泛型,说实话我也反对,用 interface{},在编码过程中约束检查下就够了,加了泛型无疑是大大增加了代码阅读时的心智负担,本以为这是个小意外,没想到只是个开始,现在 1.23 居然加了 range over func ,这种坨 shit 特性代码太过于恶心,而且这个提案完全是 Google 内部直接裁定通过,社区固然反对声和骂声一片,但根本没法否决,Rob Pike 要是在位的话,这一坨是绝对不可能通过的,说实话,我有点担忧 golang 的未来了

    47 条回复    2024-08-20 22:22:24 +08:00
    liprais
        1
    liprais  
       28 天前 via iPhone   ❤️ 2
    google lang 要啥自行车
    agagega
        2
    agagega  
       28 天前 via iPhone
    这不跟 swift 很像吗,swiftui 语法先在 wwdc 上发布,后面苹果的人再去社区交 rfc 补票,大厂主导的语言就是这样的
    KaynW
        3
    KaynW  
       28 天前
    很好奇这特性如果是 Google 内部需求的话,啥需求需要依赖这个特性? Golang 团队为啥接了这个需求,难道是有 KPI 吗
    iOCZS
        4
    iOCZS  
       28 天前
    开源软件的所有权掌握在大公司手里,而不是社区
    Donahue
        5
    Donahue  
       28 天前   ❤️ 1
    要是有一门语言,跟带类型的 python 一样简单的语法,跟 golang 一样强的性能就好了
    Donahue
        6
    Donahue  
       28 天前
    @Donahue 以及编译执行能力
    PTLin
        7
    PTLin  
       28 天前
    @iOCZS 这个结论太笼统了,对于 go 应该是,go 语言的所有设计决策都在 Google 手上。go 虽然是开源的可以提 rfc 的,但是决定权再 Google ,比起 zig ,rust 等语言整体开放性不强。
    yanyao233
        8
    yanyao233  
       28 天前 via Android
    @Donahue 感觉 golang 就是你说的这种语言本身,golang 的语法并没有比如 python 复杂太多吧?甚至还更简单
    starwing
        9
    starwing  
       28 天前   ❤️ 1
    @Donahue Python 的语法可不简单啊……语义更是非常复杂……
    Elaina
        10
    Elaina  
       28 天前
    这个 yield 就很逆天,第一眼以为是个关键字,后来仔细一看发现是个变量
    matrix1010
        11
    matrix1010  
       28 天前
    我觉得 rsc 才是主导,Rob 可能都不太参与了。review meeting 也都是 rsc 发 https://github.com/golang/go/issues/33502
    yb2313
        12
    yb2313  
       28 天前
    Google 早就是坏人了
    PureWhiteWu
        13
    PureWhiteWu  
       28 天前   ❤️ 2
    本来就是这样啊,go 只是 open source ,但是从来没有标榜过自己是 community driven 。
    所以我选 Rust 。
    yb2313
        14
    yb2313  
       28 天前
    @Donahue #5 c#怎么样, 或者 ts
    flyqie
        15
    flyqie  
       28 天前   ❤️ 4
    担忧 golang 的未来?

    已经在想社区未来会不会开个分支了。。毕竟 golang 目前知名项目不少而且 google 自己在一路狂奔。
    Donahue
        16
    Donahue  
       28 天前
    @yanyao233 不太熟悉 golang, 我感觉 python 写起来更舒服一点。
    artiga033
        17
    artiga033  
       28 天前 via Android
    商业公司控制的“开源项目“怎么可能听社区的
    但是同理 rust 这种纯社区驱动的也存在随时爆炸的可能...

    @yb2313 这俩的语法可称不上简单,都是攒了十几年的历史包袱,现在想着法丢也丢不掉
    lesismal
        18
    lesismal  
       28 天前
    rob pike 和 c 爹两位老爷子年纪大了, 发起项目后应该就很少参与了, 过去的十几年主要都是 rsc 在弄.

    最近 rsc 把 golang 交出来给其他人了, 不会是因为范型和 range over func 这些新特性被他放进来了吧? 如果是, 那他活该下课

    官方可以支持新特性, 但我不会去使用的, 至少肉眼可见的短期内我不会去使用, 并且禁止我们公司的兄弟使用.

    其他人用不用, 只能祈祷了, 我祈祷其他知名项目如果使用只用于内部实现, 不要放出来公共内容要求使用者必须去用这些新特性.
    nightwitch
        19
    nightwitch  
       28 天前
    我以为 golang 受谷歌控制而不是受社区控制是个常识
    lesismal
        20
    lesismal  
       28 天前   ❤️ 1
    先有 c, 后来 bj 老爷子造了 c++
    现在的 go team, 有 c++ 那味了
    kemchenj
        21
    kemchenj  
       28 天前
    开源不是民主,比起民主,有一个强势有钱的爸爸更加能让一门编程语言起飞
    yb2313
        22
    yb2313  
       28 天前
    @artiga033 确实有这种问题, 这也是大家不喜欢微软的原因, 以前微软的名声可是人人喊打, 但是这两语言确实也是不错的, 怎么说呢, 有一种 ntr 的感觉
    james122333
        23
    james122333  
       28 天前 via Android
    @flyqie

    可 最好是 runtime 重整 巨臃肿
    泛型我个人觉得还是可以接受 如果降低编译效能考量 拿掉也不是不可以接受
    vx7298
        24
    vx7298  
       28 天前   ❤️ 1
    从 go mod 事件开始,给所有的 gopher 提了一个醒,go 是 google 的,不是社区的,go 的未来最有可能是分叉,脱离 google 独立分支,因为 google 的职场文化肯定不止一次深深伤害社区的,拭目以待
    vx7298
        25
    vx7298  
       28 天前
    @kemchenj 除了 c ,其他语言,包括 c++,都是帝国时代,几大厂商肆无忌惮的操纵者开发者生态,rust 的组织模式,在未来也许会有可能有突破,但,还是那句话,跨平台从来不会有赢家,平台让你跨了,还是平台吗
    justdoit123
        26
    justdoit123  
       28 天前
    个人还是不太看好纯社区驱动的东西。

    忘记以前看的哪本书,貌似是讲 CSS 的,那个作者说,要伺候一群来自不同公司的 web 委员会成员,就像要伺候十几种猫一样,太难伺候了。


    有社区、有一定的开放性,然后再有一个强大的企业来引导,个人感觉是比较好的。
    laikick
        27
    laikick  
       28 天前
    Rob Pike 不是都隐退了吗?
    vx7298
        28
    vx7298  
       28 天前
    @flyqie 分叉是很可能的,繁荣的生态和 google 把控之间已经发生很多次冲突了,google 把 go 放在职场文化中,根本不是大佬的风范,全是刷 kpi
    araraloren
        29
    araraloren  
       28 天前
    @justdoit123 企业给钱就行了,要搞东西先交钱申请先
    james122333
        30
    james122333  
       28 天前 via Android
    不过 go 连类 c 的 macro 都没有...
    vx7298
        31
    vx7298  
       28 天前
    @justdoit123 标准和平台之争,ie6 根本不鸟,标准有啥用,chrome 就是要搞事情,它就是标准,社区用尽全力,搞了一些列框架和魔法,让页面在几个平台可以无缝显示
    vx7298
        32
    vx7298  
       28 天前
    @james122333 go 采用的方式就是造各种生成工具,没有用宏,很多时候也觉得,为什么不用宏呢,这些生成工具要是用宏不就完全解决了吗,我觉得 go 缺少的是宏,适合 go 思维的宏,而不是范型
    vx7298
        33
    vx7298  
       28 天前
    @KaynW 哈哈,我一直怀疑就是刷 kpi 的,根本和社区、开发者没半毛关系
    runze
        34
    runze  
       28 天前
    @justdoit123
    社区驱动不是委员会驱动
    james122333
        35
    james122333  
       28 天前 via Android
    @vx7298

    这可以
    levelworm
        36
    levelworm  
       28 天前 via Android
    我现在觉得 C 加上 C++的少数特性做系统编程真的就够了。其他花哨的,什么函数式编程都不要有。
    8520ccc
        37
    8520ccc  
       27 天前 via iPhone
    范型真的挺好用(少写很多重复的东西)……至于这个新特性 能不用就不用呗 别人的项目写了 尽量理解一下就行
    Trim21
        38
    Trim21  
       27 天前
    range over func 设计的不好是真的,怎么连泛型都反对,还把 Rob Pike 拿出来。

    Rob Pike 本人并不反对泛型,现在的泛型是 Phil Wadler 实现,这位是 Rob Pike 当年的同事,就是 Rob Pike 请来的。Rob Pike 自己说过没有泛型的情况下有些事情做起来效率低下。
    Trim21
        39
    Trim21  
       27 天前
    @Trim21 #38

    arXiv:2005.11710v4

    Featherweight Go

    Recently, the Go team mooted a design to extend Go with generics [Taylor and Griesemer 2019],
    and Rob Pike wrote Wadler to ask:

    Would you be interested in helping us get polymorphism right (and/or figuring out
    what “right” means) for some future version of Go?
    ZxykM
        40
    ZxykM  
       27 天前
    @KaynW 你这么说确实可能在刷 KPI 了属于是
    Grayan
        41
    Grayan  
       27 天前   ❤️ 8
    @PureWhiteWu #13 哟,这不是我们的字节的 rust 大佬,掘金 rust 小册卖课导师?劝你少进来掺和,就你们做的那些事就别来蹭流量了,好好去卖你们的课吧 https://www.v2ex.com/t/970748
    Rehtt
        42
    Rehtt  
       27 天前 via Android
    泛型用习惯了很好用啊,习惯后完全没心智负担
    angrylid
        43
    angrylid  
       27 天前
    Rob Pike 就不能是高风亮节,功成身退吗?非得年复一年给 Go 指明方向?
    qW7bo2FbzbC0
        44
    qW7bo2FbzbC0  
       27 天前
    @yb2313 c# 在 2.6 内核上跑起来稍微麻烦点,需要装额外的依赖包,不如 go
    qW7bo2FbzbC0
        45
    qW7bo2FbzbC0  
       27 天前
    @yb2313 dotnet 8 不支持 3 内核,也就是需要 5 内核的分发版。 如果你的生产环境不存在 2.6 内核系统,你写的 dotnet8 代码也不需要部署到 3 内核上。那么很舒服

    go 现在对 2.6 3 5 内核的支持都很平滑

    我之前选型过,最后还是用的 go ,写的很恶心
    lveye
        46
    lveye  
       27 天前
    rob pike: "The language is done."😎
    jeesk
        47
    jeesk  
       27 天前 via Android
    谷歌就是这个鸟样子 纯粹恶心人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   934 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:31 · PVG 03:31 · LAX 12:31 · JFK 15:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.