Rust 2017 调查报告:学习曲线是最大痛点 - 开源中国社区
Rust 2017 调查报告:学习曲线是最大痛点
王练 2017年09月07日

Rust 2017 调查报告:学习曲线是最大痛点

王练 王练 发布于2017年09月07日 收藏 10

有免费的MySQL,为什么还要买? >>>  

Rust 官方在社区上做了一次调查,以了解用户如何看待 Rust 的发展。调查共收到 5368 份回复,其中有 大约 2/3 的是 Rust 用户,剩下的 1/3 是非 Rust 用户,调查结果如下。

点此查看完整调查报告

先看正在使用 Rust 的用户情况。在使用年限方面,超过一年的占 42.5% (高于去年的 30%),有 18% 的用户只使用了不到一个月。

Rust 目前主要被用于小型和中型项目,大型项目占比 16%(高于去年的 8.9%),这也表明用户越来越有兴趣将 Rust 用在大型项目当中。

不过,尽管开发者用 Rust 编写代码的量在增多,但在使用频率上,每天使用和每周使用的数据都有小幅下滑。 日使用用户从去年的 19% 下降至 17.5% ,周使用用户从 48.8% 下降到 43.3% 。

在稳定性上,Rust 编译器有明显改善。去年有 16.2% 的用户表示,升级到新的稳定版 Rust 编译器会破坏他们的代码。今年,这一数字下降到了 7.5%。 

而在版本使用上,开发者除了最新的稳定版之外,还偏向于选择 nightly 版本(每日/夜间构建版),这也侧面说明开发者比较渴望能尽快新的体验和功能。

Linux 依然是 Rust 开发者最主要使用的平台,Windows 31.5% 的用户有所增长,高于去年的 27.6% 。

编辑器方面,vim 仍然最受欢迎,但 VSCode 增速十分迅速,从去年的 3.8% 跃至 34.1%。Atom、Emacs、IntelliJ 占比相差不大。

而对于那些之前用过,现在不再使用 Rust 的用户,调查发现:

  • 23% 的人认为 Rust 太难用。

  • 20% 的人表示自己没有足够的时间来有效地学习和使用 Rust 。

  • 10% 的人回答说工具不够成熟。

  • 5% 的用户觉得他们需要更好的 IDE 支持。

  • 剩余的用户表示使用 Rust 是工作需要,他们已经完成了需要使用 Rust 的项目。

学习曲线和语言复杂度是许多用户不愿意接受 Rust 的原因。此外,调查显示,更多的人不去学习 Rust 还是因为 Rust 没有足够的活跃商业项目让它成为企业的一部分。

最后,报告还收集了用户反馈的 Rust 需要改进的建议:

  • 17% 的用户认为 Rust 需要更好的易用性,以便更容易进行原型设计,更容易使用异步编程,更灵活地使用更多的数据结构类型等等。

  • 16% 的用户希望 Rust 能重视文档的重要性。比如说帮助用户从其他语言转换,创建更多示例和示例项目,帮助初学者快速上手和学习方面的内容等等。

  • 15% 的用户认为 Rust 对核心库的支持需要改进。

  • 9% 的用户认为需要更好的 IDE 支持。

  • 8% 的用户认为学习曲线需要改善。当他们试图学习 Rust 或教给同事和朋友,会发现没有足够的学习资源。

  • 此外还包括:编译时间的改进,更多的企业支持,语言互操作改进,工具改进,web assembly 支持改进,更好的错误消息提示,更多的推广等等。

点此查看完整调查报告

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Rust 2017 调查报告:学习曲线是最大痛点
分享
评论(52)
精彩评论
6

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?
C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。
3

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?

引用来自“matrix1986”的评论

C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。

引用来自“AutoPlus”的评论

