There are three kinds of language implementations:
- Compiled into executable files
- Compiled into intermediate (byte) code
- Interpreted
In general the total amount of memory increases with the numbering of the above list. The second and third options require also a virtual machine respectively an interpreter loaded into memory that executes the code. While executable applications have some overhead by startup code this is generally much smaller than the VM and interpreters.
Python is a very special case. Depending on the used Python implementation it can be all of the above.
Low level languages like C/C++ have also no automatic range checks which results in smaller code size.
The used data size depends on the performed tasks and should not differ much for similar tasks implemented by different languages. So the used memory upon execution will not differ much when handling large amounts of data.