Some 5 years ago I migrated all my programs to Linux, using the software generator Modgen, written in C.
At that time I was creating a lot of programs in Visual Studio using VB, calling PL/Sql packages procedures for Oracle.
Nowadays I use Python (easier than Java; just use a set of import statements for the classes you want to use in your py-file and all classes are available for use), where the GUI aspect is replaced by WxPython (The WxPython demo provides a wealth on code examples, that can be tried out from a navigation tree) and the Database aspect by Mysql (I use Phpmyadmin as the administrative interface to all my databases).
For Web-applications I still use Php + Mysql.
To see examples of both a Windows app and the equivalent Linux app, check the JW-CPO-WIN and JW-CPO app on
http://members.home.nl/wijnenjl/index7o.html; for an example of a Php web app see JW-RES-LAMP-PHP.
I turns out that these applications also work on windows, although I try to avoid it as much as possible.
I also tried to check if a development framework like Eclipse, Netbeans, Jbuilder was feasible. I like their beauty, although the learning curve is rather steep. (Eclipse is good for Java development, Netbeans has some nice tutorials for Web Applications. Jbuilder has a feature, where changing code is changing your graphical diagrams).
The major reason for me to use Linux is, that all the languages (including the functional languages such a LISP, Prolog) can be learned for free, the drawback is that the intuitiveness of the development GUI is lagging a few years behind on Windows.
So. In summary: learn C (and also a bit of CPP), Python and WxPython (You probably won't need Java anymore).