泛型吗?你在跟我要泛型?我写过很多个泛型语言。然而,泛型不是什么新鲜的东西,在 C 中你要写泛型太简单了,使用一个 union 结构就可以了,你也可以使用 void* 。 你全职用 RUST 开发,可以早下班,开发的什么东西?RUST 只比 C 复杂而不是简单,你的早明显在说谎吗,为了吹而吹吗? C 不需要检测内存的管理,RUST 必须要通过编译器的内存安全检查才能运行,你早下班是在梦里面吗?
不好意思,我已经习惯并且接受了RUST的语法检查机制了。。。我在开发物联网项目的服务器端,设备端的代码是我几年前写的嵌入式C,不管从开发速度,开发效率,还是后面的维护(RUST写的有BUG也都是业务逻辑错误,根本没出现C的段错误等,当然了,我C的水平已经基本保证我写不出这种BUG,但是用C依然战战兢兢,谁都会犯错,我不敢保证我哪里不会忘掉free或者忘掉用安全的方法去写内存(越界?野指针?))我上午10点到公司,晚上6点下班,不吹。。。
3
最大的问题是这门语言太偏底层了,现在做底层的少了。还有C这个绕不过去的存在
2
在生产中使用rust的公司:https://www.rust-lang.org/en-US/friends.html
有好几家是中国好公司,比如pingcap,秘猿科技……
rust库数量已超一万一,即将超越R和hasskell,rust生态急剧增长,全球巨头都已经在用rust构建代码库,包括谷歌,facebook,oracle,redhat,……
2
rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器
最新评论
0

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?

引用来自“matrix1986”的评论

C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。

引用来自“AutoPlus”的评论

泛型吗?你在跟我要泛型?我写过很多个泛型语言。然而,泛型不是什么新鲜的东西,在 C 中你要写泛型太简单了,使用一个 union 结构就可以了,你也可以使用 void* 。 你全职用 RUST 开发,可以早下班,开发的什么东西?RUST 只比 C 复杂而不是简单,你的早明显在说谎吗,为了吹而吹吗? C 不需要检测内存的管理,RUST 必须要通过编译器的内存安全检查才能运行,你早下班是在梦里面吗?

引用来自“matrix1986”的评论

不好意思,我已经习惯并且接受了RUST的语法检查机制了。。。我在开发物联网项目的服务器端,设备端的代码是我几年前写的嵌入式C,不管从开发速度,开发效率,还是后面的维护(RUST写的有BUG也都是业务逻辑错误,根本没出现C的段错误等,当然了,我C的水平已经基本保证我写不出这种BUG,但是用C依然战战兢兢,谁都会犯错,我不敢保证我哪里不会忘掉free或者忘掉用安全的方法去写内存(越界?野指针?))我上午10点到公司,晚上6点下班,不吹。。。

引用来自“AutoPlus”的评论

“用C依然战战兢兢,谁都会犯错” 说明你的水平太菜。Linux、Git、Redis 都是用 C 写的,从来没有见过真正的 C 程序员 “战战兢兢”。

关于物联网,这更有意思了,你说你在开发服务器端,我倒想听听你用的 RUST 的哪个服务器设施? 就你一个写嵌入式的还写服务器端,纯属扯淡,你知道 socket 怎么拼写吗?

引用来自“matrix1986”的评论

我用tokio,写了我们自定义协议的TCP, UDP, HTTP, KCP不同版本的服务器,我做嵌入式,也主要做网络协议开发,为啥不能写服务器端?你的回复暴露了你的本质。。。

引用来自“AutoPlus”的评论

是吗? 不同版本的服务器呢,还网络协议开发,tokio 是什么?做的什么? “写了我们自定义协议的TCP, UDP, HTTP, KCP”,什么叫自定义协议? TCP 就是 TCP,UDP 就是 UDP,HTTP 就是 HTTP,哪来的自定义 TCP、UDP、HTTP? 你们家发明的 TCP UDP HTTP ?

引用来自“matrix1986”的评论

连协议的offload都不知道。。。不说了,TCP,UDP等协议的本质是承载数据,我们自定义的协议就是自己的数据格式,OVER,让广大程序员看你的笑话,你慢慢喷

引用来自“AutoPlus”的评论

还 offload,我只听说过 payload。payload 跟 TCP、UDP 也是两码事情。TCP,UDP 让你定义的数据只有文本流。还自定义的数据格式,连基本的通信常识都没有。TCP、UDP 是传输层的协议,其 packet 是操作系统实现的,跟你有个屁关系。你写的一些应用层的,连一个基本的 packet 都不算。你有解析器编码器吗? 应用层的公布标准也很多,从 mqtt 到 rds,再到 rpt 等等,每个都有自己的解析器编码器。你懂什么叫解析器编码器吗? 还写服务器呢,就你写的那东西也有人敢用?

