3 ms·
> Complex is better than complicated (Zen of Python) Complexity, on itself, is not bad. Something complex CAN be understood with adequate application of study
by mamcx 4y ago
> Complex is better than complicated (Zen of Python)
Complexity, on itself, is not bad. Something complex CAN be understood with adequate application of study and practique, ie: A intelectual matter, that is in fact easier for humans.
"Complicated" instead is a mastery of moral fortitude: Patience, dedication, patience, hard work, resilience to many failed attempts, patience... and that is much harder for humans!
---
Exist "accidental complexity" that is unfortunate (most/some of C++ is like that!) and "intentional complexity" that is ok (the Rust borrow checker is that).
If the complexity is designed, then is easier to teach and must have a solid reason to be, so, is easier to accept (that is part of why Rust is loved: Yes, is hard, but we know why is hard and is clear why is an acceptable trade-off).
---
In the other hand, Rust/C/C++/Zig have a theme: Are part of a, lets say, "design school" that are prone to do amazing local optimization but not very well on the whole simplicity, "the C school of things"(?)
Pascal (and few others) are actual system languages with overall simplicity as goal, without a better name, of the "design school of Nicolas".
So, you CAN get simpler yet performant/system languages but the industry is dominated by a "design" camp that in part just copy each other and don't see when are introducing, yet again, another accidental complexity.
Luckily some of this forgotten "design school" is being rediscovered, because too much complexity have proven to be too much! so in the case of late entries (Rust, Zig, Go...) you actually see some push toward simplicity, so is not like nobody is pushing for it, is that not everybody (aka: Meaning the who design them) push for simplicity as a major goal.
To make a example, in Rust the use of structs/algebraic enums/traits IS a show of simplicity.
- Jtsummers 4y agoThe Pascal line, which includes Oberon (a systems language with garbage collection included), is usually termed "Wirthian".
- grumblingdev 4y agoI just wish the creator of Rust had said "I'm going to add a native compilation target and the minimal new syntax to support borrow checking to TypeScript and make interop extremely easy". Imagine that! We would have one syntax that can potentially be used for everything. A Rust-like syntax will never be used to write web apps. Then you have simplicity with opt-in designed complexity when needed. It's like the separation of beginner vs expert features in design.
- Jtsummers 4y ago> I just wish the creator of Rust had said "I'm going to add a native compilation target and the minimal new syntax to support borrow checking to TypeScript and make interop extremely easy". Typescript did not exist when the Rust effort began. Rust saw its first public release in 2010, Typescript in 2012. Rust's development effort began several years before that public release (not sure about Typescript). Until we can rewrite the timeline (in which case, Typescript vs Rust would be among the most useless things to effect) then there's not much point in wishing that Rust had taken Typescript as its base.