|
|
|
|
|
by ewjt
1380 days ago
|
|
Magic means “hidden complexity”, AKA “abstraction”. The negative connotation is that sometimes you can’t figure out why your software is behaving a certain way and what you need to do about it. The positive connotation is that you write less code with less cognitive overhead. Generally I prefer ASP.NET over things like Spring and Ruby on Rails because it has less magic, despite being clearly inspired by both of those. Here’s a concrete ASP.NET example:
You can put an [ApiController] attribute on your controllers and it can change the structure of error responses, among other things. [1] I don’t agree with some of the other parent points. For example, the comments on “multiple dependency injection container” —- ASP.NET is pretty prescriptive on DI patterns. That sounds like someone made a decision to add complexity, which is on them. [1] https://stackoverflow.com/a/66546105 |
|
So, are Rust macros, or C macros, C++ templating magic or it's just means "I don't want to know how this works therefore it's magic"?