引用来自“matrix1986”的评论

对不起,刚刚被疯狗咬了几口,怕得狂犬病,心急把payload打成offload了。。。抱歉,至于有没有人用不用你关心,用Iron框架给杭州天然气做的支付宝,微信在线业务系统已经运行大半年了,绑定用户已经15万,每日自助抄表3000多,涉案资金400多万,我们内部的物联网系统前端换成了rocket框架,客户已经成功招标在新疆准备试运行了。

引用来自“AutoPlus”的评论

pay 和 off 在键盘上差了十万八千里,不懂就是不懂,装什么比。还 Iron 呢。你刚才还做嵌入式呢,这会又跳到应用层做前端了,JS 写的也不孬呢。你写的服务器打算坑多少用户? 自己不懂就用公用的标准,跟个民科似的自己胡琢磨,连基本原理都不懂就写。

引用来自“matrix1986”的评论

在你眼里做过路由器的嵌入式工程师都没法写服务器?笑话。。。我只是说我职业生涯前8年都在用C,现在喜爱上了RUST,至于我懂不懂原理,随便你说吧。。。哦对了,3年前我撸的嵌入式模块最后通过华为测试,用于替换他们的MG323模块,内部的IPSTACK协议栈我一人写的。。。3年了,华为不知道有没有被我坑,真担心。。。

引用来自“AutoPlus”的评论

写嵌入式就写嵌入式,别去写服务器坑人。华为本身就是个坑,其软件水平就是个外包水平,不知道有什么值得你在此提起的。服务器的内容多着呢,RUST 的 mio 自己都没弄明白呢,还 tokio

引用来自“matrix1986”的评论

那是你自己没弄明白MIO吧,不好意思,我正好有个测试系统,是纯MIO实现的。。http://test.cloud-scale.cn:1099/web/

引用来自“AutoPlus”的评论

MIO 的设施跟远古时代一样,根本就不完备。从 libevent libev libuv boost.asio 都比 MIO 完备的多。所以,我说 MIO 到现在都没弄明白自己。至于 async await 和 coroutine,恐怕 RUST 一辈子都实现不好

引用来自“matrix1986”的评论

你不了解就乱说?coroutine,nightly已经有了,至于async await,已经有分支在做了,明年稳定,你这辈子就那么短?明年都看不到?

引用来自“AutoPlus”的评论

这就说明你压根就不懂原理,根本就不知道实现是怎样的。有个名字叫 coroutine,那就实现了 coroutine? 有个关键字 async await,那就实现了 async await。RUST 这种语言永远无法实现好 coroutine 和 async await,因为它不是一个 GC 语言。coroutine 和 async await 最重要的就是每调用一次都会创建一个运行时内存,用于存储相关函数和数据的上下文,你必须在不需要这块单元的时候释放这块内存。有 GC 的语言,只需要 coroutine 和 async await 的关键字,没有 GC 的语言,实现等于没有实现。
的确Rust的async写起来太痛苦了,换nim写舒服多了
0

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?

引用来自“matrix1986”的评论

C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。

引用来自“AutoPlus”的评论

泛型吗?你在跟我要泛型?我写过很多个泛型语言。然而,泛型不是什么新鲜的东西,在 C 中你要写泛型太简单了,使用一个 union 结构就可以了,你也可以使用 void* 。 你全职用 RUST 开发,可以早下班,开发的什么东西?RUST 只比 C 复杂而不是简单,你的早明显在说谎吗,为了吹而吹吗? C 不需要检测内存的管理,RUST 必须要通过编译器的内存安全检查才能运行,你早下班是在梦里面吗?

引用来自“matrix1986”的评论

不好意思,我已经习惯并且接受了RUST的语法检查机制了。。。我在开发物联网项目的服务器端,设备端的代码是我几年前写的嵌入式C,不管从开发速度,开发效率,还是后面的维护(RUST写的有BUG也都是业务逻辑错误,根本没出现C的段错误等,当然了,我C的水平已经基本保证我写不出这种BUG,但是用C依然战战兢兢,谁都会犯错,我不敢保证我哪里不会忘掉free或者忘掉用安全的方法去写内存(越界?野指针?))我上午10点到公司,晚上6点下班,不吹。。。

引用来自“Andrew_Yang”的评论

