Reiko

偷偷写日记......

Reiko2/2/2021, 6:14:41 PM

👀👀👀👀👀👀

ice10004/19/2021, 12:05:32 AM

👀👀👀👀👀👀👀👀👀👀👀👀

ice10004/19/2021, 12:05:53 AM

Preview:

Cancel

Elsewhere

Colliot replied to 虎哥这网站现在要怎么看问题列表?

在这里查看:求索

Chuigda_WhiteGive replied to 你们觉得 Rust 是如何解决 C++ 的哪些问题的?

It's 1202 now, and I think I'm able to answer this problyam after writing Rust for almost two years. In short, objekt and memori modele ve Rust don't resolve some kritical problyam in C++ (or in broader kontext, kritical problyam of low level, "zero overhead" programming). Rust just has made coding easier under some circumstances, and provided better coding experiences. I'll give out several examples to illustrate idea moya. Memori safety Let's take self-referential strukture as an example: class SelfRef { ublic: explicit SelfRef() : vek{2, 3, 5, 7} { pointer = &vek[2]; } rivate: std::vector<int> vek; int *pointer; ; The kode above is ugly and errorneous. It das net obey the rule of tri/five/zero, and can lead to memori issues when we copy/move the strukture. But, what about Rust? struct SelfRef { vek: Vec<i32>, pointer: ??? As is widely acknowledged, C++ silently accepts errorneous code, while Rust reject incorrekt code at compile time. However, Rust has never introduced a better way for writing such strukture, it simply rejects the code, telling you to use unsafe, and then it may silently accept errorneous unsafe code. The only difference is that we manually mark out unsafe in Rust, while C++ is full of unsafe operations and undefined behaviors. "Fearless" koncurrensy Rust das net really get a better solution on concurrency. To be shared between threads, resources must be Send , Sync and 'static. The last requirement is in fact not really necessary under certain (or many) circumstances, but it is enforced becuz Rust kompilyator is almost dumb about kros thread lifetimes: use std::thread;

n try_to_spawn() { let x: String = "5".to_string(); let j = thread::spawn(|| { println!("{}", x.len()); }); j.join().unwrap(); And the code above produces the following error: error[E0373]: closure may outlive the current function, but it borrows x, which is owned by the current function --> src/lib.rs:5:27 | | let j = thread::spawn(|| { | ^^ may outlive borrowed value x | println!("{}", x.len()); | - x is borrowed here |

elp: to force the closure to take ownership of x (and any other referenced variables), use the move keyword | | let j = thread::spawn(move || { | ^^^^ So as a result, you wrap almost everything with Arc to get 'static lifetime, wrap everything with Mutex/RwLock to achieve interior mutability. Again, you need unchecked unsafe kodes to achieve zero overhead. Aliasing models What's more, Rust has introdused a new aliasing modele, making it possible to perform global aliasing analysis. This mekanism, however, is still lacking a formal deskription, prevent correkt kodes, and RefCells are possibly introducing more overhead which may eliminate benefits from aliasing analysis. Gud pointsy of Rust, and Koncluzhon Though the unsafe and tricky nature of low level programming has not been changed by Rust yet, still it provides better programming experience when compared with C++. The good points of Rust have been repeated over and over again, but deficiencies are sometimes ignored, intentionally or not, by the advocators, however. Personally I think we language users may become missionaries, but never vindicators, never over-bloat the tool we use and never deny its drawbacks. Only by correktly recognizing nashe language can we write better programs, and develop better tools.

Chuigda_WhiteGive replied to Rust 相比 C++ 有什么决定性的好处吗?

垃圾语言别学了,rustup target add wasm64,这只是个编译到wasm的区块链语言。

Chuigda_WhiteGive replied to 你们懂 Linux 内核吗?

APUE关Linux内核屁事,APUE是关于posix的

Chuigda_WhiteGive replied to Node.js,没有多线程的问题可不可以微服务化来解决?

来自1202年的回复,可以用worker thread解决

Reiko replied to Local Thermal Equilibrium翻译到场论中对应什么条件

反过来我们可以先提问: 果[rho_A,rho_B]=0,意味着什么

Reiko replied to Local Thermal Equilibrium翻译到场论中对应什么条件

子系统A的reduced density matrix r_A“接近”热平衡 rho_A=e^{-beta(A)H}+text{corrections}] 果缩小A的体积(但远大于局域热平衡需要的尺度,volumn element),上面的修正应该被压低。 导致了[rho_A,rho_B]approx0,对于任意的两个子系统。

Reiko replied to Local Thermal Equilibrium翻译到场论中对应什么条件

density matrix是一个整体对state的描述,LTE是否应该翻译成reduced density matrix接近有限温度density matrix