In my experience, the more programming knowledge you have, the more effective your automated testing effort will be. I don't think the language itself matters.
It does not follow though, that good programmers make good testers. It varies. I've seen excellent programmers who simply don't "get it" when it comes to testing. They'll write a script that tests each cell in a 100x100 cell grid because they know how to nest loops, not because it makes sense as a test to check every cell.