Contracts are in WASM which is a compiled binary language. The only currently tested and validated language for EOS smart contract development is C++, but in theory any language that compiles down to WASM can be used. There is an active community effort to support TypeScript as well.
Try to formulate a question, like:
"How to find eosio.hpp on the file-system?"
Now, the answer:
I recently used this here:
laz@laz-vb:~$ locate eosio.hpp
To be sure its the filed that eosiocpp uses, just open it with an editor, then type some random chars in it. Using eosiocpp now should result in some errors.