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 · 2024-08-19 19:01:42 +08:00 · 5621 次点击
    这是一个创建于 380 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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


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

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

    Rob Pike 本人并不反对泛型,现在的泛型是 Phil Wadler 实现,这位是 Rob Pike 当年的同事,就是 Rob Pike 请来的。Rob Pike 自己说过没有泛型的情况下有些事情做起来效率低下。
    Trim21
        39
    Trim21  
       2024-08-20 06:29:32 +08:00
    @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  
       2024-08-20 09:01:20 +08:00
    @KaynW 你这么说确实可能在刷 KPI 了属于是
    Grayan
        41
    Grayan  
       2024-08-20 09:05:17 +08:00   ❤️ 8
    @PureWhiteWu #13 哟,这不是我们的字节的 rust 大佬,掘金 rust 小册卖课导师?劝你少进来掺和,就你们做的那些事就别来蹭流量了,好好去卖你们的课吧 https://www.v2ex.com/t/970748
    Rehtt
        42
    Rehtt  
       2024-08-20 09:50:47 +08:00 via Android
    泛型用习惯了很好用啊,习惯后完全没心智负担
    angrylid
        43
    angrylid  
       2024-08-20 10:20:27 +08:00
    Rob Pike 就不能是高风亮节,功成身退吗?非得年复一年给 Go 指明方向?
    qW7bo2FbzbC0
        44
    qW7bo2FbzbC0  
       2024-08-20 11:05:09 +08:00
    @yb2313 c# 在 2.6 内核上跑起来稍微麻烦点,需要装额外的依赖包,不如 go
    qW7bo2FbzbC0
        45
    qW7bo2FbzbC0  
       2024-08-20 11:08:05 +08:00
    @yb2313 dotnet 8 不支持 3 内核,也就是需要 5 内核的分发版。 如果你的生产环境不存在 2.6 内核系统,你写的 dotnet8 代码也不需要部署到 3 内核上。那么很舒服

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

    我之前选型过,最后还是用的 go ,写的很恶心
    lveye
        46
    lveye  
       2024-08-20 16:24:48 +08:00
    rob pike: "The language is done."😎
    jeesk
        47
    jeesk  
       2024-08-20 22:22:24 +08:00 via Android
    谷歌就是这个鸟样子 纯粹恶心人
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2984 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:49 · PVG 21:49 · LAX 06:49 · JFK 09:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.