VB on Linux - Java on anything
I've been using java now for 2 years. I have completed a couple of smallish projects with VB, but previous development was mainly C/C++.
If its breadth of functionality you want, IMHO, Java's a great alternative.
From PDA programming, to Enterprise its all there.
Corba (and RMI) give you the equivelant to COM/DCOM, and are open standards.
Networking is a breeze.
There are several excellent IDE's (I've been using JBuilder for the last few months) that have all the functionality of the VB one - many of them are low cost or free to use, under differing conditions.
There are a couple of V1.3 JVMs available for Linux now, and many OS's have VMs for them (www.blackdown.org)
Component oriented development using beans
Enterprise development useing EJBs (ok, so a little more difficult to get your head round, but once written the work on any J2EE compliant app server (see www.javasoft.com/j2ee and www.jboss.org for another GPL'd product)
Database access is pretty standard stuff with JDBC. Most leading DBMS's have drivers (including MySQL & PostgreSQL)
Web programming is impressive with java servlet and JSP technologies (see javasofts site, java.apache.org for links to the JServer servlet engine and GNUJSP engine and jakarta.apache.org)
Forms based programming is available in most modern IDE's, and Java is no exception.
Easy multi-threading, comms support the list is endless.
This diversity of support also leads to a great potential for code re-use, and I don't even have to recompile to put it an another platform.
IMHO its important to experiment and, at the end of the day, people will use what they need/want - and quite rightly so. However, there is a wealth of different technologies to choose from, at different price tags and compatabilities. Java meets most of mine.