V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
snipking
V2EX  ›  程序员

典中典! C 和 Rust 的 Linux 内核工程师吵起来了, Java 躺枪

  •  1
     
  •   snipking · 114 天前 · 8218 次点击
    这是一个创建于 114 天前的主题,其中的信息可能已经有所发展或是发生改变。

    25 分 29 秒起

    v2 的这个 youtube 链接自动转视频的功能不支持加时间戳参数哇
    28 条回复    2024-09-02 11:37:22 +08:00
    Goooooos
        1
    Goooooos  
       114 天前
    Java 已经习惯性被拿来批判
    crackidz
        2
    crackidz  
       114 天前
    Java 的这些地方做的就是不好嘛,被批判也很正常。起码目前还没有一种完美的语言出现
    NessajCN
        3
    NessajCN  
       114 天前 via Android
    发言那个 C 工程师是不是以为他每改一次 C 代码 Rust 那边就要重新手搓一遍用了他 abi 的 Rust binding…
    Rust 有 bindgen 啊…最多就是像正常调用一样要注意下参数和返回,binding 是不用手搓的。
    undeflife
        4
    undeflife  
       114 天前   ❤️ 1
    @NessajCN 措辞明显对 rust 有敌意,有些先入为主的误解。
    kneo
        5
    kneo  
       114 天前 via Android
    程序员还是擅长线上吵架。面对面吵架太吃亏。
    diagnostics
        6
    diagnostics  
       114 天前
    发言的 C 工程师逻辑和发音都很清晰,演讲者反而口音很重,怎么 Linux 研讨会的不写演讲人信息?这个 Kent 似乎不是人名
    levelworm
        7
    levelworm  
       114 天前
    可以可以,反正都用 C 就好了嘛。
    MrKrabs
        8
    MrKrabs  
       114 天前
    如果美丽收税 那么 rust 就是首富
    Nitroethane
        9
    Nitroethane  
       114 天前
    @diagnostics #6 演讲者是内核 Rust 核心开发者吧,应该是 India 过来的。发言的老哥应该是地道漂亮国人。口音不是啥可吐槽的地方吧,再说这老哥的口音已经很淡了,听起来基本没啥障碍。
    bojackhorseman
        10
    bojackhorseman  
       114 天前
    评论区已关闭🤣
    bczhc
        11
    bczhc  
       114 天前 via Android   ❤️ 2
    Kent Overstreet ,bcachefs 里的那个?!
    FightPig
        12
    FightPig  
       114 天前
    JAVA:为什么受伤的总是我
    afeiche
        13
    afeiche  
       114 天前
    内核工程师用 java 来做对比感觉有点掉价了,不如集火 C++
    Kauruus
        14
    Kauruus  
       114 天前
    @NessajCN bindgen 生成的只是 low level binding ,还是 unsafe 的。像 25:29 那些 safe high level API (get_or_create_inode) 还是要手搓。如果 iget_locked 真的改了(虽然我觉得这个 api 基本不会改了),手搓的部分还是要再搓一遍。然后实现就会不同步。
    NessajCN
        15
    NessajCN  
       114 天前
    @Kauruus high level 那边本质已经是调用了啊
    bczhc
        16
    bczhc  
       114 天前   ❤️ 1
    发言者是一个 patch 提交者,旁边站的是 Kent ,写 bcachefs 的那个。我看完了,感觉也不太算是吵架吧,就是下面提问题和质疑,上面回答。只是 25:29 那个确实能听出来对 rust 抱有些敌意。
    ck65
        17
    ck65  
       114 天前
    Wedson Almeida Filho 已经宣布退出 Rust-for-Linux 开发组了

    https://lwn.net/Articles/987635/
    Kauruus
        18
    Kauruus  
       114 天前   ❤️ 1
    @NessajCN Rust for Linux 做的就是 kernel api 封装 + high level 抽象,说是调用也没问题。

    如果 Rust 不进内核倒没这么多问题了,让 Rust 开发者改调用的就是了。

    但是 Rust 进到内核之后,C 开发者和 Rust 开发者的合作就会有很多问题。C API 改动导致 Rust 代码编译不过的话,怎么办?放着不管? 让 C 开发者学 Rust ,改 Rust 代码? C 部分的开发、设计会不会受 Rust 的影响和限制?。。。
    NessajCN
        19
    NessajCN  
       113 天前   ❤️ 1
    @Kauruus 这么说的话确实。Rust 工程师开发内核必然要懂 C, 反过来就不一定了。那么两者都往内核提交的话 C 的地位就变得跟 Rust 平等,也就是 C 工程师同样要会 Rust.
    个人觉得这本就是应该的。你一个 C 工程师如果要继续开发内核本就该跟 Rust 工程师一样两者都会,这已经不是技术问题而是个管理问题了。
    liaohongxing
        20
    liaohongxing  
       113 天前   ❤️ 3
    @NessajCN 你这发言就太扯了,比如 java, 我不反对你用 ,甚至该用就用 。但是你强迫我用,那那我反对 。我要把 RUST 踢出内核,搞清楚谁是主导地位
    zemo
        21
    zemo  
       113 天前
    不是,你们都能看到视频吗?为啥我就一张黑图?
    majula
        22
    majula  
       113 天前
    我支持 rewrite everything in Rust ,也支持 ISO C working group 宣布 deprecate C 然后当场解散(虽然后者大概率不会很快发生)

    但是如果说要在一个发展了 30 余年,全球数亿人在使用的庞大项目中引入新的接口和编程范式,并需要所有项目维护者注意配合,那还是要保持怀疑的态度,谨慎对待
    levelworm
        23
    levelworm  
       112 天前 via Android   ❤️ 1
    我支持 everything in C 来吧大家都写 C 。
    flyqie
        24
    flyqie  
       111 天前 via Android
    rewrite everything in Rust

    这真是个地狱笑话。

    linux 的很多场景,c 能很好支持,但是 rust 却很困难。

    一直很不理解为什么 rust 要进到内核,这有什么意义? 复杂的语法和复杂的编译器来做安全保障? 简直是个笑话,用 rust 替代 cpp 我持中立态度,rust 替代 c 我只感觉到恶心,rust 本来就不是拿来代替 c 的,这是 linux 内核,这不是上层应用!
    levelworm
        25
    levelworm  
       111 天前 via Android
    @flyqie 这个大概是政治上的攻城略地。进了内核就意味着什么都可以进了。
    junkun
        26
    junkun  
       111 天前
    @majula 不是引用新接口的问题,是如果别人用了某个接口,上游的人改之前需不需要跟别人沟通。如果上游自顾自地改了一个接口,然后下游的东西全挂了,上游还觉得无所谓。我觉得挺糟糕的。
    何况这个人的态度就像是,如果你依赖我的接口,我就改给你看。
    https://vt.social/@lina/113045455229442533 还有别的开发者反馈,因为是 rust 开发者,所以提交 C 语言部分的 patches 就被故意拒绝。
    james122333
        27
    james122333  
       111 天前 via Android   ❤️ 1
    还是 C 好 Rust 浪费资源太多 编译时间 硬盘消秏都是 还有一些迷你几百 KB 大小的 C 编译器可以用 编译速度还很快 一般 gcc/llvm 是重量级了 支持比较多 features
    flyqie
        28
    flyqie  
       111 天前 via Android
    @james122333 #27

    是的,主要是 rust 本身就不是对标 c 的。。

    linux 内核在历史上也大量依赖 c ,这加 rust 很不合适。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2479 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:22 · PVG 13:22 · LAX 21:22 · JFK 00:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.