rust入门到放弃

706 阅读3分钟
过去的1年中由于在做一个新的项目,想试试一下相对好多大厂在用的所谓低代码平台,经过多方考虑后决定使用功能新的语言实现低代码平台,前期准备工作就是简略的调查了一下将要使用的语言rust。

首先说说为啥要选怎rust这个比较新的语言?

rust设计之初就考虑到了强大的性能和安全性,与C++、java、python js等相比有明显的优缺点。

优点:

 rust保证了内存安全,能有效防止内存常见错误,像内存溢出、角标越界等
,对于程序的可靠性来说非常重要。

rust具有丰富的系统类型,在编译过程中就能识别类型错误,大大提高了代码的可读性和维护性。

rust一个很大的优势就是更快的运行速度,与java和C++相比他的运行速度相当优秀

缺点

rust的学习曲线比较陡峭,学习的方法不是学习一下基础的语法就能快速胜任的,需要在项目中大量实践才能锻炼出比较靠谱的开发人员。

rust的语言中的一些概念比较难以理解,需要花费的精力和时间会更多。

rust的社区和周边不够完善周边资料有限。

在实际项目中以上缺陷几乎都遇到过。 说下我们的项目,是要做一个对远程设备控制管理的一个平台,涉及到了大量的状态更新,对设备状态相关的指标实时性要求比较高2内,所以程序中需要大量的异步线程不停的轮询设备的相关状态指标。 在实现这个平台中涉及到了抽象模型实现低代码,其实真的写下来发现节省代码不是很多其实所谓的低代码就是个伪命题,且灵活性不够,业务要是超过一定的复杂度,低代码就有点吃力了,而且大多数人员的对抽象模型的概念比较模糊,数据模型化的过程会有一部分人对抽象模型产生偏差。这个和人员自身素质有关

再说项目开始后语言确实成为了障碍,开始接触的人员对语言语法语义概念不清楚,只能照猫画虎看官方文档有时候一个简单的问题要花费好长的时间去处理。对应用库的不熟悉尤其是一些编译环境每次都需要拉每编译一次都需要花费好长时间,本地没有完整的编译服务器编译相关的包依赖也没在本地没有自己的库,这个比较苦恼。

数据库使用dgraph,好多人第一次接触这个数据库对查询语句不熟悉降低了工作效率,几乎一步都是坑人员素质也是良莠不齐。需要群策群力去处理问题。比较费心思。

经过半年的打磨大家凑合语言熟悉了发现rust的兼容性和工作效率比java等老语言差距有点大,在各个国产系统不兼容的情况下,最后坚持了一年的rust平台放弃了,将所有rust的转成java,整个转化的过程过于急也就不到2周就转换完成了。

ld嘴上一时爽员工忙断腿啊,加班加点的一点不停累死累活1年时间做重复性工作