For example, eventually under JS there's the JIT engine (like V8). Once I had to debug into the V8 internals to see why some code got the slow path. It's magical to the extent that it is rarely encountered.
Similarly, while Haskell on the surface is a smooth language, the compiler internals and the runtime of GHC is pretty complicated (rewrite rules, blackholing..). These are magical in the same way, that they rarely dealt with directly.
The common thing is, once you hit the "magic barrier", unless you have the willpower to dig deep, you are stuck and have to rely on others to fix your problem. Which is fine sometimes. Other times too costy.
Does that sound good?
The problem isn't that some JS devs are apathetic because JS, but that many apathetic devs use JS because apathy.
I think your point about the magic barrier is pretty much what I'm saying.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.