php,10点上班,下午4点半下班,不吹:laughing: 你们继续。
php是世界上最好的。。。,而且php的虚拟主机比java nodejs便宜多了
0

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?

引用来自“matrix1986”的评论

C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。

引用来自“xiaoaiwhc1”的评论

现在国内有用rust开发产品的公司了?

引用来自“matrix1986”的评论

我司。。。

引用来自“xiaoaiwhc1”的评论

回复@matrix1986 : 实际使用中有遇到什么问题吗?主要是用着比较难受或麻烦的地方?或者目前遇到的困难有哪些?这方面的统计资料很少,可以分享吗?
困难就是库比较少,很多要自己写,其他没啥,很舒服,比C舒服多了
0
我说一句,和易语言有得比吗
0

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?

引用来自“matrix1986”的评论

C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。

引用来自“xiaoaiwhc1”的评论

现在国内有用rust开发产品的公司了?

引用来自“matrix1986”的评论

我司。。。
回复@matrix1986 : 实际使用中有遇到什么问题吗?主要是用着比较难受或麻烦的地方?或者目前遇到的困难有哪些?这方面的统计资料很少,可以分享吗?
1

引用来自“shitalpig”的评论

rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器
不好意思,都能写
0

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?

引用来自“matrix1986”的评论

C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。

引用来自“AutoPlus”的评论

泛型吗?你在跟我要泛型?我写过很多个泛型语言。然而,泛型不是什么新鲜的东西,在 C 中你要写泛型太简单了,使用一个 union 结构就可以了,你也可以使用 void* 。 你全职用 RUST 开发,可以早下班,开发的什么东西?RUST 只比 C 复杂而不是简单,你的早明显在说谎吗,为了吹而吹吗? C 不需要检测内存的管理,RUST 必须要通过编译器的内存安全检查才能运行,你早下班是在梦里面吗?

引用来自“matrix1986”的评论

不好意思,我已经习惯并且接受了RUST的语法检查机制了。。。我在开发物联网项目的服务器端,设备端的代码是我几年前写的嵌入式C,不管从开发速度,开发效率,还是后面的维护(RUST写的有BUG也都是业务逻辑错误,根本没出现C的段错误等,当然了,我C的水平已经基本保证我写不出这种BUG,但是用C依然战战兢兢,谁都会犯错,我不敢保证我哪里不会忘掉free或者忘掉用安全的方法去写内存(越界?野指针?))我上午10点到公司,晚上6点下班,不吹。。。
php,10点上班,下午4点半下班,不吹:laughing: 你们继续。
0

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?

引用来自“matrix1986”的评论

C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。

引用来自“AutoPlus”的评论

泛型吗?你在跟我要泛型?我写过很多个泛型语言。然而,泛型不是什么新鲜的东西,在 C 中你要写泛型太简单了,使用一个 union 结构就可以了,你也可以使用 void* 。 你全职用 RUST 开发,可以早下班,开发的什么东西?RUST 只比 C 复杂而不是简单,你的早明显在说谎吗,为了吹而吹吗? C 不需要检测内存的管理,RUST 必须要通过编译器的内存安全检查才能运行,你早下班是在梦里面吗?

引用来自“matrix1986”的评论

不好意思,我已经习惯并且接受了RUST的语法检查机制了。。。我在开发物联网项目的服务器端,设备端的代码是我几年前写的嵌入式C,不管从开发速度,开发效率,还是后面的维护(RUST写的有BUG也都是业务逻辑错误,根本没出现C的段错误等,当然了,我C的水平已经基本保证我写不出这种BUG,但是用C依然战战兢兢,谁都会犯错,我不敢保证我哪里不会忘掉free或者忘掉用安全的方法去写内存(越界?野指针?))我上午10点到公司,晚上6点下班,不吹。。。

引用来自“AutoPlus”的评论

“用C依然战战兢兢,谁都会犯错” 说明你的水平太菜。Linux、Git、Redis 都是用 C 写的,从来没有见过真正的 C 程序员 “战战兢兢”。

关于物联网,这更有意思了,你说你在开发服务器端,我倒想听听你用的 RUST 的哪个服务器设施? 就你一个写嵌入式的还写服务器端,纯属扯淡,你知道 socket 怎么拼写吗?
现在几乎流行的嵌入式都是联网型的,早就不是十几年前那种了,联网型耐用方便,另外嵌入式的联网当然不会用全套的服务器协议,毕竟资源有限,应用场景不同。
0
居然看完了。。。
0

