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

两篇 Rust 安利文

  •  4
     
  •   tioover ·
    tioover · 2015 年 2 月 27 日 · 13940 次点击
    这是一个创建于 3979 天前的主题,其中的信息可能已经有所发展或是发生改变。
    传教文:Rust 大法好
    http://eggfan.org/2585

    Rust 之坑:啰嗦的浮点数排序
    http://eggfan.org/2607


    都是我写的,现来安利。为了让看到的人多一点我就不放 Rust 节点了,见谅。

    有什么修改意见和疑问都可以回复。

    另,例子中的链表是不可变的数据结构,可变的在之后也折腾出来了。
    54 条回复    2015-04-07 21:45:34 +08:00
    qdwang
        1
    qdwang  
       2015 年 2 月 27 日
    Rust 大法好
    zxteloiv
        2
    zxteloiv  
       2015 年 2 月 27 日
    Rust 大法好
    elegzg
        3
    elegzg  
       2015 年 2 月 28 日
    学这么多语言,楼主蛋疼?
    elegzg
        4
    elegzg  
       2015 年 2 月 28 日
    Golang编译hello world为何要1M, rust只有12K?
    bombless
        5
    bombless  
       2015 年 2 月 28 日 via iPhone
    233,真被你写出来了
    bombless
        6
    bombless  
       2015 年 2 月 28 日 via iPhone
    和C++比较那篇我本来想把shared_ptr比较的那里的过时内容换掉的。

    一看是wiki的没人peer review修改我就懒得动了
    longear
        7
    longear  
       2015 年 2 月 28 日
    @Livid
    发现这篇文章有触发 Reset Connection 的关键字, 传* 大*
    因为整晚首页都可以直连打开, 点开这篇后就 Reset 了
    bombless
        8
    bombless  
       2015 年 2 月 28 日 via iPhone
    难怪我点进来要https了
    skywalker
        9
    skywalker  
       2015 年 2 月 28 日 via iPhone
    在纠结入rust的坑还是nim的坑
    loading
        10
    loading  
       2015 年 2 月 28 日 via Android
    不和go跑个分?
    skywalker
        11
    skywalker  
       2015 年 2 月 28 日 via iPhone
    @loading rust性能完胜go应该没问题,没有gc
    tonyluj
        12
    tonyluj  
       2015 年 2 月 28 日
    Rust 各方面 design 都比 go 强。
    zonyitoo
        13
    zonyitoo  
       2015 年 2 月 28 日
    Go根本就无法比
    kn007
        14
    kn007  
       2015 年 2 月 28 日
    过来学习一下,嘻嘻
    jackysc
        15
    jackysc  
       2015 年 2 月 28 日
    过来看看学习
    lilydjwg
        16
    lilydjwg  
       2015 年 2 月 28 日
    我还真没想到排序时 NaN 要怎么办……
    tioover
        17
    tioover  
    OP
       2015 年 2 月 28 日
    @loading 网上有跑分,完爆没问题,稍慢于C++。但性能不是重点.
    @elegzg 主要是 Rust 的 Runtime 很薄,Go 还有 GC ,绿色线程等一大堆代码。
    @longear 不会吧……
    ysmood
        18
    ysmood  
       2015 年 2 月 28 日
    感觉现在很多人倾向于使用 nim,和 nim 比比呢?
    tioover
        19
    tioover  
    OP
       2015 年 2 月 28 日
    @ysmood
    Nim 和 Rust 差别很大,Nim 注重简洁简单,类似 Python 或者 Ruby 语法的 C,在安全性上无法与 Rust 匹敌,包括内存安全和类型安全,但是语法简洁易学,且没有像 Rust 的 lifetime 这种学习负担。
    个人认为 Nim 不怎么适合工业级的软件。

    另外有 Nim 竞争能让 Rust 社区感到危机感加快改进语言,是很好的事情,最近 for 语法的改变不知道有没有这个原因。
    tioover
        20
    tioover  
    OP
       2015 年 2 月 28 日   ❤️ 1
    pathletboy
        21
    pathletboy  
       2015 年 2 月 28 日
    我会说rust错误返回的那个设计会把你搞的云里雾里吗?真不如golang的error直截了当。
    dreamtrail
        22
    dreamtrail  
       2015 年 2 月 28 日
    还是比较看好rust的,以后如果能进语言排行版前10,我就来学。。
    tioover
        23
    tioover  
    OP
       2015 年 2 月 28 日
    @pathletboy
    为什么?和 Haskell 是一样的,就是个 Monad。
    实际上 Rust 根本没有错误处理特性。就是一个数据类型,没有什么特殊的。
    phoenixlzx
        24
    phoenixlzx  
       2015 年 2 月 28 日
    还有一个生态环境的问题.... 有些语言虽然满是坑但是生态很好所以一样非常火爆。( 我真的没在说 js

    rust 还没了解过,Go 现在的生态已经开始发展了吧?
    tioover
        25
    tioover  
    OP
       2015 年 2 月 28 日
    @phoenixlzx 现在没有像 Docker 这样的重量级杀手应用,但是生态已经很不错了 https://github.com/trending?l=rust
    loading
        26
    loading  
       2015 年 2 月 28 日
    能顺便简要说明下 Rust 在 windows、Linux、OS X 部署难易度和“包”(近似概念?)的数量和成熟度问题。
    虽然 Go 老爸不怎么管他,但是Go社区活力也是很足的,Rust 呢?

    btw:这段时间在观摩 node.js、Go,好吧,加入下 Rust。
    想换一下语言(python)写点小玩具。
    hooluupog
        27
    hooluupog  
       2015 年 2 月 28 日
    @tonyluj 是么?Go可以:"productive in one day, efficient in one week, expert in one year."这点,从现在一些初创公司1年多的实际使用,得到了验证。
    我搞不懂把Rust总和Go放在一起比较的什么心态?一个有gc,一个没有gc(不过llvm现在也在搞gc了),一个写服务器后端和web,另一个冲着c++去的,这样比较有什么价值么?
    Bluek404
        28
    Bluek404  
       2015 年 2 月 28 日
    和go没什么可比性啊……
    个人感觉go的设计是从实用角度来说,比如内置各种类型
    期待rust的国内圈子大一点
    tioover
        29
    tioover  
    OP
       2015 年 2 月 28 日   ❤️ 1
    @loading
    Rust 官方推出的包管理器 Cargo,能自动管理依赖,代码 Build 和测试。
    基本上很多 Rust 代码你 clone 下来以后运行 cargo run 就行了,非常方便。
    我只在 OS X 上编程,Linux 想必是没有什么问题的,Windows 就不清楚了。
    社区活力,你可以从 Rust 编译器的参与度来看,基本是开源的编程语言中最活跃的之一了。第三方库也越来越多,参见我上面的链接和 https://crates.io/

    @hooluupog 嗯,我不管 Go。
    loading
        30
    loading  
       2015 年 2 月 28 日
    @hooluupog 推荐本 Go 的书吧!
    rust目前还是太年轻,语法老变。。。
    tioover
        31
    tioover  
    OP
       2015 年 2 月 28 日   ❤️ 1
    @loading
    嘛,语法基本已经不变了,有些细节还在变,
    但是一个半月后Beta发布语法和库就真的固定了,之后是 bug fix 和向后兼容的增加特性
    hooluupog
        32
    hooluupog  
       2015 年 2 月 28 日   ❤️ 1
    @loading 官方的那个tour of go,雨痕的笔记和Go by example,Learning-Go-zh-cn(翻译版的电子书)都可以,这些都是入门的。感觉目前Go比较简单,没有什么值得深入的东西去写(比如像effecitve c++那种的,当然如果你对gc,编译器,调度器,并发怎么实现的很感兴趣,可以看源码,也有一些博客有这方面的介绍,但这些东西和使用这个语言本身来写东西 关系不大),基本上半天看书,半天上手,第二天就可以写个项目练手了。
    limhiaoing
        33
    limhiaoing  
       2015 年 2 月 28 日
    最近也在学rust,握手。
    djyde
        34
    djyde  
       2015 年 3 月 1 日
    我想问什么是安利文
    Comdex
        35
    Comdex  
       2015 年 3 月 1 日
    rust的语法没有go简单吧?让学java和c的人学习成本相比较大就阻碍它的发展了,这一点go很好
    janxin
        36
    janxin  
       2015 年 3 月 1 日
    Rust适合C/C++程序猿转过去,Go更简单,适合最开始上手
    joyee
        37
    joyee  
       2015 年 3 月 1 日
    @Comdex java/c转到C++的学习成本也不低吧,rust本来就是冲着C++去的
    tioover
        38
    tioover  
    OP
       2015 年 3 月 1 日 via Android
    @Comdex
    确实没有Go简单,看爱好了。
    我个人认为付出的学习成本很值。
    你如果有函数式编程andorC++编程经验会很爽的,而且类型安全对于消除Bug的帮助很大。
    tioover
        39
    tioover  
    OP
       2015 年 3 月 1 日 via Android
    @janxin 看领域,有些领域不适合Go,你又不会C++,学Rust就很棒。
    tioover
        40
    tioover  
    OP
       2015 年 3 月 1 日 via Android
    @djyde 推荐 传教
    acgeo
        41
    acgeo  
       2015 年 3 月 1 日
    那Nim和rust 相比呢。。。


    我是C++码农,特别稀罕rust,不知道何时能真正用上它
    tini14
        42
    tini14  
       2015 年 3 月 1 日
    没把分号去掉,有些遗憾
    tioover
        43
    tioover  
    OP
       2015 年 3 月 1 日 via Android
    @acgeo 我前面说了一下。
    joyee
        44
    joyee  
       2015 年 3 月 1 日
    @djyde 你听说过安利吗?XD
    janxin
        45
    janxin  
       2015 年 3 月 1 日
    @tioover 赞同
    Comdex
        46
    Comdex  
       2015 年 3 月 1 日
    @tioover
    @acgeo
    @janxin 看看D语言吧个人觉得比rust更好,以成为第二个c++为目标
    artwalk
        47
    artwalk  
       2015 年 3 月 2 日
    前一阵子去过 Firefox 的 rust 见面会,感觉目前还是太小众了
    tioover
        48
    tioover  
    OP
       2015 年 3 月 2 日 via Android
    @Comdex D语言发布了很久但是社区不见起色,没了解过,请问比 Rust 好在哪里呢?
    tioover
        49
    tioover  
    OP
       2015 年 3 月 2 日 via Android
    @artwalk 一个几周后才开始向前兼容的语言,在国内不小众也难,同时,你去 GitHub 比较一下会发现一点也不小众。
    yegle
        50
    yegle  
       2015 年 3 月 3 日
    是这样的…我听说rust很好用,就去官网想看tutorial学习一下,结果tutorial给的代码居然跑不了,只好作罢…

    然后我刚才想给出当时看的tutorial的页面作为证据,结果发现这货的tutorial已经被deprecated了…要不要改得这么快啊… https://doc.rust-lang.org/tutorial.html
    tioover
        51
    tioover  
    OP
       2015 年 3 月 3 日 via Android
    @yegle 常有的事,但是现在大改少了,基本不会遇到了。
    你这个很早就废除了,已经有几个月了。
    学的话可以看 book 或者 rust by example
    Comdex
        52
    Comdex  
       2015 年 3 月 4 日
    @tioover 语法容易上手,而且这货的反射居然是在编译时完成的!
    tioover
        53
    tioover  
    OP
       2015 年 3 月 5 日 via Android
    @Comdex 编译时的就不叫反射了吧
    artwalk
        54
    artwalk  
       2015 年 4 月 7 日
    @tioover 我是希望设计不错的语言,诸如 rust 等,能流行起来的
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   964 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 21:45 · PVG 05:45 · LAX 13:45 · JFK 16:45
    ♥ Do have faith in what you're doing.