当前位置:首页 > 每日看点 > 正文内容

为什么新流行的开源编辑器都在用Rust开发?

卡卷网1年前 (2025-01-11)每日看点206

我大概能懂这种感觉...

我因为工作原因着用了大半年rust,我寻思我是不是斯德哥尔摩综合征呢,怎么现在自己没事捣鼓的新项目也大半切到rust了?

原因无它,的是好。

甚至即使Rust性能再衰退个70%,哪怕现在Rust很多特性极度缺失+本身有些点极度难用(点名asyncclose/asynccallacktype/context-asedpolymorphi/partialtraitimpl/panic处理),它已有的基础,对很多场景仍然有着致命的便利。而且我也认识到,单纯的“写代码爽”未必是一件很重要的事。

怎么描述Rust的使用感官呢,我想想哈。就如说Rust无gc这件事怎么理解。如果单讲为了“性能提升”,那其实是很掉价的一件事,如果是是给工作或者布道过程中的外部沟通说辞,我能理解,但这些烂大街的说辞,要敞开聊的话就不算诚且无趣。首先性能很多时候就不关键,其次rust的主场优势也不绝对在于性能。我们一个50w行rust的语言运行时项目,分配器从mimalloc换成dc,跑基准性能居然可以提升10%,rust默认分配器更是不知快到哪里去了。但最后我们不用dc,为什么?要和更大的产品集成啊,没gc的话ffi做起来是的方便,不用搞一堆对象池索引。像go语言写的动态库插件,通常一个进程只能加载一个否则崩溃,像c#aot编译的多个动态库可以一起加载,但每个动态库里一套gc一套runtime(虽然相ja乃至ja的aot方案算很精简)同时运行,插件一多也会有些麻烦事。

你能看到在这里rust很轻量,唉那种感觉我突然想到怎么形容了,就像是大晚上熬夜啃点东西想点很油腻的烧烤,结果想起尿酸变高就住没吃,整了两根酱黄瓜啃,不一会儿感觉整个腰子被清爽的蔬菜汁液洗涤了,什么杂质油脂体内废物都清理掉,就是这种感觉。

清爽。

有这种清清爽爽的感觉,Rust做中大规模的框架性工作还是挺方便,写好的组件要给安卓啊ios以及各种奇怪的板子编译,眼睛都不眨一下。

明明我现在写rust集成C/C++项目也是有一手的,但不知怎么就会尽量选用纯rust实现,否则就有点不踏实,这个我推测可能是c++运行时库的依赖问题以及unwind运行时库兼容问题的心理投射。但我回头一看,以前为了省事解决问题经常搞多语言集成方案,现在几乎不怎么主动愿意搞了,看到运行时打包就烦,还会觉得oajsdeno/quickjs更好之类的……

突然还想到一个词来形容rust项目,那就是整洁吧。虽然过程较艰辛,但客观反馈的掌控感很强,质量很稳,最后出的东西,很顺溜。

但其实你要说好用吧的rust有些事也挺。我工作给计算平台做软件,rust那个panic,人家用户写个大型高维数组分配会直接崩掉进程,进程里是用户还没有保存算了三天三夜算出来的实验数据,解决方案不在文档里要多爬爬资料。还有stalerust很难写generator抽象,为了惰性迭代一些全局信息,我上个月大概手动写了两个很要命的状态机来把很简单的yieldgenerator转成iterator。巨多问题,的一大堆。

所以说的也有很多不好用的地方,但倒也没有卡点。

而它解决的问题,如发展到稳定阶段合并进入stalerust的特性,解决了就是解决了,含金量较高,我觉着rust的整洁感也是来自这里。

除开清爽整洁之外,还有一些我估计是框架性工作较喜欢的组件。就rust里锁/类似锁机制的生态的较丰富,LazyLock,LazyCell,once_cell::sync::OnceCell,RwLock,Arwap,之类的还有各种无锁结构oxcar,dashmap,croseam-*等等,这些性能、成熟度、移植性、功能富足度、控制粒度,我以前在c++里找一套是的很麻烦很麻烦啊,难道大家都是spinlock+mutex走天下吗。。

我大概无法从rust做编辑器的优势上去分析的,我只能说就普遍意义而言rust对框架性开发工作的益处。还就是从我开头讲,开发者的习惯的是能被训化的,曾经的曾经我也是能用notepad++一口气写1000行matla不喘气一遍过而且不一丁点现代ide的。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8708.html

分享给朋友:

相关文章

4000以下的手机有没有推荐的啊?

4000以下的手机有没有推荐的啊?

可以选择标准版的旗舰机型:vivo X100s、一加12、OPPO Find X7、小米14、iQOO 12;也可以选外观时尚的自拍影像机型:vivo S19 Pro、realme GT 5 Pro、荣耀 200Pro、小米 Civi 4...

什么软件可以看电视直播?

什么软件可以看电视直播?

2024年9月6日最新更新:本文列举的所有看电视直播、或流媒体影视资源点播的软件,我这两天又重新梳理成最新版本,最大程度保证可用性。获取方式见文末图片,或见评论。后续我也将持续更新,文章是旧的软件也会是新的,保证都是最新可用版本。作为一个急...

Layui 不更新了么?

Layui 不更新了么?

layui2.8已经于今天正式发布了,新增优化了大量特性,这里按照layui更新日志的模块结构,详细为你一一介绍。基础风格调整新版调整主色调为#16baaa,在原有的墨绿基础上赋予了清新。更简单的构建构建代码更简单,除字体外,只有js和cs...

k70和红米note14pro+咋选啊?

k70和红米note14pro+咋选啊?

首选红米K70,可满足题主的功能需求。红米 Note 14 pro+的使用者定位并不是学生,红米K70的使用者定位才是学生。一、k70和红米note14pro+各自的参数红米K70推出的定位初衷,是主打性能为主。最佳使用对象是喜欢游戏者,...

你为什么讨厌抖音?

我就被抖音毁了。现在被我媳妇从抖音里拯救出来了。我为什么会这样说?我媳妇硕士在读,我文化程度相对就比较低了。大多数人看抖音其实就是为了一图一乐呵刚开始我也是这样的,我是2017年在朋友的推荐下注册了抖音,刚开始那时候对抖音不太上瘾,一周也就...

Redmi 为什么可以把性价比做得那么高?

一位修手机的老大哥曾经跟我说过,红米1那个手机,除了处理器还凑活,其余零部件,就是市面上山寨机那种。其实红米性价比并不算极致,而且一直都有竞争者,从原来的群魔乱舞,到后来的荣耀,魅蓝,一加,再到现在的IQOO和realme。红米的方法也很简...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。