引用来自“shitalpig”的评论

rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器

引用来自“krircc”的评论

乱讲,kylyp 是一个用 Rust 写的论坛系统。 这个项目使用了 Rust 语言,rocket 的 web 框架,diesel 的 ORM 框架,postgresql 数据库和响应式设计。该项目符合现代设计理念的新论坛系统。
码云仓库:https://git.oschina.net/mcux/kylyp
github仓库:https://github.com/mcux/kylyp

引用来自“shitalpig”的评论

那iOS Android app 呢,rust官方都没给标准函数库
哪个语言,官方给有android, ios标准函数库???,真是懒得理你。
0

引用来自“shitalpig”的评论

rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器

引用来自“krircc”的评论

乱讲,kylyp 是一个用 Rust 写的论坛系统。 这个项目使用了 Rust 语言,rocket 的 web 框架,diesel 的 ORM 框架,postgresql 数据库和响应式设计。该项目符合现代设计理念的新论坛系统。
码云仓库:https://git.oschina.net/mcux/kylyp
github仓库:https://github.com/mcux/kylyp
那iOS Android app 呢,rust官方都没给标准函数库
0

引用来自“shitalpig”的评论

rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器

引用来自“itfanr”的评论

你这…

引用来自“shitalpig”的评论

怎么了?
你太激进了…rust很厉害的 火狐浏览器正在被重写
1

引用来自“shitalpig”的评论

rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器
乱讲,kylyp 是一个用 Rust 写的论坛系统。 这个项目使用了 Rust 语言,rocket 的 web 框架,diesel 的 ORM 框架,postgresql 数据库和响应式设计。该项目符合现代设计理念的新论坛系统。
码云仓库:https://git.oschina.net/mcux/kylyp
github仓库:https://github.com/mcux/kylyp
0

引用来自“shitalpig”的评论

rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器

引用来自“itfanr”的评论

你这…
怎么了?
0
喷子太多,受不了,没有谁地球都转
0

引用来自“AutoPlus”的评论

学习倒也不难,最难的是前两周用的语法,后两周没用立马忘了。不内存泄漏没法帮助你生产高品质的产品,只能是阻止团队的菜鸟不停地破坏你的内存。但是,真要把 Rust 搞懂了,又岂是菜鸟。既然不是菜鸟,干嘛不用 C ?

引用来自“matrix1986”的评论

C有泛型吗?C有各种迭代语法糖么?我写了8年C,现在全职用RUST开发,每天可以早下班,少敲不少冗余代码。。。

引用来自“AutoPlus”的评论

泛型吗?你在跟我要泛型?我写过很多个泛型语言。然而,泛型不是什么新鲜的东西,在 C 中你要写泛型太简单了,使用一个 union 结构就可以了,你也可以使用 void* 。 你全职用 RUST 开发,可以早下班,开发的什么东西?RUST 只比 C 复杂而不是简单,你的早明显在说谎吗,为了吹而吹吗? C 不需要检测内存的管理,RUST 必须要通过编译器的内存安全检查才能运行,你早下班是在梦里面吗?

引用来自“matrix1986”的评论

不好意思,我已经习惯并且接受了RUST的语法检查机制了。。。我在开发物联网项目的服务器端,设备端的代码是我几年前写的嵌入式C,不管从开发速度,开发效率,还是后面的维护(RUST写的有BUG也都是业务逻辑错误,根本没出现C的段错误等,当然了,我C的水平已经基本保证我写不出这种BUG,但是用C依然战战兢兢,谁都会犯错,我不敢保证我哪里不会忘掉free或者忘掉用安全的方法去写内存(越界?野指针?))我上午10点到公司,晚上6点下班,不吹。。。

引用来自“AutoPlus”的评论

“用C依然战战兢兢,谁都会犯错” 说明你的水平太菜。Linux、Git、Redis 都是用 C 写的,从来没有见过真正的 C 程序员 “战战兢兢”。

关于物联网,这更有意思了,你说你在开发服务器端,我倒想听听你用的 RUST 的哪个服务器设施? 就你一个写嵌入式的还写服务器端,纯属扯淡,你知道 socket 怎么拼写吗?

