Rust语言中文教程RustPrimer的诞生记(开放下载)

作者:唐刚(GitHub),Rust中文社区站长、妈咪问问CEO,前美洽网络联合创始人兼CTO,曾在龙芯梦兰担任近3年的研发工程师。
责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件[email protected],另有「CSDN Rust语言交流群」,内有诸多知名互联网公司的大牛架构师,欢迎爱好者加微信qshuguang2008申请入群,备注:姓名+公司+职位+Rust。
RustPrimer: Rust语言中文教程RustPrimer下载,尽在Rust知识库首页的电子书栏目中,或者点击这里下载。


【编者按】CSDN一直关注着系统级编程语言Rust,与国内的社区人士建立了深厚的友谊,开展了形式多样的活动,包括微课堂、技术公开课、知识图谱等。在年初,和Rust中文社区站长唐刚交流时发现,国内学习者没有一本给初学者的书,无形中给很多感兴趣的人增加了学习门槛,特计划出一本初官方版本之类的教程书,终于在日前得到各方的大力支持并得以完成,期间的故事是怎样的?参与的可爱人有哪些?遇到了哪些困难?如果你致力于推动Rust的发展还可以做些什么?敬请一看唐刚所撰写的本文。

RustPrimer是一本给初学者的Rust中文入门教程书。

自从Rust 1.0于2015年5月15日发布以来,全世界很多开发者都在尝试学习Rust,并应用在工程实践中。中国的开发者也不例外。

但是一直以来,只有一本官方的Book。这本书的章节编排不是很适合新手,而且是英文版的(这里不争辩关于学习最新前沿知识是否需要中文版书籍的问题,我们考虑的是更广泛的受众群体),不利于国内的Rust爱好者学习。

另外,Rust社区还存在的一大问题是:互联网上存在大量Rust 1.0之前的教程、博客文章,这些内容在现在几乎已经不能看了。这些内容的存在,大大误导的新人的学习。这个对于中国的初学者尤甚,因为他们往往很难分清哪些文章是对的,哪些是错的。跟了错误的向导,结果编译不过,对他们的信心是极大的打击。

为此,我们Rust中文社区的成员们一直在尝试生产更多的最新版本可用的中文资料——对国际前沿技术博客的翻译,对Rust官方Book的翻译,写一些原创性的文章,建立中文维基等等。

但是,这些努力,都是零散的。要真正产生较大的影响力,我们需要一本书!特别是给初学者的书。抱着这个理念,我们开始了筹备工作。

但是,一本书,特别是一本有难度有广度的书,不是一两个人能轻易Hold住的,必须要有扎实的理论基础以及丰富的实战经验,才能把控(所谓的深入浅出)。而且,要讲解的知识点太多,工作量也是一个问题。于是,我们准备发动社区的力量,做一次集体智慧的尝试。

2015年11月底,Mike在Github Rustcc组织下创建了RustPrimer工程,开始了团队协作书写。Mike拟出了大纲,初步分成了33章,由社区成员自愿申领任务。制定了协作的规则,并在国内所有Rust相关QQ群、微信群、论坛进行了宣传。

在一周之内,大约有10人左右申领了60%的章节。每个人申领的时候,标注章节名称、申领人昵称和完成时间。虽然没有分配完。但整个项目还是启动了。我们的一期目标是在2月底,完成1.0初稿的冻结。

在书写的过程中,又陆续有新同学加入,章节剩得越来越少了。

但实际到了2月底,还有大约5章没有人申领,还有3章左右申请过的人没有提交。为此,我们不得不调整计划,3月31号一定要冻结版本。

为了提高执行力,没有申领的5章和没有提交的3章,直接由Wayslog与Mike各分4章。最终按期完成。2016年3月31日,初稿完成。发布v1.0版。

但,这仅仅是初稿,未经全面审校。初稿的发布,在社区中产生了积极的正能量和推动力。更多的人有兴趣参与进来,对1.0初稿,进行了大规模的校审,对其中不好的一些章节进行了重写,对缺失的章节进行了补充。整个过程从3月底一直持续到5月底,整体才算比较定型。审校的过程主要由Wasylog与大N牵头,Elton、失落的神喵和魔理沙等同学付出了大量心血。

