一个老工程师学习Rust和QT的体验
本帖最后由 codefish 于 2023-10-4 20:49 编辑之前比较熟练使用Keil C(stm32开发)、C#(winform、wpf的pc端开发),
最近在学习Rust(累计投入80学时),QT(累计投入8小时),顺便学Python(投入了40学时)。
感觉Rust总算掌握了70%左右,很快可以动手做点实际的小项目了(计划用Rust开发Stm32或写Linux驱动等等)
QT继续学30学时左右,感觉也能开始动手做项目了。
Rust有较多新的概念和特性,学习曲线有点陡峭,感觉宏的可读性太差,不太喜欢Rust里面的宏。
Rust可用较少的代码,写出稳定而且性能好的代码。一旦熟练掌握,肯定就不想再用C和C++了。
感觉未来8年-10年以后,地球上20%用Rust做嵌入式工程师的产能总和是用其他编程语言工程师做嵌入式产能的总和。
20多年前的某年开始,还曾经使用VB6几年,C#出世后,VB就日渐衰落,现在几乎没有什么新人学VB了。 未来硬件越来越强,语言已经不是瓶颈,现在我司已经在Ubuntu的主力语言是c#了,rust学习成本太高,c#用过的都说好,当然单片机开发啥的还是c,功能不多的情况还是c方便,如果实时性要求高的,就多核,总有一款适合你的。 佩服lz,不过学这么多的意义在哪里 akey3000 发表于 2023-10-4 21:03
佩服lz,不过学这么多的意义在哪里
(引用自3楼)
想晚一点得老年痴呆症。
我相信学习语言(包括编程语言)强的人,会比较晚得老年痴呆症。 rust怎么开发单片机? codefish 发表于 2023-10-4 21:06
想晚一点得老年痴呆症。
我相信学习语言(包括编程语言)强的人,会比较晚得老年痴呆症。 ...
(引用自4楼)
20多年前,我也学过vb、vc、delphi等,还开发过一些产品项目,后来搞单片机,就都丢了,也基本忘光了。现在想来当时费那么多时间,真得没有意义 三年模拟 发表于 2023-10-4 20:59
未来硬件越来越强,语言已经不是瓶颈,现在我司已经在Ubuntu的主力语言是c#了,rust学习成本太高,c#用过的 ...
(引用自2楼)
c#,我也说好,哈哈哈 另一条快速的路径是用IntelliSense和copilot配合写c代码。比直接手写快3到10倍,还能回避很多低级错误。 codefish 发表于 2023-10-4 21:06
想晚一点得老年痴呆症。
我相信学习语言(包括编程语言)强的人,会比较晚得老年痴呆症。 ...
(引用自4楼)
老年痴呆一般有三种引起:
①其他疾病引起脑部病变,如脑肿瘤、眼肿瘤。
②喝酒过度。
③用脑过度。非常明显,美国总统大多得老年痴呆。围棋、数学家很常见。 电脑、ARM上面。QT生态应该要好很多的吧。。Rust,没怎么进入视野。 曾经带过几个人的小组写了一年多的 rust,物联网,音视频相关的应用,的确值得推荐,特别是在公司无法招到“真正的”高级C/C++工程师的情况下。 yplin27 发表于 2023-10-4 23:06
曾经带过几个人的小组写了一年多的 rust,物联网,音视频相关的应用,的确值得推荐,特别是在公司无法招到 ...
(引用自11楼)
没想到这里有Rust前辈,佩服!! 我前面学了golang做项目 ,又学了前端技术,发现前端技术是体力活,最近倒腾了下fpga,然后又重拾老本行相对高速一点的6层板画板,哈哈,感觉又想学下rust,有啥好的教材推荐下,常年无事可做,只能学学这个学学那个…… redworlf007 发表于 2023-10-4 23:48
我前面学了golang做项目 ,又学了前端技术,发现前端技术是体力活,最近倒腾了下fpga,然后又重拾老本行 ...
(引用自13楼)
大佬常年无事可做,想必房贷,小孩学费都已经搞定了。 qwe2231695 发表于 2023-10-5 00:08
大佬常年无事可做,想必房贷,小孩学费都已经搞定了。
(引用自14楼)
经济不好,公司没啥业务呀…… redworlf007 发表于 2023-10-5 00:36
经济不好,公司没啥业务呀……
(引用自15楼)
没啥业务,养得起大神这样的研发么,还是大神是老板 codefish 发表于 2023-10-4 23:31
没想到这里有Rust前辈,佩服!!
(引用自12楼)
也是新手,不过相对而言 Rust 比 C/C++ 对新手友好得多,只要能编译通过基本上就能稳定运行 51单片机也能用rust语言了? rei1984 发表于 2023-10-5 08:20
51单片机也能用rust语言了?
(引用自18楼)
好像暂时不能,以后能不能支持还不知道。
Rust后端编译使用LLVM编译器,
LLVM编译器还没有支持51. QT有学习资料推荐吗
求大佬推荐rust入门资料 akey3000 发表于 2023-10-5 07:25
没啥业务,养得起大神这样的研发么,还是大神是老板
(引用自16楼)
总得有人充当临时工角色吧。 weavr 发表于 2023-10-5 09:11
QT有学习资料推荐吗
(引用自20楼)
QT的资料可太多了,直接开撸吧,遇到问题解决问题即可。 最近想用QT做框架,写一个闭源的工具,可以自动化创建使用QT的C++代码,类似cubemx。。
但是,发现QT的开源协议不是很友好 ,
Rust的开源协议是怎样的呢,是否可以闭源商用。 Firman 发表于 2023-10-4 22:33
老年痴呆一般有三种引起:
①其他疾病引起脑部病变,如脑肿瘤、眼肿瘤。
②喝酒过度。
(引用自9楼)
前2年在一个培训班上一个留澳搞学医数字影像AI的博士说:老年痴呆患者的大脑白质会萎缩,预防老年痴呆要多用脑,比如学一门外语。。。 不看好 rust
写 mcu、写驱动要和设备直接打交到,用 rust 只能用 unsafe 模式
这样 rust 最大的优势:内存安全 反而享受不到
而 rust 的丑陋格式和复杂性却伴随而来 dukelec 发表于 2023-10-6 09:04
不看好 rust
写 mcu、写驱动要和设备直接打交到,用 rust 只能用 unsafe 模式
这样 rust 最大的优势:内存 ...
(引用自26楼)
用rust做嵌入式开发,不可避免很多地方用到unsafe,
但是除了死守C或C++,目前还找不到比rust更好的语言吧,
探路大佬分享下合适的入门教程,试试? Firman 发表于 2023-10-4 22:33
老年痴呆一般有三种引起:
①其他疾病引起脑部病变,如脑肿瘤、眼肿瘤。
②喝酒过度。
(引用自9楼)
我一直有这方面的担忧,医院高校这样的高知人群比其他人群得老年痴呆的概率高,我们做电信计算机的,这辈子都是用脑过度的。 下一页 发表于 2023-10-7 10:27
我一直有这方面的担忧,医院高校这样的高知人群比其他人群得老年痴呆的概率高,我们做电信计算机的,这辈 ...
(引用自29楼)
加班倒腾代码≠用脑吧,哈哈。 dukelec 发表于 2023-10-6 09:04
不看好 rust
写 mcu、写驱动要和设备直接打交到,用 rust 只能用 unsafe 模式
这样 rust 最大的优势:内存 ...
(引用自26楼)
Rust 的 unsafe 模式设计还是挺合理的,我们团队是用一个独立的sys crate 用来写 unsafe 代码,由有经验的工程师维护(里面还包含大量对C库的内存安全封装),其他地方禁止 unsafe
这种模式适合初中高级工程师合作开发同时较大限度保证项目质量,如果用C开发的话初级水平的项目成员会严重影响项目质量,并且需要大量代码REVIEW时间 niaojingxin 发表于 2023-10-7 09:53
探路大佬分享下合适的入门教程,试试?
(引用自28楼)
可以找找 ESP32 Rust 相关资源,功能相对完备,并且支持标准库跟 async 运行时 本帖最后由 dukelec 于 2023-10-7 12:54 编辑
yplin27 发表于 2023-10-7 12:14
Rust 的 unsafe 模式设计还是挺合理的,我们团队是用一个独立的sys crate 用来写 unsafe 代码,由有经验 ...
(引用自31楼)
是的,rust 只适合很大的公司,开发效率低可以用人数来凑
招不到 c c++ 高手的公司,更不可能招到可以负责 unsafe rust 的高手 yplin27 发表于 2023-10-7 12:14
Rust 的 unsafe 模式设计还是挺合理的,我们团队是用一个独立的sys crate 用来写 unsafe 代码,由有经验 ...
(引用自31楼)
开发效率怎么样,跟c++比,我学了1个月后放弃了,主要是觉得大规模开发的话,我培训10个工程师时间也不短。 xmlbb 发表于 2023-10-7 13:16
开发效率怎么样,跟c++比,我学了1个月后放弃了,主要是觉得大规模开发的话,我培训10个工程师时间也不短 ...
(引用自34楼)
还是golang开发简单快速,哈哈。 xmlbb 发表于 2023-10-7 13:16
开发效率怎么样,跟c++比,我学了1个月后放弃了,主要是觉得大规模开发的话,我培训10个工程师时间也不短 ...
(引用自34楼)
rust虽好,但推行要谨慎哈
个人认为开发效率比c++低不少,rust内存安全虽好,但为了过那些严格的检查规则,需要增加不少代码复杂性,特别是对于那些多线程共享的可变单例
编译时间也是个大问题,我们的项目不大,但编译一次都要两分钟以上(I7 CPU)
遇到最麻烦的则是 async 的 unpin,到现在都觉得自己不会。。。
还有一个必须考虑的大坑就是缺乏大公司的投入,以及缺乏生产环境上的杀手级应用(相对golang而言),很多第三方库都是个人开发者随性维护,譬如我遇到的那个大坑 ring
我们也是迫不得已用rust,一个物联网项目功能有点复杂,原来是用c写,但总是不稳定,长时间运行掉线问题,频繁操作时崩溃问题,内存不足问题(c开发者貌似都不喜欢动态申请释放内存),所以才尝试抽人组rust团队重写,效果不错,所以后面几个项目就用了rust dukelec 发表于 2023-10-7 12:51
是的,rust 只适合很大的公司,开发效率低可以用人数来凑
招不到 c c++ 高手的公司,更不可能招到可以负 ...
(引用自33楼)
yplin27的做法是值得学习的,
小团队,能处理unsafe的高手只需要一个就够了,
其他人参与写非核心代码,他们怎样胡写也关系不大
codefish 发表于 2023-10-7 14:44
yplin27的做法是值得学习的,
小团队,能处理unsafe的高手只需要一个就够了,
其他人参与写非核心代码, ...
(引用自37楼)
这跟我们的项目属性也有点关系,创业公司十几款几十个型号的物联网产品,其中网络、定时任务、OTA,配置存储等这些基础功能都是通用的,剩下的就是大量关于状态上报,指令执行相关的业务代码,为了进度需要较多开发人员协同开发,Rust在项目工程上也有优势 yplin27 发表于 2023-10-7 14:13
rust虽好,但推行要谨慎哈
个人认为开发效率比c++低不少,rust内存安全虽好,但为了过那些严格的检查规 ...
(引用自36楼)
请教下,你们用rust是写mcu上的代码,还是Linux上的代码? redworlf007 发表于 2023-10-7 17:37
请教下,你们用rust是写mcu上的代码,还是Linux上的代码?
(引用自39楼)
都有,一开始是 esp32c3,因为有标准库的支持所以才考虑用 rust 重写。后来是几款 MIPS 下的嵌入式Linux。esp32相关项目挺顺利,嵌入式Linux项目则踩到挺多坑 yplin27 发表于 2023-10-7 18:55
都有,一开始是 esp32c3,因为有标准库的支持所以才考虑用 rust 重写。后来是几款 MIPS 下的嵌入式Linux ...
(引用自40楼)
(⊙o⊙)…我想用rust写下Linux上应用程序看看,感觉貌似坑不少。。。 redworlf007 发表于 2023-10-7 19:17
(⊙o⊙)…我想用rust写下Linux上应用程序看看,感觉貌似坑不少。。。
(引用自41楼)
如果不是为了c库ffi的性能,以及那么一点的磁盘空间,那么一点的CPU性能,绝对是 golang 合适(同样的功能我用golang实现过,相关库都非常成熟稳定,rust下基本上都是半成品,并且不维护) yplin27 发表于 2023-10-7 20:11
如果不是为了c库ffi的性能,以及那么一点的磁盘空间,那么一点的CPU性能,绝对是 golang 合适(同样的功 ...
(引用自42楼)
所以感觉我还是选择golang算了,rust目前不适合,投入太大,虽然rust在单片机中可用,但是我宁愿搞个arm9来做项目,这样进度上会快很多。 yplin27 发表于 2023-10-7 20:11
如果不是为了c库ffi的性能,以及那么一点的磁盘空间,那么一点的CPU性能,绝对是 golang 合适(同样的功 ...
(引用自42楼)
我现在的项目是用golang做的,代替c和c艹,golang开发速度飞起,看你们搞rust ,所以好奇。 xmlbb 发表于 2023-10-7 20:38
所以感觉我还是选择golang算了,rust目前不适合,投入太大,虽然rust在单片机中可用,但是我宁愿搞个arm9 ...
(引用自43楼)
我搞了个新塘的新片子,800M主频内置512M ddr,还带个180m的单片机,lqfp封装,哈哈。 redworlf007 发表于 2023-10-7 21:46
我搞了个新塘的新片子,800M主频内置512M ddr,还带个180m的单片机,lqfp封装,哈哈。 ...
(引用自45楼)
什么型号?
redworlf007 发表于 2023-10-7 21:46
我搞了个新塘的新片子,800M主频内置512M ddr,还带个180m的单片机,lqfp封装,哈哈。 ...
(引用自45楼)
同问下,货源怎么样? xmlbb 发表于 2023-10-7 22:41
什么型号?
(引用自46楼)
MA35D1,后缀我忘了。 seamajor 发表于 2023-10-7 22:43
同问下,货源怎么样?
(引用自47楼)
目前我问的代理商拿货特别贵,有别人出的产品比较便宜,不知道他们的拿货渠道。 本帖最后由 三年模拟 于 2023-10-8 08:47 编辑
redworlf007 发表于 2023-10-7 23:53
目前我问的代理商拿货特别贵,有别人出的产品比较便宜,不知道他们的拿货渠道。 ...
(引用自49楼)
目前100一片,预计明年会降价,这个片子工业控制很爽,linux+freertos,m4核要比stm32强,可以同时跑6路步进电机,10几路直流pwm,复杂项目这个价格不贵。 三年模拟 发表于 2023-10-8 06:28
目前100一片,预计明年会降价,这个片子工业控制很爽,linux+freertos,m4核要比stm32强,可以同时跑6路步 ...
(引用自50楼)
100块不如先stm了{:shocked:} 本帖最后由 三年模拟 于 2023-10-8 08:45 编辑
xmlbb 发表于 2023-10-8 08:06
100块不如先stm了
(引用自51楼)
对比stm32mp157这款片子的,st没有ddr,布线至少6层板,ddr3怎么也得10块钱一片,总体成本不便宜的 三年模拟 发表于 2023-10-8 08:09
对比stm32mp157这款片子的,st没有ddr,布线至少6层板,ddr3怎么也得10块钱一片,总体成本不便宜的 ...
(引用自52楼)
45+10才55,再+10pcb怎么样,也才65。 本帖最后由 三年模拟 于 2023-10-8 08:50 编辑
xmlbb 发表于 2023-10-8 08:40
45+10才55,再+10pcb怎么样,也才65。
(引用自53楼)
你赢了,stm32mp157降价这么狠了,看来ma35d1批量开卖60~80才有竞争空间,说难听点,如果没有m4这颗核,还是全志大法好,批量芯片十几块,主频一个g 三年模拟 发表于 2023-10-8 06:28
目前100一片,预计明年会降价,这个片子工业控制很爽,linux+freertos,m4核要比stm32强,可以同时跑6路步 ...
(引用自50楼)
我买了别人的成品网关盒子,才卖375,带4G模块和8G存储,我拆开粗滤算了下,他们的cpu应该不超过60块钱吧,毕竟还要赚钱。 redworlf007 发表于 2023-10-8 09:11
我买了别人的成品网关盒子,才卖375,带4G模块和8G存储,我拆开粗滤算了下,他们的cpu应该不超过60块钱吧 ...
(引用自55楼)
100是代理给的单片价格,但是批量大价格肯定便宜,我这里也才买个100来片价格下不来 三年模拟 发表于 2023-10-8 08:48
你赢了,stm32mp157降价这么狠了,看来ma35d1批量开卖60~80才有竞争空间,说难听点,如果没有m4这颗核, ...
(引用自54楼)
如果接受全志还要啥M4,再加一M4的MCU也不要10块吧,就算20吧,也才40块嘛 redworlf007 发表于 2023-10-8 09:11
我买了别人的成品网关盒子,才卖375,带4G模块和8G存储,我拆开粗滤算了下,他们的cpu应该不超过60块钱吧 ...
(引用自55楼)
纯网关肯定用全志t113-s3勉强工业级,这款片子20不到,128M ddr 三年模拟 发表于 2023-10-8 09:21
纯网关肯定用全志t113-s3勉强工业级,这款片子20不到,128M ddr
(引用自58楼)
我放室外的设备,吐鲁番夏天太阳直晒外壳能烫手,阿勒泰冬天冷的时候零下三十多度四十度。。。还是用个好点的。 redworlf007 发表于 2023-10-8 09:11
我买了别人的成品网关盒子,才卖375,带4G模块和8G存储,我拆开粗滤算了下,他们的cpu应该不超过60块钱吧 ...
(引用自55楼)
盒子有没有链接,我去看下,这么便宜 本帖最后由 redworlf007 于 2023-10-8 10:22 编辑
三年模拟 发表于 2023-10-8 10:19
盒子有没有链接,我去看下,这么便宜
(引用自60楼)
【淘宝】https://m.tb.cn/h.5TuLrLV?tk=xcC4W0GXpgr CZ3457 「4G/5G工业计算机智能无线网关透传多串口光伏电力物联网网关」
点击链接直接打开 或者 淘宝搜索直接打开
你看看,800m512的那个,ps我不是打广告。
我拿来当开发板用。 redworlf007 发表于 2023-10-8 10:21
【淘宝】https://m.tb.cn/h.5TuLrLV?tk=xcC4W0GXpgr CZ3457 「4G/5G工业计算机智能无线网关透传多串口光 ...
(引用自61楼)
你牛B,你怎么知道这个盒子里面芯片是ma35d1的 三年模拟 发表于 2023-10-8 10:31
你牛B,你怎么知道这个盒子里面芯片是ma35d1的
(引用自62楼)
我就知道你会问这个,哈哈。
我朋友多,哈哈,有专门做网关软件的朋友,他们适配很多厂家的网关硬件,他无意间发现的,给我截图了启动界面,哈哈。 redworlf007 发表于 2023-10-8 10:41
我就知道你会问这个,哈哈。
我朋友多,哈哈,有专门做网关软件的朋友,他们适配很多厂家的网关硬件,他 ...
(引用自63楼)
新唐这款芯片官网资料基本已经全了,坑的话,我感觉linux方面还好,目前没遇到过,m4核基本功能跑了下,除了定时器有点小bug,其它都还好,全志除了便宜,其它都是坑,sdk官方的就有许多bug,这些bug你只能自己撸,如果能力强还好,能力不行,做项目就有可能失败,这点rockchip好点,目前国产高端arm芯片rockchip也已经各路开发板了,国产芯片唯一毛病就是软件支持力度太差。 三年模拟 发表于 2023-10-8 10:46
新唐这款芯片官网资料基本已经全了,坑的话,我感觉linux方面还好,目前没遇到过,m4核基本功能跑了下, ...
(引用自64楼)
新塘的资料齐全,售后支持也好,我不想用RK的东西。。。资料太烂了。。。
新塘这个片子,他贴了了散热片,不好拆,我还没看到上面完整的丝印。。。工作的时候散热片也很热。 redworlf007 发表于 2023-10-8 10:55
新塘的资料齐全,售后支持也好,我不想用RK的东西。。。资料太烂了。。。
新塘这个片子,他贴了了散热片 ...
(引用自65楼)
emmc用的国产的吗,江波龙? redworlf007 发表于 2023-10-8 10:55
新塘的资料齐全,售后支持也好,我不想用RK的东西。。。资料太烂了。。。
新塘这个片子,他贴了了散热片 ...
(引用自65楼)
lqfp脚太多了我不喜欢,我用的bga的,内置ddr多少会热点的,用ddr3l会好点 本帖最后由 redworlf007 于 2023-10-8 11:19 编辑
三年模拟 发表于 2023-10-8 10:56
emmc用的国产的吗,江波龙?
(引用自66楼)
这个,KLM8G1GETF 三星的。
lqfp四层板就够了,加工难度第一点,就是占地面积比较大。。。
新塘的官方资料在哪下载的?github还是官网? 本帖最后由 三年模拟 于 2023-10-8 11:22 编辑
redworlf007 发表于 2023-10-8 11:15
这个,KLM8G1GETF 三星的。
lqfp四层板就够了,加工难度第一点,就是占地面积比较大。。。
(引用自68楼)
bga内置ddr的4层板也搞定了,资料官网下啊,除了寄存器手册得问供应商,其它官网齐活了 三年模拟 发表于 2023-10-8 11:20
bga内置ddr的4层板也搞定了,资料官网下啊,除了寄存器手册得问供应商,其它官网齐活了 ...
(引用自69楼)
bga不用上六层?好多加工厂贴bga不良率高。。。维修也费事。
我去官网看看去。 redworlf007 发表于 2023-10-8 11:24
bga不用上六层?好多加工厂贴bga不良率高。。。维修也费事。
我去官网看看去。 ...
(引用自70楼)
你找好点板厂,bga良率要高于多引脚lqfp的
页:
[1]