Just to add to the discussion:

C#:

System.Diagnostics.Debug.WriteLine(-2^2);

-4

Java:

System.out.println(-2^2);

-4

VB .NET:

Debug.WriteLine(-2 ^ 2)

-4

PHP (5.0.3):

echo -2^2;

-4

Excel indeed returns "4" when -2^2 is entered as a function.