4 ms·
With such expressivity, there is a risk in a big project of individuals conjuring wildly different mechanisms to express similar if not identical ideas, losing
by rust_is_dead 4y ago
With such expressivity, there is a risk in a big project of individuals conjuring wildly different mechanisms to express similar if not identical ideas, losing out on understandability and consistency. The solution is often a strong style guide that everyone must read and follow. If Rust ever makes it to the kernel, I hope such a guide is written...
- nwah1 4y agoI would think that the extremely complicated algorithms that are often used are just intrinsically difficult, and things like metaprogramming allow a lot of expressivity in C already. Having to think through race conditions is likely more of an issue than having to think through 3 obvious but distinct ways of doing the same thing syntactically. Even though I would prefer there be only one obvious way to do things.
- varajelle 4y agoBut you have the same problems in C, even worse. Because you need to emulate in C the features that more advanced languages have buitin, such as virtual tables, tagged union, lists, hash map, and whatnot. This is just a lot of conventions that are specific to each project that need to be learned and put in some style guide or development guide. In big projects, different developers will use different conventions in different part of the code, that's unavoidable.