If you decide to build plugins using a compiled language, just about any will do. Generally speaking, C is the usual choice for something like this, but it is by no means required.
The more common choice is to use a scripting language. In this case, there is really only one choice: Perl.
Nagios has the option of including an embedded Perl interpreter in the Nagios application (called ePN or embedded Perl for Nagios). This has the advantage of keeping all your plugins loaded into memory when Nagios is running. Instead of firing up a new Perl interpreter every single time your plugin needs to run, the plugin will simply run from memory. This is a huge performance benefit.