Well on the client side you can run any language. Ansible uses the shebang on the task module to execute the script. I have even written a custom module that runs powershell on a linux client. You could run bash. As long as you output json object ansible will just execute and return it back.
Good luck on porting all the module python code with shell
code...
The idea is using a script and not a compiled program is to have not to install something on the client side... If you want a binary on the client side, you're just doing another sort of puppet like language with a necessary client !
The main target of ansible is linux and python is a
prerequirements to follow the LSB standard, so it is always
installed on any linux !
Regards,
JYL