QCon2016演讲《Rust语言的核心竞争力》总结和补充

QCon北京2016|全球软件开发大会 主编臧秀涛邀请,我(Liigo)于2016年4月23日在大会上做主题演讲《Rust编程语言的核心优势和核心竞争力》(PDF演讲稿)。由于是初次登台,现场表现不佳,个人不是很满意。故做本文对此次演讲进行总结和补充。

核心三要素:系统编程,零运行时,内存安全

我把Rust编程语言的核心优势和核心竞争力概括为三个要素:系统编程,零运行时,内存安全。在强调底层控制的系统编程领域,同时保持极小的运行时开销和极高的运行时效率,又保证了系统内存安全的现代编程语言,Rust几乎可以说是唯一的一个。这三个核心要素是过滤器,提高了竞争门槛,把许多对手拒之门外;同时也是一把双刃剑,把Rust自身限制为一个小众语言。(百姓网贺师俊老师现场提问说Rust啥时候能火起来,我说Rust顶多在系统编程领域小火一把,而系统编程在整个IT行业内也只是小众领域而已。Rust学习曲线陡峭,对程序员编程能力要求较高,不具备成为网红的潜力。我在现场的表述既啰嗦又不条理。)

对于系统编程,我总结道:系统编程是软件行业的基石,很多基础性的、平台性的大中型项目,或者隶属于系统编程,或者依赖于系统编程;系统编程强调底层控制、运行性能和系统安全;当前主流的系统编程语言C/C++在内存安全方面有重大欠缺。针对Rust和C/C++的竞争,我认为Rust的内存安全是竞争优势,C/C++的历史地位和积累是竞争优势,长远来看还是Rust潜力更大。

对于零运行时,我总结道:Rust语言的设计和实现十分重视运行时性能,尽力避免任何非必要的运行时开销,仅当与内存安全产生冲突时才有所妥协;Rust的运行性能跟C/C++在同一个数量级上。演讲中提到,“不为用不到的特性付出代价”是C++的设计原则同时也是Rust的设计原则。并针对无GC、无VM、无解释器,迭代器(Iterator),动静态分派(Static-,Dynamic-Dispatch),FFI,Thread,IO等操作做了运行时开销分析。特别地,强调了Rust语言不强制使用垃圾收集器(GC),没有明显的运行时开销。

对于内存安全,先说为什么内存安全很重要。然后逐一介绍Rust如何保障内存安全,其中涉及所有权(Ownership)、所有权转移(Move)、租借(Borrowing)、生命周期(Lifetime)等。

演讲之后的提问环节,除了贺老师问火不火外,还有个朋友问Rust跨平台的表现。我说,Rust标准库(libstd)是跨主流操作系统平台的(Unix/Linux/Windows/Mac),而Rust核心库(libcore)则跨更多平台,甚至可以工作在没有操作系统的裸金属(Bare metal)硬件环境中(此处可联想Rust“锈”之命名)。现场表现有些语无伦次。

另有朋友提问Rust和Go的区别。我回答说,Go是有GC的语言,而Rust没有GC,Rust属于系统编程而Go不是,故二者在各自核心应用领域没有竞争关系。提到GC我又顺便抛出“个人以为Go的GC有很大的问题”。然而因为没有进一步的阐述,导致这个结论很苍白没有说服力。我在现场试图用两天前百度陶春华《Golang 在 Baidu-FrontEnd 的应用》的演讲内容相印证,却一时想不起演讲者和标题(其实早已写在我的演讲稿里),只得作罢。陶老师演讲中提到,在他们的应用场景中,从Go 1.3升级到1.5 1.6,GC的问题并没有得到缓解;或许是号称“解决了GC问题”的Go 1.5 1.6无视了该应用场景。我的另一篇博文有其他开发者反馈Go之GC问题

演讲结束后,有中兴公司的同行私下找我咨询Rust成功应用案例,同时抱怨C语言的内存安全痛点。我顺势摆出Rust“两个半”大型成功案例:Rust编译器,Servo浏览器引擎,Cargo项目构建管理器;再加上Redox操作系统和Maidsafe安全网络。一时之间没想起来还有,Dropbox的Magic PocketPiston游戏引擎。

时间: 2024-08-23 12:19:25

QCon2016演讲《Rust语言的核心竞争力》总结和补充的相关文章

什么是你的核心竞争力之六善用你的弱点

作者:范军 (Frank Fan)新浪微博:@frankfan7  Twitter:@franfan7 看到这个标题,你一定会觉得纳闷.弱点是必须要弥补的,怎么利用呢?人无完人,我们每个人都有弱点.有的不是特别明显,有的看似致命伤.我也一直为我的众多弱点困扰和挣扎着. 我们从小的教育,都是和榜样看齐,以人之长来衬托自己之短.所谓的木桶短板理论,不知误导了多少人!一直木桶的盛水量是有最短的那条木板决定的,这虽然没错.可有的情况下,与其费尽全力补那只短板,未必能达到平均水平,出类拔萃就难上加难.不如

AppCan邹优镇:移动改变生产,构建企业核心竞争力

