3 ms·
> If they stop fighting after they learn, then no, it's not a problem with the language. It's the very definition of learning. I think the problem here is how
by rqs 8y ago
> If they stop fighting after they learn, then no, it's not a problem with the language. It's the very definition of learning.
I think the problem here is how hard people have to fight.
How about take a step back, and view the language as a completely noob, you may found many complexes in the language is unnecessary.
For example, in the sample code, you can found many #[macro_use]s, they are needed to import macros to the local scope. But hey, why I can't just `use slog::{!macro_name, something_not_macro}`?
Well, the doc said: "macro definitions aren’t namespaced within modules like function definitions are. To prevent unexpected name clashes when using external crates ....".
But why macro is not namespaced then? Why user has to learn "the macro is not namespaced" so they have to #[macro_use]? Why not just implement it in a more intuitive way?
Rust team need to consider this: How many complexities can be completely removed from the language, while maintain it's final goal (be a fast and safe system language).