3 ms·
You imply simple = better, complex = worse, but this isn't such a simple relationship. If you keep removing redundant constructs from languages, you will end u
by pornel 3y ago
You imply simple = better, complex = worse, but this isn't such a simple relationship.
If you keep removing redundant constructs from languages, you will end up with something pure and minimal like the lambda calculus or turing machine. But these aren't easy to program in!
Languages are an interface for humans. If the code density is too low or too high, it becomes difficult to for people reason about the programs. Concepts like readability and expressiveness are important, but end up requiring some level of complexity.
- tinco 3y agoExactly, it's a smooth trade off curve from lambda calculus all the way to Haskell with 30 language extensions enabled. You could learn lambda calculus in an afternoon, but then spend a month writing a single complex algorithm. You could spend 5 years learning Haskell, and then write the most powerful system in a couple minutes. There's a sweet spot somewhere between those two, and Rust is definitely near it.