V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  nebkad  ›  全部回复第 4 页 / 共 8 页
回复总数  155
1  2  3  4  5  6  7  8  
2024-04-16 14:51:46 +08:00
回复了 OliverDD 创建的主题 程序员 对数据库感兴趣,但完全接受不了 cpp
Rust 神教教徒来传教了,不喜请忽略。

我跟你一样,对数据库的查询引擎和存储结合的部分很感兴趣,也觉得 CPP 的心智负担真的太大了,没办法让我在快速试验想法的同时,能够积累一些代码用于下一次的迭代。

如果只是要快速迭代,那可能用脚本语言或者别的灵活性很高的语言是可以的,但问题是这些语言虽然表现力强但是性能真的很成问题,很难用于积累。

所以 Rust 真的很适合,它的类型系统能够帮助你以很正交的方式来描述抽象设计,零成本抽象的设计原则提供了良好的运行时性能。

作为一个曾经的 CPP 程序员,我认为 Rust 真的不需要知道什么奇技淫巧或者 corner case 就能用得很好;当然这对于很多人来说,可能 Rust 的门槛真的很高,因为他们不一定需要这么强力的工具。但以你的目标来看( DBMS 核心组件),Rust 应该是恰当的。
2024-04-09 23:47:28 +08:00
回复了 FringJX 创建的主题 Tesla 关于“单踏板模式”
@yannxia #198
我反正无所谓我是不是愚昧,我又不是无所不知。
但是你说我站在他们的对立面,那你肯定又是愚昧了。
反对“单踏板模式”的人里面,会持有什么观点我非常清楚并且很理解。
倒是你有没有问过他们,有没有开过可调节动能回收、定速巡航或者全速自适应巡航,
如果他们知道这些的话,电车不可以松开踏板放在刹车踏板上备刹吗?这时候和油车有任何区别吗?
愚昧就是愚昧,不会因为有自己的理由就不是愚昧
2024-04-09 17:36:07 +08:00
回复了 FringJX 创建的主题 Tesla 关于“单踏板模式”
看完所有回复,OP 有没有觉得人类的愚昧真的很顽固?哈哈哈哈~

就是有那么一部分人,既不能从文字描述中感知叙述者的感受,也不愿意亲自去感受,
然后坚持以自己的想象否定叙述者的体验。

所以我一直认为,一线销售人员应该是一种技术工种。
@bli22ard #6
标准库里为所有 T &T &mut T [自] [动] [地] 实现了 Borrow 和 BorrowMut 。
你不妨试试“自动地”实现一个 trait 在某个 feature 没有 stable 之前是不是允许的。

AsRef 和 AsMut 可没有这个待遇。
并且,其实 AsRef 和 AsMut 更符合设计用途的用法是类似于 OO 里面的子类隐式向父类引用转换。
而 Borrow 和 BorrowMut 在理解了 “有所有权” 和 “有使用权” 的细微差异后就会发现真的很有用
@bli22ard #4 你会这么想是不是因为你没有注意到 这段代码
https://doc.rust-lang.org/src/core/borrow.rs.html#208-241

不可能有别的代码能替代这段标准库里的效果
譬如说,我要实现一个 RingBuffer ,可以 RingBuffer 自己分配 buffer 的内存,也可以接受外部输入的 buffer 。
我们可以发现,无论自己分配还是外部输入,RingBuffer 的大部分功能代码都是一样的,不太可能为此写两种不同的 RingBuffer 。那么,RingBuffer 就可以这么定义:

```Rust
pub struct RingBuffer<B: BorrowMut<[u8]>>(B);
```
2024-02-28 02:20:10 +08:00
回复了 sevenfeet 创建的主题 生活 老婆坚持想生孩子,烦
如果你对没有小孩的生活有美好的期待,觉得那是一种持久的自由甚至是幸福,那我只能说你还很嫩。
养育小孩是另一种创业,不知道这个角度对你来说会不会有点启发。
确实有很多人不适合养育小孩,正如很多人不适合创业一样。
2024-02-25 22:29:02 +08:00
回复了 yanyao233 创建的主题 程序员 总是忍不住重复造轮子
这很正常,我前两天又手痒造了个基于 ticket 的 spinlock 并且实现了用合理的代价支持线程退出争夺锁
准备再过段时间实现一次 poison 检测
而这些东西,任何现代操作系统都直接提供了实现
2024-02-24 15:11:52 +08:00
回复了 fgasdzxc 创建的主题 Go 编程语言 想探讨下 Go 中的网络编程模式
如果你学 Rust ,那就可以很容易地明白他们为什么这么说,但你学 Go 我只能说你要多想。
(对我是来挑事儿的 XD
2024-02-20 17:29:59 +08:00
回复了 nebkad 创建的主题 编程 [抱怨] Ticket Based 的 Spinlock 很难支持取消争夺锁
谁能想到呢,写个 spinlock 都需要引入分布式算法。

在极其有限的内存中(一个 int )挤出两个 bit 用来标记:1.受控取消争夺锁状态,2.有线程崩溃后的 非受控取消争夺锁状态。

先说 1 受控取消
取消者要设置标记,然后把自己的 ticket number N 放在 atomic_int 里面,才可以安全退出,
然后 ticket number 是 N + 1 的等待者检测到这个变化,也把 N + 1 防盗 atomic_int 里面,继续等待。
如此类推,就可以顺利地把所有等待者都顺利更新 ticket 。
第 n 个受影响的等待者会发现自己更新之后,N + n 一直不会变,那么他来负责清除这个受控取消状态的标记。
2024-02-03 16:45:16 +08:00
回复了 drymonfidelia 创建的主题 程序员 tauri 真的太难用了,浪费了我整整一天
这帖子真的太难顶了,浪费了我整整一分钟
2024-01-23 16:28:47 +08:00
回复了 coolfamilyxun 创建的主题 商业模式 感觉个人程序员以后找做模板化的产品根本走不通
所以“开源才是解放程序员自己,同时又能产生价值” 这个结论非常反直觉,但时间尺度够大的时候是成立的。
2023-12-22 16:10:44 +08:00
回复了 wkong 创建的主题 程序员 个人觉得 Go 的 error 设计的非常好,为什么还那么多人吐槽?
调侃:因为你和那些人不是一个档次。(对,你的高)

你想听到的答案:因为口味问题。

真正的原因:因为 go 的 err 强迫你写大量重复且相似的代码,并且这些代码完全可以用更好的模式来取代。
2023-12-19 18:48:15 +08:00
回复了 Aih 创建的主题 Rust Rust 的 Deref trait 是不是叫 Ref trait 更好一些
Deref AsRef Borrow 都有相似的作用,叫做 Ref 很难区别其中的仔细差异
2023-12-14 14:41:23 +08:00
回复了 monkeyWie 创建的主题 Rust 最近初学 rust 有个疑问
@lifespy

如果你是说代码的很多 **表示类型** 的地方都需要表达是否可空,嫌弃 Option 字母多,那你需要的可能是编辑器自动提示。

如果你是说需要链式处理判断是否空,那也是我支持的语法糖作用,并且 Rust 也支持,你甚至还可以用 Try trait V2 来自定义衍生的语义。

总的来说,OP 对 rust 了解太少,习惯或者麻木的东西太多
2023-12-12 02:54:47 +08:00
回复了 monkeyWie 创建的主题 Rust 最近初学 rust 有个疑问
? 语法糖仅仅用来表是可空真的是太浪费了
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3207 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 00:08 · PVG 08:08 · LAX 16:08 · JFK 19:08
♥ Do have faith in what you're doing.