Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> “Magic” in any language is always bad.

only because we reserve the use of the word "magic" for the times we find it bad/unsuccesful.

When it's good/successful, we call it "powerful, mature, and robust high-level abstractions and APIs".

That "magic" is always bad is just a syllogism because a value judgement on the success of the abstractions or APIs is built into the term as used. Abstractions that are confusing, or unexpected, or inconsistent internally or with the platform they live on, or especially leaky or buggy, or in practice hard for beginner developer-users to develop proper mental models to guide use around and to understand how to debug the use of -- get called "magic". But nobody set out to provide such abstractions, they set out to provide nice, polished, predictable, simple to understand, consistent, powerful tools at the right level of abstraction for the domain -- when someone thinks they've failed, with abstractions at a fairly high level or higher than the speaker thinks is appropriate for the domain -- they call it 'magic'.



I don't think that's what is meant by "magic" in terms of code, at least it's never been my own understanding.

"Magic" is not something the developer doesn't understand, it's something the developer cannot possibly understand, because you didn't document it properly (or at all).


I think that's an extention of what I'm talking about. Either way, so was it intentional? Does anyone sit down and say "I'm going to create something poorly documented that no developer can possibly understand, so that they'll call it magic, this is my goal today"?

Nope. "magic" is poor execution of something, one way or another. It's a category of something done unsuccesfully, not some kind of difference in kind of thing.

This matters for how we talk about 'magic', like, you shouldn't have put all that magic in there, did you think we want magic? No, nobody wants something poorly documented and nobody thinks they do. Nobody sets out to make something unsuccessful, "magic" is a failure.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: