I use programming as a sparetime occupation.
I have done a lot of scripting in PHP and therefore have some skills in that.
I tend to develop php scripts via VIM, it is because, i am developing on a test server, and there is no GUI on that machine, hence the use of VIM.
I mainly develop server programs in Java, hence my skills in developing GUI's is lacking.
For Java i use Netbeans IDE as programming and compiling enviroment.
I have been at it for some years now, since 2000 and i get to be selflearning, which have it's challenges. The hardest part is still the understanding of error messages, but it begins to make sense.