I think that the other languages wouldn't be that different to program CGI with. The variables would be passed through the equilivent of ARGV and you just parse it and go.
If you look at some webpages you'll see *.dll's handling CGI. But, can you imagine making a change to a Visual Basic program, recompiling it, uploading it, and then trying it just to find that you missed a period and you have to do it all over again?
The only gripe some people put up is that Executables use less CPU time and memory because Perl has to call the interpreter everytime, this problem is fixed with mod_perl in Apache.