2021-07-04 Rust随笔

有一段时间曾在golang和Rust中犹豫过,后来看到《一拳超人》里黑光的故事,才明白之所以这么犹豫,不是出于对编程语言本身的考虑,而是想让自己和大环境不一样,保持自己对自身存在的感知。

另外,在目前看来,Rust其实要成为主流编程语言,还有很长的路,而且也缺乏合适的契机。像Java最开始的互联网兴起,中间还因为安卓又重新攀升过;C语言在几年前因为嵌入式热度又上升;Python近年则凭借人工智能大热,CSDN上到处能看到它的广告。

那么自己学习Rust是为了什么呢?

说来真是可笑,早些时候,这种理由在我看来根本站不住脚,是老师拿来教育学生的:

1、做正确的事。

2、成为更好的人。

这两句话如果真的是被教育时从别人的口中说的,那么真的是毫无意义,而且还会使受教育者对教育者的评价变低。通过经历一些事情,心态慢慢变化了,感觉很多过往做的事情并无太大意义,而且如果单从编程而言,以前从未考虑过大范围用除Java以外的语言编程的可能性。现在,既然眼光不再受Java的限制了,那么很多事情是否“正确”,就没有了“Java只能这样”、“这是Java中最主流的解决方法”这种托词了。

Rust和一些编程语言不同的事,它通过编译器限制程序员去做“正确”的事。受限于发展,“正确”可能不是绝对的,生态可能是薄弱的,设计可能还有与现实工作错位的,但是理念就是这样。即用了Rust之后,工作的模式收到了一点点限制。就像以前刚接触Maven的时候一样,约定大于配置。通用的问题,设计时就屏蔽掉了,只要自己不给自己加戏,那么在这个框架下,有些问题就不会有。

但是Rust和Java的做法却不同,Java通过GC使程序员不再需要接触指针,程序员可以在不了解内存机制的前提完成一部分工作,一旦入门了,可以继续深入理解。这条路是没有问题的,就像现在“低代码平台”再次兴起一样,降低门槛让更多的人加入行业,这是繁荣的前提。所以Rust并不是入门的首先语言。使用Rust,必须学习更多的知识,有些事情明明是差不多的,但在Rust中需要了解更多的东西。这些对入门的程序员是不必要的,但学习这些东西可以让自己在领域中变得更好。

这一次,我学习的方式是用Rust开发一个前后端分离的Web应用。前端复用了一个协议为MIT的开源项目,后端将用actix-web开发,数据库因为工作的原因,暂定为Oracle。

到目前为止,才完成了登录、jwt机制和oracle连接。其中的遇到的困难,让自己认识到自身的不足,但和以前不一样的是,每当遇到这些困难,我的内心提醒我自己到了舒适区的边缘,如果继续下去,那么就跳出去了,如果放弃了,那就又跳回去了,而所花费的时间,就都浪费掉了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值