C/C++学起来难,还是 Rust 学起来难呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yttsam
V2EX    推广

C/C++学起来难,还是 Rust 学起来难呢?

  •  
  •   yttsam 2021-12-08 21:23:48 +08:00 5397 次点击
    这是一个创建于 1410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我身边好多开发者,都认为 c 、c++学起来难,是真的吗?还有人说 Rust 学起来也难,那 c/c++相较于 Rust 学起来哪个难呢?

    这里有一份 C/C++学习资料:https://github.com/0voice/introduce_c-cpp_manual

    和一份 Rust 学习资料:https://github.com/0voice/Understanding_in_Rust

    17 条回复    2021-12-13 16:15:33 +08:00
    Origami404
        1
    Origami404  
       2021-12-09 00:17:23 +08:00 via Android   2
    我觉得 Rust 特别难(已经前前后后学四次失败了),但是不知道是不是因为我是母语 C++的缘故。
    补充:本人语言杂食,惯用 C ,Python ,常用 Racket ,C++,Javascript 。感觉 Rust 语言表面的糖有点多,在 C 之上叠的抽象步子跨得有点大,希望能有一个“无糖 Rust”教原理。
    agagega
        2
    agagega  
       2021-12-09 00:35:52 +08:00
    站在一个 Cpp 程序员的角度,我其实不太能理解为什么 Rust 会被认为比 C++「好学很多」(虽然我承认 C++因为历史原因坑非常多)。Rust 当然有很多优点,但它怎么说都更接近 C++/Swift 这样的语言而不是 Javascript (所以为啥这么多前端程序员跑去学 Rust 呢?)

    如果一个人没碰过 C++,大概也不好理解 Rust 里各种生命周期的概念(包括各种 String 的不同),也不明白为什么要这么设计,move 到底 move 的是什么。而如果很明白 C++,那么对 Rust 好像也没那么刚需?

    除开区块链这种已经形成 Rust 生态的应用场景,一个新开项目似乎也完全可以用 C++20 而不是 Rust ?
    thedrwu
        3
    thedrwu  
       2021-12-09 00:37:02 +08:00 via Android
    两个小时看完 the book 就能写 rust 了。
    c++的 template 奇技淫巧需要时常复习。immutable 和 move 本来就很实用,只不过 rust 强制了。
    Haskell 比 rust 早诞生了 20 年,如果当年有这样的社区,也会成为流行。
    ferock
        4
    ferock  
    PRO
       2021-12-09 01:07:24 +08:00 via iPhone
    c 不难
    cmdOptionKana
        5
    cmdOptionKana  
       2021-12-09 08:17:56 +08:00
    @agagega c++ 的工具链是个大问题,比如包管理、项目管理的 CLI

    @thedrwu Haskell 是纯函数式语言,不可能流行,纯函数式对程序员的要求会高一点,而且纯函数式写的时候是很爽,但阅读别人代码的时候还是痛苦。
    oOoOoOoOoOo
        6
    oOoOoOoOoOo  
       2021-12-09 08:30:59 +08:00 via Android
    @Origami404 差不多 4 5 次,后来想了想也用不到,就干脆直接放弃
    thedrwu
        7
    thedrwu  
       2021-12-09 09:35:29 +08:00 via Android
    @cmdOptionKana 读别人的 haskell 代码,看清类型就八九不离十了,写起来最需要思考的部分依然是在绕类型。

    rust 的感觉就是糅合了 Haskell 和 c++里最想要的部分。继续发展和优化的潜力巨大。能流行起来,IT 社区的贡献功不可没
    del1214
        8
    del1214  
       2021-12-09 11:00:40 +08:00
    学了 3 次,每次到 hello world 就放弃了
    ipwx
        9
    ipwx  
       2021-12-09 14:04:25 +08:00
    同 C++ 程序员,C++17 我都觉得很好用了,并且在等 C++20 。Rust 对我吸引力很小。
    hu8245
        10
    hu8245  
       2021-12-09 14:51:29 +08:00
    能看,不能写。还是 modern cpp 吧
    icyalala
        11
    icyalala  
       2021-12-09 14:55:58 +08:00
    C 、C++、Rust 是三门语言
    hhjuteman
        12
    hhjuteman  
       2021-12-09 14:59:38 +08:00
    多年 C++ 程序员,Rust 对我吸引力很小 +1 。
    更期待 Module Range Coroutines Concepts , 以及 23 可能加入的 executors
    RudyS
        13
    RudyS  
       2021-12-09 15:10:44 +08:00
    终究还是得看生产要求
    FightPig
        14
    FightPig  
       2021-12-09 15:43:19 +08:00
    虽然挺喜欢 rust 的,不过学了四五回了,最后也没用上,主要觉得写出来的代码看不习惯,各种'a 'b, where,啥的,发现 go 写起来也不好看,不过简洁些,所以最后用的最多的还是 go ,
    SjwNo1
        15
    SjwNo1  
       2021-12-10 13:41:25 +08:00
    停留在 println!("hello rust")
    shyling
        16
    shyling  
       2021-12-10 17:57:24 +08:00
    rust 简单一点。。

    新语言历史债少,文档更齐全
    dingwen07
        17
    dingwen07  
       2021-12-13 16:15:33 +08:00 via iPhone
    C 是一定要学的,先把 C 学了,然后就可以开始学 Rust 了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2516 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 04:18 PVG 12:18 LAX 21:18 JFK 00:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86