Implicit Parameters like Scalas

Have you ever considered implicit parameters like Scala has? I saw a tweet today that summed up my feelings exactly: “Implicits are more explicit than annotations and reflection.

At first I really thought they were dangerous (because of hidden dependencies), but as I’ve worked with them more and more, they don’t seem to be. And I agree with the tweet, they feel better to me than the Spring way of DI.

Anyway, I was just curious if they had ever been discussed before, and what the feelings were about them.

Edit: I should mention I’m only talking about parameters here, not implicit conversions.

Explicit parameters don’t seem dangerous but hard to understand.

The reader must well know all method signatures to recognize involved parameters.

The software reading is harder than writing.