Write a polyglot that prints the language's name
Bash, C, C++, Obj-C, Obj-C++, Perl, PHP, Ruby, 183 chars

score ~ 0.1236

For the C and C-like codes I owe a debt to @baby-rabbit. The others are inspired by the recognition that many languages have an eval statement that will grudgingly accept invalid syntax. 

Outputs the language name to standard output. Sometimes generates a lot of error messages on standard error, so suppress them with 2&gt;/dev/null as you run them.

#if 0
'PHP&lt;?/*';eval "print\$=?'Perl':'Ruby';echo Bash";exit
__END__
#endif
#include &lt;stdio.h&gt;
main(){puts(
#ifdef __OBJC__
"obj-"
#endif
"C"
#ifdef __cplusplus
"++"
#endif
);}//*/?&gt;'


The php solution outputs 'PHP' (including the single quotes), which may be bending the rules a little bit.

Last edit: shaved 12 chars from insight that $= is false in Ruby, 60 in Perl, and print$=?... is almost surely an error in Bash. Shaved 7 more from insight the Perl/Ruby/Bash test can now go into a single eval statement.

If the rules can tolerate more bending, I present this 8 language, 43 character solution (score 0.5262)

print("phperluarscriptrubypythoncatebg13");


for which the output includes the name of the interpreter for php, perl, lua, rscript, ruby, python, cat, and rot13.