GNU Octave uses the Matlab language, though not all the libraries that are available for Matlab are avaialble for GNU Octave. This does not prevent you from coding these functions up yourself. The GNU Octave team has a reporting method that allows you to report if a function does not work the same as it does in Matlab.
GNU Octave is also uses the interpreted method. Both Python and C# are interpreted, but I am not sure about R. I know of it, but I have not used it.