VB ist Microsofts Basic Programmiersprache.
Die gibt es schon seit DOS 2.1 (in Deutschland wurde die Version 1.* nicht verkauft).
Später wurde aus Basic VisualBasic.
Die ersten zaghaften Ansätze waren der Formulargenerator für Wordfür Windows 2.0 etc.
Später versuchte Mircosoft eine "universelle Scriptsprache zu entwickeln um in seiner Officeplatform eine einheitliche graphisch orientierte Programmierumgebung zur Verfügung zu stellen.
Basic mutierte zu VBA (Visual Basic for Applications). VB wurde zu der Zeit parallel weiterentwickelt.
Dieses Modell hatte ziemlich Erfolg und wurde ausgebaut zu VisualBasic, das sich mittlerweilen von einer wirklich einfachen Programmiersprache zu einem Hybrid entwickelt hatte.
Obwohl VB eigentlich nicht objektorientiert ist, sondern immer noch dem veralteten Programmiermodell der Prozeduralen Programmierung folgt, standen mittlerweilen ein komplettes Objektmodell aller Officeapplikationen sowie von Windows selbst zur Verfügung.
Eine einfach zu erlernende Mischung von völlig verschiedenen Programmiermodellen.
Als dann Bill Gates doch noch das fremde Wort Internet gelernt hatte, setzte er seine Lohnsklaven daran ein völlig neues Gerüst zu bauen.
Das .NET (sprich: dotnet) Framework.
Jetzt war VB vollständig objektorientiert und ist mit allen Vorgängerversionen nur noch mit dem Namen verbunden. Dahinter steckt eine ganz andere Philospohie, als hinter allen Vorgängerversionen.
Es gab VB.NET.
Java ist die von SUN Microsystems erfunden Programmiersprache. Man muß das Programm nur in JAVA schreiben und es läuft egal auf welchem Betriebssystem.
Das funktioniert, weil jedes Javaprogramm in einer sogenannten Virtuellen Maschine - der sandbox- läuft.
Dazu muß die für das jeweilige Betriebssystem Javamachine installiert werden (was bei jedem neueren Rechner i.d.R. schon passiert ist).
Der Vorteil liegt auf der Hand:
Egal welches Programm: es läuft in einer sicheren Umgebung, und dort kann das Programm alles tun, was es mag. Die JVM (JavaVirtuellMachine) wird nur Befehle ausführen, die ihr zugestanden werden.
Damit kann man bedenkenlos "fremde" Javaprogramme ausführen: Sie können dem System nicht schaden.
Diese Zwischenschicht dient also zweierlei:
Der vollständige Portabilität (läuft auf egal welcher Kiste, auf egal welchem Betriebssystem)
und der Sicherheit (die JVM kümmert sich darum, das das Programm "brav" bleibt. "Böse" Befehle "versanden" in der "sandbox", daher der Name.
Java ist zudem auch vollständig objektorientiert.
Mittlerweilen kann VB.NET ähnliches leisten, wie Java.
Das liegt aber an dem Framework selbst, das diese Features der Portabilität mit beeinhaltet.
Man kann ein VB.NET Programm ebenso unter egal welchem Unix laufen lassen. Dazu bedarf es nur Mono.
Das VB.NET Programm wird übersetzt in eine besondere Form von Code, der dann wiederum zur Laufzeit ausgeführt wird (auf Unixrechnern in der Regel Mono).
Somit ist VB.NET auf so "portable" wie Java.
Die Unterschiede reduzieren sich also auf
SUN Frei und Kostenlos.
Microsoft unfrei und kostenträchtig.
Tip: Man kann ganz kostenfrei VB.NET Programme schreiben auf Unix. Grins.
(ok. Kriegen wir auf Windows auch hin, aber schmerzhafter...)