从15年11月底到16年5月底,为期刚好半年。RustPrimer作为一本入门书,基本达到了它的目标。它是整个Rust中文社区共同努力的结果。其中,参与本书书写及校订贡献比较多的Rustacean有(排名不分先后):

  • daogangtang(Mike猫)
  • wayslog(猫猫反抗团团长)
  • marvin-min
  • tiansiyuan
  • marvinguo
  • ee0703
  • fuyingfuying
  • qdao
  • JohnSmithX
  • stormgbs(AX)
  • tennix
  • anzhihun
  • zonyitoo(Elton, e猫)
  • 42
  • Naupio(N猫)
  • F001(失落的神喵)
  • wangyu190810
  • domty
  • MarisaKirisame(帅气可爱魔理沙)
  • Liqueur Librazy
  • Knight42
  • Ryan Kung
  • ……

在此,向他们的辛苦工作和无私奉献表示尊敬和感谢!

RustPrimer仍然有很多不尽如人意的地方,这点需要持续改进。好在,我们的项目是开源的,利用Github进行协作,任何人都可以在任何时候参与进来。它作为一个项目,存在的只有里程碑,不存在的是尽头。所以,也欢迎广大爱好者积极参与进来,We need your hands。

RustPrimer是世界上第一本完整的Rust入门书籍。是的,世界第一本,而不仅仅是中国。目前本项目已经展开了英文版翻译的计划。

到目前为止,RustPrimer有588个star,96个fork。作为一个书籍类项目,我们为它的运作成绩感到欣慰。

下面由我来总结一下运营开源社区项目的经验:

  1. 需要有牵头人;
  2. 需要牵头人有很强的执行力,并且有耐心,不厌其烦,实时跟进,与社区参与者所有人做好沟通;
  3. 需要有几个核心成员,强力执行;
  4. 需要平等,公正,民主。大家参与项目都是自愿,是不计报酬的。利用公平的机制,调动大家的积极性;
  5. 需要在一开始,就定义好协作的规则;
  6. 需要在一开始,定义好本项目遵守的版权;
  7. 需要利用现代工具,如Git,GitHub,GitBook,MarkDown等。

从Rust 1.0 正式版发布开始,国内逐渐涌现了一些有份量的Rust开源项目,现简单罗列如下:

  1. coio – Elton主导的协程库;
  2. sapper – Mike 主导的轻量级异步web开发框架;
  3. rustr – Qinwf主导的Rust与R交互的库;
  4. pencil – Fengsp主导的另一个web开发框架,借鉴自flask;
  5. tikv – PingCap 开发的一款分布式高性能数据库。

Rust生态已经在国际众多hacker和组织的参与下,逐渐建立起来了。Dropbox、Twitter、Google等大公司已经在内部使用了Rust。其实再没有理由怀疑Rust的前途,作为一门基因优秀的语言,作为一门集最近若干年工程最佳实践于一身的语言,还等什么呢?快来参与吧。


相关阅读:

  • Rust 1.0发布的这一年
  • Rust 1.8发布,放弃了Unix系统的Make编译系统
  • Rust 1.5来了

编辑推荐本站Rust资源:

  • 【专家极力推荐】Rust开发技术学习路线(你想要的都在这里!)
  • 【专家极力推荐】Rust 1.0发布半年后社区涌现的项目集锦
  • 【在线视频分享】以coroutine-rs为例深入浅出Rust协程库
  • 【微信群分享】冯耀明:Java和Rust在实现多线程编程时的异同
  • 【微信群分享】王川:Rust与异步并发的那些事儿
  • 【微信群分享】唐刚:Rust是近15年最佳工程实践的集大成者
  • 【技术文章】D语言架构师Andrei Alexandrescu谈D、Go、Rust取代C/C++
  • 【技术文章】批判Rust语言,以及C/C++为什么永远不会死
  • 【技术文章】为什么你需要近距离接触Rust 1.0
  • 【技术文章】使用Nickel开发Web应用:从第一行代码到Heroku部署
  • 【技术文章】我眼中的编程语言Rust和GO
  • 【专访】专访冯耀明:Rust具有C的速度且不用担心内存泄露
  • 【专访】专访Elton:浅谈C++、Go的挑战者Rust
  • 【专访】专访Liigo:我为什么要选择Rust?
  • 【Rust一周集锦】(一)、(二)、(三)

你可能感兴趣的:(Rust,编程语言,RustPrimer,程序员,唐刚)