从云井喷年到大数据井喷年,企业已经行走在大数据的纪年里."大数据"仿佛是望远镜,可以预测未来.站在移动互联网风口的人们,将如何应对大数据所引起的商业变革? 通过移动应用和数据来连接用户.连接供应商.连接服务,这已经成为了这个时代独有的标记,而这一切正是移动互联网+数据背后的神秘力量形成的. 近日,"2015中国·江苏第二届大数据高峰论坛"在中国江苏召开,AppCan应邀参加了此次论坛.AppCan华东区总经理邹优镇先生作为演讲嘉宾分享了题为<移动改变生产,构建

再谈软件工程师的核心竞争力

发现一个现象IT行业都是做软件开发的, 如JAVA开发工程师, 我们看到大家简历上都做写熟悉Spring Cloud-, 那大家都一样的吗? 你的核心竞争力在哪儿? 如何脱颖而出? 之前的文章<<软件工程师的核心竞争力>>提及到, 今天我们再来看下: 1. 是否有计算机文献英文阅读能力. 大学英语不是白学的, 英文是个工具与门槛. 你需要越过它.       如: https://jcp.org/en/home/index https://docs.microsoft.com/en

我持续推动Rust语言支持Windows XP系统

前言 Rust好像长期以来不支持Windows XP系统.有不少用户发帖提议官方支持XP,基本上都被Rust官方开发人员明白的拒绝了.他们的对话大致上是以这种形式開始和结束的(当中乙方代表官方及其拥趸): 甲方:Rust应该支持XP呀 乙方:微软官方已经放弃维护XP.我们为什么要支持一个不安全的系统? 甲方:从技术上说Rust支持XP应该也不难 乙方:不是必需为一个老旧的系统付出开发和维护成本 甲方:XP在全世界还有非常多装机量.甚至远超Mac OS系统 乙方:XP是不安全的系统 甲方:我们的客

什么是你的核心竞争力之七-弱点让你闪光

作者:范军 (Frank Fan)新浪微博:@frankfan7  Twitter:@franfan7 在正视你的弱点一文后有网友一针见血指出我的那篇文章指讲了怎么弥补弱点,并没有说怎么善用弱点.本文我借竿就爬,再深入分享我的个人小感想.正视弱点加以改进是第一步,如何才能善用弱点,而有意想不到的收获呢? 卸下盔甲 当我和孩子们在一起的时候,他们的一笑一颦都自然而生,毫不掩饰.瞬间笑靥如花,瞬间雷鸣闪电,不亦快乎!随着年龄渐长,他们也会成为我们一样的成年人.也会带上各式各样的面具,穿上刀枪不入的盔

Rust语言——无虚拟机、无垃圾收集器、无运行时、无空指针/野指针/内存越界/缓冲区溢出/段错误、无数据竞争

2006年,编程语言工程师Graydon Hoare利用业余时间启动了Rust语言项目.该项目充分借鉴了C/C++/Java/Python等语言的经验,试图在保持良好性能的同时,克服以往编程语言所存在的问题.其最大的特点在于保持较高的运行效率.深入的底层控制和广泛应用范围的同时,解决了传统C语言和C++语言中的内存安全问题.2009年,Mozilla接手Rust项目,创建了以Graydon为首的专业全职开发团队,并且开放了该项目的源代码.2012年1月,第一个面向公众的预览版本--v0.1 发布

Rust语言

Rust语言 https://doc.rust-lang.org/stable/book/ http://www.phperz.com/article/15/0717/141560.html Rust是一款全新的系统编程语言,专注于安全性和性能,致力于打造更高效.更可靠的系统.同一时候,Rust也是Mozilla新一代浏览器引擎Servo的编写语言,希望能在确保安全性的同一时候提升在移动设备上的性能和表现. on command installation: $ sudo curl -sf -L

技术路线的选择重要但不具有决定性(核心竞争力是你独特的个性知识经验组合)

转自 http://blog.csdn.net/myan/article/details/3247071   孟岩 2008 年的文章,现在看来还是挺有启发, 送给大家,也送给自己. 最近微软在技术上连续有大动作,在PDC上发布了Windows Azure云计算平台,预告了Visual Studio 2010..NET 4.0和C# 4.0.如果放在几年前,我相信微软粉丝们一定是欢声雷动,不过这次情况有点不太一样,在网上看到有人在抱怨微软技术更新速度太快而且四面出击,还有人扬言要改弦更张,投奔L

什么是你的核心竞争力之七弱点让你闪光

作者:范军 (Frank Fan)新浪微博:@frankfan7  Twitter:@franfan7 感谢编辑推荐正视你的弱点一文,大家的留言和鼓励让我不胜感激.有网友一针见血指出我的那篇文章指讲了怎么弥补弱点,并没有说怎么善用弱点.本文我借竿就爬,再深入分享我的个人小感想.正视弱点加以改进是第一步,如何才能善用弱点,而有意想不到的收获呢? 卸下盔甲 当我和孩子们在一起的时候,他们的一笑一颦都自然而生,毫不掩饰.瞬间笑靥如花,瞬间雷鸣闪电,不亦快乎!随着年龄渐长,他们也会成为我们一样的成年人.