引用来自“matrix1986”的评论

我用tokio,写了我们自定义协议的TCP, UDP, HTTP, KCP不同版本的服务器,我做嵌入式,也主要做网络协议开发,为啥不能写服务器端?你的回复暴露了你的本质。。。

引用来自“AutoPlus”的评论

是吗? 不同版本的服务器呢,还网络协议开发,tokio 是什么?做的什么? “写了我们自定义协议的TCP, UDP, HTTP, KCP”,什么叫自定义协议? TCP 就是 TCP,UDP 就是 UDP,HTTP 就是 HTTP,哪来的自定义 TCP、UDP、HTTP? 你们家发明的 TCP UDP HTTP ?

引用来自“matrix1986”的评论

连协议的offload都不知道。。。不说了,TCP,UDP等协议的本质是承载数据,我们自定义的协议就是自己的数据格式,OVER,让广大程序员看你的笑话,你慢慢喷

引用来自“AutoPlus”的评论

还 offload,我只听说过 payload。payload 跟 TCP、UDP 也是两码事情。TCP,UDP 让你定义的数据只有文本流。还自定义的数据格式,连基本的通信常识都没有。TCP、UDP 是传输层的协议,其 packet 是操作系统实现的,跟你有个屁关系。你写的一些应用层的,连一个基本的 packet 都不算。你有解析器编码器吗? 应用层的公布标准也很多,从 mqtt 到 rds,再到 rpt 等等,每个都有自己的解析器编码器。你懂什么叫解析器编码器吗? 还写服务器呢,就你写的那东西也有人敢用?

引用来自“matrix1986”的评论

对不起,刚刚被疯狗咬了几口,怕得狂犬病,心急把payload打成offload了。。。抱歉,至于有没有人用不用你关心,用Iron框架给杭州天然气做的支付宝,微信在线业务系统已经运行大半年了,绑定用户已经15万,每日自助抄表3000多,涉案资金400多万,我们内部的物联网系统前端换成了rocket框架,客户已经成功招标在新疆准备试运行了。

引用来自“AutoPlus”的评论

pay 和 off 在键盘上差了十万八千里,不懂就是不懂,装什么比。还 Iron 呢。你刚才还做嵌入式呢,这会又跳到应用层做前端了,JS 写的也不孬呢。你写的服务器打算坑多少用户? 自己不懂就用公用的标准,跟个民科似的自己胡琢磨,连基本原理都不懂就写。

引用来自“matrix1986”的评论

在你眼里做过路由器的嵌入式工程师都没法写服务器?笑话。。。我只是说我职业生涯前8年都在用C,现在喜爱上了RUST,至于我懂不懂原理,随便你说吧。。。哦对了,3年前我撸的嵌入式模块最后通过华为测试,用于替换他们的MG323模块,内部的IPSTACK协议栈我一人写的。。。3年了,华为不知道有没有被我坑,真担心。。。

引用来自“AutoPlus”的评论

写嵌入式就写嵌入式,别去写服务器坑人。华为本身就是个坑,其软件水平就是个外包水平,不知道有什么值得你在此提起的。服务器的内容多着呢,RUST 的 mio 自己都没弄明白呢,还 tokio

引用来自“matrix1986”的评论

那是你自己没弄明白MIO吧,不好意思,我正好有个测试系统,是纯MIO实现的。。http://test.cloud-scale.cn:1099/web/
大牛
0

引用来自“shitalpig”的评论

rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器
你这…
2
在生产中使用rust的公司:https://www.rust-lang.org/en-US/friends.html
有好几家是中国好公司,比如pingcap,秘猿科技……
rust库数量已超一万一,即将超越R和hasskell,rust生态急剧增长,全球巨头都已经在用rust构建代码库,包括谷歌,facebook,oracle,redhat,……
1
Rust再把lifetime搞简单一些,把一些工程学的东西再搞得符合常理一些,绝对是一门好语言,只是现在生态没有建立起来,公司用的太少而已,这个要等killer app出现就没有这么多人喷了。现在rust的很多应用逻辑还不太符合正常人的直觉,社区也在积极解决,估计再等个一二年这些基础设施的东西就差不多了。
2
rust这垃圾语言没屌用,逼呼上一群sb,rust是能写Android还是iOS app,还是写web?还是能写http 服务器
顶部