- 主题:st想法很棒但软件真垃圾
但是C下面语法严谨啊
我又没说rust不对,我就是说不严谨,对于有些习惯不好的人,非常麻烦
特别是像我MCU固件也越做越大的,都不能一个人开发了
你推荐之后我个人试用了一下rust,然后想想公司里面两个夯货的德行,感觉还是继续用C稳定
【 在 lvsoft 的大作中提到: 】
: 噢我知道了,你要返回读到的数据同时还要拉高时钟是吧。
: 那这个多大事,c下面也得这么做啊。
--
FROM 121.231.128.*
资本家的立场才是维持稳定
能稳定赚钱,我换rust干嘛
特别是如果你要求底下干活的人学习,那基本很难
不要以为做软件的学习这个学习那个,那是因为不学就赚不到钱
底层开发的,如果一件事情C能做到,rust也能做到,没多少人有动力去学新的
除非我这样吃饱了没事干
【 在 tom6bj 的大作中提到: 】
: 你就是资本家啊, 立场不同了...
: 我已经100%用rust开发了,现在很爽
: 跟这些原厂sdk彻底拜拜
: ...................
--
FROM 121.231.128.*
关键在于有源源不断的人才供应,可替换,今天老王跳槽走了,招个小李过来熟悉一下就能马上接着干。
java和c#都是照着这个目标设计的,所以说是面向资本家的语言。c/c++不行,go/rust的目标就是在c/c++这个层次尽可能向java/c#靠拢。
【 在 dismoon 的大作中提到: 】
资本家的立场才是维持稳定
能稳定赚钱,我换rust干嘛
特别是如果你要求底下干活的人学习,那基本很难
不要以为做软件的学习这个学习那个,那是因为不学就赚不到钱
底层开发的,如果一件事情C能做到,rust也能做到,没多少人有动力去学新的
除非我这样吃饱了没事干
【 在 tom6bj 的大作中提到: 】
: 你就是资本家啊, 立场不同了...
: 我已经100%用rust开发了,现在很爽
: 跟这些原厂sdk彻底拜拜
: ...................
--
FROM 222.129.0.*
那你现在用啥IDE?
【 在 dismoon 的大作中提到: 】
: MX早期版本是java做的,现在不是了
: 证据就是我没有java虚拟机上的MX是可以运行最新MX的
: 不过垃圾是真的,我现在只有设计硬件阶段用用分配pin,真用ST的做固件,那就是2
: ...................
--
FROM 222.131.26.*
我就是不理解这为啥是严谨?
c只有过程式一种写法,rust倾向于函数式但它本质依然是过程式语言。所以它可以有两种写法,这个不叫不严谨啊...
函数式和过程式是CS领域的核心问题,分别对应lambda calculus和图灵机两个理论模型,两者是完全等价的。在计算机的早期,两个派系分别产生了LISP和Fortran两大代表性语言,但后来现代计算机体系结构走的是图灵机的路线,因为函数式在硬件体系结构上很难落地,也许得用生物DNA分子作为底层机制才能作出原生lambda模型的计算机。anyway扯远了,因为现代计算机走的是图灵机模式,所以fortran,C,basic,pascal,java,...这一众过程式语言才为绝大多数程序员熟知。
而lisp, scheme, haskell,clojure这些函数式语言,会的人就少了。很多程序员,尤其是非科班的,根本就没有函数式的思想,即使要写函数式的风格,也容易按照过程式的思维去理解,出现各种错误是很正常的。
函数式的思想是很重要的,具体我就不展开了,展开这个话题就得长篇大论了。我只能说,尤其是现在这个时代,函数式思想越来越重要,所以新的语言都在拥抱函数式的思想,连java都加了lambda...所以现在的语言都越来越强调函数式的地位,所以rust明确的说了它更鼓励用函数式的风格去写代码。能原生支持函数式,这是rust远远领先于c的一个重要的feature。哦对了,rust抛弃了OOP,这是rust领先于c++的另一个重要的feature...顺便,OOP和函数式的思想相比,连提鞋都不配...我是觉得OOP就是一个典型的谭浩强级别的现象级错误。属于早期大家认识理解还不够深刻,某人拍脑袋搞了个OOP这么个挺讨巧的模型然后被大量推广了,仅此而已。
纯函数式当然一样可以实现你的目的,但这样的代码写起来比较麻烦,在这里肯定是用过程式更简单自然的。
但反过来更多的场合用函数式,有着过程式无法企及的优势。这和严谨不严谨一丁点关系都没有,纯粹就是哪个更好用哪个。
最后,我之前安利rust的时候举了rtic这个例子来说明rust下rtos是如何的简单。这个例子其实不太好,因为那个时候开始我还没深度使用rtic。rtic这个东西最大的问题是它要用rust的nightly版本,它需要用一个还没进stable的feature。而且这个feature,rust内部已经讨论了整整7年了,因为他们觉得讨论的还不够严谨,还有很多场景没有覆盖到,所以还再继续讨论...,这眼瞅着也不像是很快就能讨论出结果的样子。所以我们最后还是自己手撸了一个async实现。整个过程依然很简单大概不到500行代码,这就是rust的好处。
【 在 dismoon 的大作中提到: 】
: 但是C下面语法严谨啊
: 我又没说rust不对,我就是说不严谨,对于有些习惯不好的人,非常麻烦
: 特别是像我MCU固件也越做越大的,都不能一个人开发了
: ...................
--
修改:lvsoft FROM 180.158.48.*
FROM 180.158.48.*
这个讲真,不敢苟同。
rust的做法是一次做到正确,而不是源源不断的堆人上去维护屎山代码。
我以前没深度使用rust的时候,对rust的一次做正确的理解还停留在编译过的层面。
其实rust的设计远远不至于此,它真的是设计的非常的巧妙。早期我对rust不满的地方最终都证明了人家是多么的高瞻远瞩,很多我觉得rust很sb的地方,其实后面慢慢才会理解都是故意这么搞的,都是无比正确的设计。
简单的说,rust会逼着你把一切彻底的想清楚。注意“一切”和“彻底”两个字,真就是字面意思。如果你没想清楚就写代码了,一般这个代码会写的很痛苦,往往也会编译不过。即使你勉强编译过了,代码也会长的很丑。
如果你想要你的代码看起来简洁、优雅、一眼望去就是高质量代码的那种style,你就必须把所有问题考虑到位。这里面的感受,只能说得用rust写一阵子代码才能体会。
然后,因为rust的这种风格,会产生2个结果。1是只要是能通过编译,并且看起来很漂亮的代码,它大概率是不会有毛病的,基本不需要维护。2是,因为逼着你把事情做正确,把所有问题考虑到位,所以不管是谁来做,最终写出来的代码会趋同。rust会磨灭你的个人风格,让不同的人的代码长得很像。rust的format也会把代码梳理成统一的模式,编译器也会不断的给你提示,让你把某种写法改成它推荐的写法。所以rust其实换人维护代码的门槛非常的低。
最后,rust的学习门槛,我只能说其实并不高,但这里可能有点像小马过河。rust无疑是不适合任何人学的,它一定是有门槛的。但也别把rust想的太夸张,尤其是现在有AI辅助,做好写报废的准备用rust真实写一个项目,一般来说就差不多了。
【 在 tom6bj 的大作中提到: 】
: 关键在于有源源不断的人才供应,可替换,今天老王跳槽走了,招个小李过来熟悉一下就能马上接着干。
: java和c#都是照着这个目标设计的,所以说是面向资本家的语言。c/c++不行,go/rust的目标就是在c/c++这个层次尽可能向java/c#靠拢。
:
: ...................
--
修改:lvsoft FROM 180.158.48.*
FROM 180.158.48.*
听起来很费程序员的样子。感觉适合写基础设施 留给rust的领地有限
【 在 lvsoft 的大作中提到: 】
: 这个讲真,不敢苟同。
: rust的做法是一次做到正确,而不是源源不断的堆人上去维护屎山代码。
: 我以前没深度使用rust的时候,对rust的一次做正确的理解还停留在编译过的层面。
: ...................
--
修改:bpxflew FROM 124.166.122.*
FROM 124.166.122.*
我觉得可能太早了,得屌丝者得天下
【 在 bpxflew 的大作中提到: 】
: 听起来很费程序员的样子。感觉适合写基础设施 留给rust的领地有限
--
FROM 111.192.195.*
看起来岂不是rust不能Crtlc-c+Ctrl-v了?那对于本青这种调库工程师岂不是要寿终正寝了?
【 在 lvsoft 的大作中提到: 】
: 这个讲真,不敢苟同。
: rust的做法是一次做到正确,而不是源源不断的堆人上去维护屎山代码。
: 我以前没深度使用rust的时候,对rust的一次做正确的理解还停留在编译过的层面。
: ...................
--
FROM 58.246.155.*
没戏,是一门专家语言
【 在 ccrt 的大作中提到: 】
: 我觉得可能太早了,得屌丝者得天下
--
FROM 124.166.122.*