Yes, linux has everything you need to do all sorts of programming, all the ones you named.
Introduction to java:
If you need help installing the necessary components for java programming, just reply with the linux distribution you are using.
According to this webpage:
Java is the hottest language right now. It is object oriented, which is a good programming paradigm to know. The next is C
It is a language which gives you a great deal of "under the hood" control of the computer's memory management.
I would start with java or python as introductory languages. Both are object oriented. Python is supposedly very easy to pick up and write programs without much difficulty. It is also easy to read other people's code and maintain it, as one idea in python is that everyone should accomplish a given task in the same, obvious way, so everyone's code should look familiar to a python programmer.
If you need help with using text editors to write the programs, like gedit or nano or vim or emacs, just reply and let us know what you need.