从实践者的角度看 Rust
编程语言相关的讨论,几乎是技术社区永恒的热点话题。在即将于 10 月 17~19 日召开的 QCon 上海 2017 上,我们也专门设置了《编程语言》专题。届时,PingCAP 首席架构师唐刘将分享《Futures and gRPC in Rust》。
我们先来了解下他。
唐刘,PingCAP 首席架构师,典型技术极客一枚,在分布式,高性能,高可用上面有丰富的开发经验,现正从事下一代分布式数据库 TiDB 以及分布式存储 TiKV 的开发,致力于在基础架构数据库领域,提供一套完备的 HTAP 解决方案,解放生产力。开源爱好者,知名开源软件 LedisDB,go-mysql 等系统的作者。工作之余,喜欢阅读和写作,希望自己不断精进。
QCon 在会前采访了唐刘老师,交流了编程语言方面的一些问题。
在谈到对编程语言的态度时,他说:
我个人并不是一个语言爱好者,也不会刻意的去研究不同的编程语言,但我会的语言倒是蛮多的。我自认为应该是一个工程实践派,也就是要解决这个问题,哪种语言好,就用哪种。
我个人最喜欢的还是 Go 语言,无论从开发效率还是运行性能上考虑,Go 都是非常不错的选择。当然,如果现在要过于关注性能以及跟操作系统打交道,我会使用 Rust。
在工作中,我们主要使用 Rust 和 Go,毕竟整个 TiDB 都是基于这两门语言打造的。
使用 Rust 的好处在于只要你挨过了最初学习的阵痛期,写代码会非常的高效,写完只要通过编译了,几乎不用担心 data race,dead lock,dangling pointer 等问题。
另外,Rust 的包管理也做得很不错,在 crate 上面可以找到非常多的高质量第三方组件,我们团队也贡献了几个。
如果使用了 clippy,在编译的时候,Rust 还会告诉你这样写代码虽然是正确的,但最好改成这个样子,所以你看大家的 Rust 代码整体风格会非常的一致,简洁美观。
相比 Go,Rust 在 profile 上面的工具其实比较缺,虽然有 perf,systemtap 这些外部工具可以用,但也会给使用者带来新的学习负担。
Rust 对于网络程序的编写并不友好,之前就只有一个可怜的 mio,要实现个高效 RPC,几乎自己要做非常多的工作。譬如我们就自己基于 C gRPC 做了一个 Rust 版本的。
不过后面 tokio 这套生态起来了,情况可能会好一点。
是的,我们在 TiKV 里面一直用的是 Rust 的 nightly 版本,然后会定期升级到最新的 nightly,我们在这个上面的策略还是比较激进的。QCon:团队是不是也对 Rust 的发展贡献了自己的想法?对 Rust 的未来发展有什么期待?
之前跟 Rust 团队提到过让 Rust 能跟 C++ 很好的整合,但现在看起来难度还是很大,我们还是只能通过 C。
对于 Rust 的未来,我们希望能提供更加完善的 profile 工具,譬如 memory profile 这些。
再就是希望在网络编程方面能够更方便些,这样大家就能更好的用 Rust 进行高性能服务器开发了。
另外,希望能有更多的人参与到 Rust 社区里面,一起把这门语言发展壮大起来。
对于 Rust 学习,我觉得还是要动手实践。就看看语法,看看书啥的不管用,实际中一写代码就编译报错了。大家可以参与一些知名的开源 Rust 项目,譬如我们的 TiKV,rust gRPC 这些,也可以自己写一些小的 library 放到 crate 上面供大家使用。
在我们团队里面,大家也并不是立刻能快速上手 Rust 的,毕竟这门语言学习曲线太陡峭,大家也都是一边开发,一边学习,通常都经过了 1 个月的磨合期,才慢慢熟练的。
期待唐刘老师在 QCon 上海 2017 分享的《Futures and gRPC in Rust》。
写《程序员修炼之路》的 Andy Hunt 和 David Thomas 大师曾说,要在软件开发这个行当立于不败之地,应该“每年学一种新的语言”。点击【阅读原文】立即传送唐刘老师分享内容,还有 Java、.Net 、Kotlin 等编程语言的发展和业界实践。此外,C++ 之父 Bjarne Stroustrup 将带来主题演讲《编程的未来及 C++ 在其中的作用》。
目前 QCon 上海 2017 门票即将售罄,来现场与技术大咖零距离,获得技术点拨。如果在报名过程中有任何问题,欢迎联系购票经理 Hanna ,电话:15110019061,微信:qcon-0410。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 坚持依法治国、依宪执政 7902426
- 2 韩国的6小时40分 7927768
- 3 琼瑶死因曝光:一氧化碳中毒 7858145
- 4 全国铁路客运首次突破40亿人次 7796430
- 5 女生让全盲室友带饭 网友:够余华的 7601498
- 6 李冰冰51岁状态 7556081
- 7 韩国首尔爆发示威游行 7484566
- 8 刚果(金)出现不明疾病 致近百人死亡 7333893
- 9 一只爱马仕包 等于一辆新能源车 7273509
- 10 姆巴佩心态崩了 7195034