2012年到2015年这三年多的时间里,开发者持续不断的改进rust语言、编译器和标准库,翻新重修,精益求精 version 0.11.0 (july 2014): ~1700 changes, numerous bugfixes 大家可以比照近十年在中国大陆和近两年在南中国海的大型基建项目的进展速度,体会rust那种热火朝天的开发场面处于这样的开发环境下,所有人都深受鼓舞,所有人都知道,一切都会越来越好,知道所有的欠缺和困难都是暂时的行动永远比语言有说服力 2009年,rust项目被graydon hoare赠送给(英文原文"was presented to")mozilla公司,并得到持续活跃地开发支持mozilla创建了以graydon为首的专业团编程语言版本区别队全职开发rust,并且开放源代码 我(liigo)从2013年底开始正式关注rust项目,……至今有一年半了其中有赞有批,有争有闹,也有贡献源码本文所写的是我这些日子以来的所看、所闻、所感 历经近十年精心打造,rust靠自身实力赢得未来2015年5月16日,rust正式发布1.0版本,破茧成蝶,吹响进入新时代的号角 判断一门新的编程语言“是否靠谱”,是主观性很大的课题rust语言今日才刚刚发布1.0版本,它的未来发展走向如何,谁也说不清楚,说到底都是猜测但是直觉告诉我,如果人靠谱、团队靠谱、技术能力靠谱、态度靠谱、社区靠谱,这个项目在很大程度上就是靠谱的、值得期待的 “大刀阔斧&r编程语言参考手册dquo;,用于形容其开发行为豪迈、干脆,持续追求“更好的设计和实现”,无包袱、无迁就只要有了更好的设计(或实现),经过深入讨论和评估之后,果断替换掉旧的设计(或实现)不管这项改动有多复杂、多麻烦,也不理会因此形成的大量不兼容性,勇往直前的行动说去胳膊就去胳膊,说卸腿就卸腿,就是眼睛它也敢摘下来镶个火眼金睛再装回去牵一发而动全身的事情,干了可不止一次例子有很多,最典型的是libgreen,之前rust靠它一条腿走路,后来有了libnative,两条腿走路,再后来全都砍掉,最终做到没有运行时(runtime)其他的例子还有std::io/os/path的大型重构(i/o os path r编程语言是什么eform),重新设计然后无缝替换回去(有rustc、servo为证),可谓自己给自己做了大型手术一个新兴的项目,在真正面世之前的开发过程中,如果不经历几次这类大的阵痛,很难说它最终是成熟的和久经考验的如果因为各种顾虑而迁就、保留旧的设计(或实现),很难说最终的产品是完善的和设计优良的如果面世之前都不肯改进,面世定型之后改进的可能性就更小了(束手缚脚),缺陷可能伴随终生,令所有的用户长期的纠结(这种大刀阔斧,与我(liigo)当年在易语言公司参与研发ef语言时我所主张并践行的观点一致有意推迟发布1.0也是为了给完善产品留足充裕的时间) github上用rust语言开发的项目也风风火火(详见下文) 更多详情见请继续阅读下一页的精编程语言技术应用彩内容: http:// version 1.0.0-alpha.2 (february 2015): ~1300 changes, numerous bugfixes 2010年至2011年,rust语言的编译器被用rust语言重写,完成自举,采用llvm作为编译后端——之前的rust编译器是用ocaml语言编写的 2006年,创始人graydon hoare启动了rust编程语言项目,利于业余时间开发了三年,完成rust语言的第一个可用版本早期的rust编译器 rustboot 是用ocaml语言开发的这三年间发生的事情,我们现在知道的并不多根据创始人对rust的命名,可以一窥其设计初衷: version 0.10 (april 2014): ~编程语言好学吗1500 changes, numerous bugfixes 有大量的(超过 1000 人!)第三方开发者给rust贡献源代码、文档和测试用例 我从很多名称中挑选出了"rust"主要受到病原菌的启发——那些令人惊讶的、生死轮回的、多源寄生的奇妙物种而且"rust"还有其他内涵:它很好地契合了“贴近金属”(bare metal)、“复古编程语言技术”的主题;它从字面上融合了"trust"(信任)和"robust"(健壮) —— graydon hoare 有一个网站叫 "this week in rust",每周进展公告,专门介绍rust语言最近一周的最编程语言环境配置新重大变动,可供大家参考里面的内容虽然不全,但颇有代表性这个网站几经变迁,但是自2013年6月上线时起,两年来,cmr坚持每周更新,几乎从未中断 有一个核心团队(the core team)负责项目的发展方向和最终决策 2012年1月发布0.1版,第一个面向公众的预览版本问世从那时起,平均每3个月发布一个新版本,版本号每次只加0.1,改动的内容却往往天翻地覆不断地否定自己,不断地超越自己,一步一个里程碑 公开接受第三方开发者提交的 pull requests,必要时还指导开发 开放系统设计过程,重要设计项目的提出、讨论、评估、决策均在线进行(rfcs) 相当彻底的开源项目,开放、透明、友好,进度热火朝天,动作大刀阔斧这是我第一次亲身参与并观编程语言技术应用察到的如此大规模的开源编程语言项目的开发过程(之前也关注过go语言项目,但其规模要小得多) version 1.0.0 (may 2015): ~1500 changes, numerous bugfixes 2012年到2015年这三年多时间,rust和servo互相扶持着茁壮成长起来了mozilla公司在rust和servo这两个不盈利的开源项目上付出的大量人力物力财力和时间成本,体现了他们全力打造下一代全新系统编程语言的决心和气魄但是他们很少花费精力在大规模宣传和营销上,导致大部分公众/开发者几乎从没听过rust语言,仅靠长期的口碑相传吸引了一批慧眼识金的忠实的开发者 memory safety without garbage colle编程语言的版本区别ction version 0.12.0 (october 2014): ~1900 changes, numerous bugfixes rust不是富二代也不是官二代,它没有一个有钱或有权的爹mozilla公司,论资金规模和影响力,远远不及google、apple、microsoft,勉强算是二流公司,但是它依然给予了rust长期的坚定的支持 version 0.8 (september 2013): ~2200 changes, numerous bugfixes “热火朝天”,用于形容其工程量大、进度快、成效显著看看rust的 release notes,常见这类字眼: 2. 开放、友好、高效的开源社区 1. rust编程语言 ver编程语言技术应用sion 1.0.0-alpha (january 2015): ~2400 changes, numerous bugfixes 总之我(liigo)说rust的开发“热火朝天”,一点也不夸张(我还要顺便鄙视apple公司,发布某某os新版的时候,动不动就说“新增1500项api”,哎,咱还就较真儿了,去查,算上所有function、所有type、type内的所有method、所有常量定义—— #define xx 123,你懂的 ——勉强够数!跟rust的 "~1500 changes" 相比,天上人间) 2012年2月,也就是rust 0.1刚刚发布不久, servo项目被创建,用ru编程语言技术应用st语言开发下一代浏览器引擎,目的在于验证rust语言开发大型实用项目的能力 除此之外,我再补充一些关键词,以便读者更直观地了解rust:静态类型/编译式语言/静态编译/动态编译、泛型/函数式/面向对象、模式匹配/adt、dst/hkt/associated types/闭包(closures)、static/dynamic/multiple-dispatch、没有虚拟机(vm)、没有垃圾收集器(gc)、没有运行时(runtime)、没有空指针/野指针/内存越界/缓冲区溢出/段错误、没有数据竞争(data race)…… 还有很多就不一一列出了rust自从2012年1月20日发布0.1版,到现在的1.0正式版,平均编程语言发展每隔三个月发布一版,每次升级改进都多达一两千项rust是在github/git上在线开发的,开发者对源代码的每一项改动(commits)都被版本管理系统记录在案,有据可查大多数是实质性的功能升级,不存在靠修改标点、配置文件、拼写错误、或者每改三五行代码就提交的凑数行为(在此严重鄙视atom器、kotlin语言)反而常见动不动就一次提交上千行甚至上万 行 rust 代码的情况,例子比比皆是:1 abstraction without overhead concurrency without data races (题图来自编程语言技术应用:redbubble.net) irc,internals,reddit/r/rust,hn(hacker news), stackoverflow有许多跟rust相关的技术讨论,常见核心开发者参与其中 rust(blog)是一门强调安全、并发、高效的系统编程语言其中四个关键词,系统编程、安全、并发、高效,是rust语言的核心特征,也是区别于其他编程语言的首要因素 谨以此文,献给我长久期待的 rust 1.0! 需要强调的是,rust开发者大刀阔斧的日子,只发生在rust 1.0正式版发布之前1.0之后,他们将老老实实的遵守semver 2.0 规范,再也不会轻易做出破坏代码向后兼容性的行为本文后面还会谈到这一点 内部决策过程也公编程语言好学吗开透明,每周发布会议记录(meetimg-minutes) 3. 十年勤耕不辍、低调做人高调做事 多次在世界各地(包括北京)主办和协办小型本地开发者见面会 序言:本文试图帮您解答“我要不要(投入大量时间和精力)学习rust语言?”这个问题尽量较少的谈及rust语言本身,反而尝试从rust语言周边入手,长时间、大范围、多角度地考察,研判rust语言是否靠谱,并给出尽可能客观的理由为写成本文,@liigo不惜“卧底”rust“老巢”长达一年多,收集整理总结了大量信息如果嫌长,可以只看小标题,粗略浏览一番 version 0.9 (january 2014): ~1800 changes编程语言开发, numerous bugfixes 多次将优秀的第三方开发者吸纳进入官方开发团队和核心团队 开放源代码、github/git在线开发 https://github.com/rust-lang/rust …?… rust语言具有特性丰富、设计优良、适用范围广等诸多优点 治疗白癜风去哪家医院北京白癜风的权威专家转载请注明原文网址:http://www.gzdatangtv.com/bcyyys/300.html |