V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
serco
V2EX  ›  Rust

Rust 是有什么黑魔法吗?每次用了就忘

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

    之前用 Rust 写了个很简短的小项目,时隔一年多,又要捡起来用了,忘了个干净。。。然后翻着翻着突然想起来好像再往前一年也写过一个 Rust 的小项目。。。

    Ruby ,Javascript ,Swift 都没有给我这种感觉,甚至 N 久前浅接触的 Elixir 都没有这种感觉,就 Rust 特别行,每次都忘个干净。。。

    25 条回复    2023-02-10 16:22:06 +08:00
    fgwmlhdkkkw
        1
    fgwmlhdkkkw  
       187 天前   ❤️ 1
    因为 Rust 不解决问题,只暴露问题。
    serco
        2
    serco  
    OP
       187 天前
    @fgwmlhdkkkw 怎么理解?没明白
    kunkunzhang
        3
    kunkunzhang  
       187 天前
    rust 和 C++一样吧。语法多 语言设计偏底层
    mysalt
        4
    mysalt  
       187 天前
    不用就忘,这就是它的魔法
    cslive
        5
    cslive  
       187 天前
    编辑器教你怎么写,而不是你自己记住怎么写🐶
    liyang5945
        6
    liyang5945  
       187 天前
    +1 再学就是第三遍了
    fgwmlhdkkkw
        7
    fgwmlhdkkkw  
       187 天前   ❤️ 3
    @serco #2 就是有一个机器可以解决所有的问题,但是每种问题都需要按对应的按钮……那么你不仅需要了解问题,还要了解每个按钮。
    undeflife
        8
    undeflife  
       187 天前
    语法糖多,用得不够多且不够熟练。
    我学完了语言完成了练手项目,大半年后上项目的时候感觉又学了一遍。全职写了一年后就不存在这种感觉了。

    真正让我感觉用了就忘的是正则
    leonshaw
        9
    leonshaw  
       187 天前   ❤️ 1
    为了实现看上去优雅的设计,做了太多 dirty hack
    akaHenry
        10
    akaHenry  
       187 天前   ❤️ 10
    这是 rust 学习者的常态. 跟 C++ 一样. 都是暴露设计复杂度给所有人.

    rust 和 c++ 都是功能 强大性 vs 易用性, 平衡失败的典型案例.

    c++ 经常是为了敲个钉子, 先要发明个锤子, 然后发现没有车床, 就造了个车床, 之后就忘了自己要干什么...

    rust 对 c++, 是用复杂对抗复杂. 本身从理念上, 并没有进步.

    平衡性, 过去(现在不是)做的好的是 go 和 python. 未来看, 可能是 zig.

    rust 只是: 群众, 对当前一个能打的没有的现状的妥协. 比起 c++, rust 虽然难以下咽, 但咽下去了, 还是香的.

    吐槽之余, 可以看看 zig 的设计. zig 的平衡性做的非常好.

    基本用了很少的语法特性(1 周掌握), 实现了 rust 绝大多数需求点.

    简单易学+性能出色. 语法设计也很有美感.

    rust 这种"符号学大师", 是典型不懂 "减法原则".
    westoy
        11
    westoy  
       187 天前
    和主流编程语言差异太大, 包括编程习惯和思维模式

    主流编程语言虽然有差异, 但几乎都有类似的脉络,API 设计的时候也趋同, 这就是为什么很多时候学一门新语言几乎是没成本的。 写一个的时候对于已经掌握的其他也有个对照印证、加深记忆的过程

    但是非主流语言就不一样了

    我以前写 erlang 也是这样的, 写完了隔两个月全忘了, 要改只能再捡起来, 然后隔两个月又忘了
    tulongtou
        12
    tulongtou  
       187 天前
    还是写的少,写多了就不会有这种感觉了
    qsnow6
        13
    qsnow6  
       187 天前
    说明了语言只是工具
    @westoy #11
    cmdOptionKana
        14
    cmdOptionKana  
       187 天前   ❤️ 4
    @akaHenry

    > rust 对 c++, 是用复杂对抗复杂. 本身从理念上, 并没有进步.
    > 平衡性, 过去(现在不是)做的好的是 go 和 python.

    rust 和 C++ 追求极致性能, 没有 GC, 你拿来跟有 GC 的语言对比...

    有的语言追求平衡, 有的语言追求极致性能, 用途根本不同, 比如写 Chrome 写 Firefox, 用 go 和 python 怎么写? 就算 go 和 pytho 达到了平衡艺术的天花板, 还是写不了浏览器呀. 这能说理念上的进步退步吗?
    cubecube
        15
    cubecube  
       187 天前
    这么猛,以前这个写完就忘的桂冠可是 perl 的
    Jooooooooo
        16
    Jooooooooo  
       187 天前   ❤️ 1
    学来学去, 还是 java 好.
    libook
        17
    libook  
       187 天前
    Rust 语法糖很多,而且大量使用符号,记忆起来确实有难度,只能多练。

    而且我一直觉得 Rust 的语法应该分基础语法和高阶语法,绝大多数程序用基础语法可以不那么优雅实现,遇到更高要求再慢慢引入高阶语法,如果教材可以这么划分,估计能降低学习难度。
    xtreme1
        18
    xtreme1  
       187 天前
    @libook
    the Rust Book 就是这么做的
    libook
        19
    libook  
       187 天前
    @xtreme1 #18 我就是看官方英文的 book 学的,而且照着这本书学了两遍,并没有感觉划分这么明确,当然如果已经掌握 Rust 的人去查阅肯定知道哪些是基础哪些是进阶,但我作为小白来说至少教材没有明确给我这个信息。
    wonderfulcxm
        20
    wonderfulcxm  
       187 天前 via iPhone
    没学过 rust ,不过给我这种类似感觉的是 vue😂
    chiu
        21
    chiu  
       187 天前
    bash 不也这样吗 😂
    每次写都得重看一遍
    findex
        22
    findex  
       186 天前 via iPhone
    经常不用,再用又要重学…
    zeze0556
        23
    zeze0556  
       186 天前
    rust 的魔力就是过段时间,你看到 rust 会觉得,哇,又出来了一个很牛逼,很有用的新语言,要不要学习一下? rust 的缺点,设计思路复杂,为了安全绕道,语法糖太多,关键字太多,要查询的内容太多太散,说不定有人觉得这正是 rust 的优点或特色
    n30v1
        24
    n30v1  
       169 天前   ❤️ 1
    @akaHenry zig 抄袭 rust,不但没抄到精华,语法还不优雅,可读性很差,有种东施效颦的感觉,不如 rust 的一根吊毛
    tairan2006
        25
    tairan2006  
       107 天前
    设计的太复杂了,或者太丑了的就这样

    比如 Perl ,bash ,正则之类的,都这问题
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2781 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 13:22 · PVG 21:22 · LAX 06:22 · JFK 09:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.