3 ms·
Selectively Shifting and Constraining Computation
- BenoitP 4y agoPosting this here because I feel like I'm detecting a new pattern in the industry. Let me explain: * Rust's forces the programmer to come up with a proof about race conditions, memory lifecycle * Zig helps the programmer specify complex constraints at compilation time with a special keyword (on types, memory used, data structures, etc) Quoting from the article: > We can further improve performance by constraining some of the computation related to Java’s dynamic features (e.g., class loading, class redefinition, and reflection) [...] A condenser is a program transformer that runs in a phase between compile time and run time It feels like programming is more and more about feeding new kinds of information to the compiler. Maybe we can have a sufficiently smart compiler if we're having a conversation with it? It feels like we're going to have to turn into mathematicians, doing proofs of constraints on future behavior.