I want to Work on Asterisk Development

i know little about Configuring Asterisk PBX.
now i want to start Development as a professional.
please tell me what Language should i learn before starting it.

PHP, Perl ,Ruby or Phython ??

You can tell by looking at the source code. It is none of the above.

Or did you really mean AGI/AMI script development, in which case almost any language will work, although, if you want to use ready prepared class libraries, PHP possibly has the best support.