Visual Basic
Visual Basic ist eine Programmiersprache, die sehr einfach zu erlernen ist. Das liegt daran, dass die Befehle sich an der Sprache des Menschen orientieren. So wie der Mensch denkt, werden annähernd die Befehle eingegeben.
Der Vorteil liegt darin, dass die Sprache sehr einfach zu erlernen ist. Ein lauffähiges Programm - das berühmte "Hallo Welt"-Beispiel - wird in Visual Basic so formuliert:
Sub Main() Dim Text As String Dim AW As String Text = "Hallo Welt?" AW = MsgBox(Text, vbYesNoCancel + vbInformation, "Hinweis") If AW = vbYes Then AW = MsgBox("Sie haben auf 'Ja' geklickt.", vbOKOnly + vbInformation, "Hinweis") End If If AW = vbNo Then AW = MsgBox("Sie haben auf 'Nein' geklickt.", vbOKOnly + vbInformation, "Hinweis") End If If AW = vbCancel Then AW = MsgBox("Sie haben auf 'Abbrechen' geklickt.", vbOKOnly + vbInformation, "Hinweis") End If End sub
Der Code erzeugt zunächst die Variablen "Text" und "AW", in denen die Informationen abgelegt werden. Dann wird eine Messagebox erzeugt, die den Text und Schaltfläche mit einem Symbol anzeigt; die Überschrift dieser Messagebox lautet "Hinweis". Klickt man auf "Ja" oder "Nein" oder "Abbrechen" wird jeweils ein weiter Text ausgegeben, der angibt, was angeklickt wurde.
Visual Basic basiert auf Basic, welches in früheren Versionen von MS-DOS enthalten war und in den 60er Jahren entwickelt wurde. Dort gab es keine Schaltflächen oder andere grafische Elemente. Man musste alles per Tastatur eingeben. Erst mit Visual Basic kamen die ersten grafischen Elemente. Man konnte eine Windowsform durch Ziehen und Ablegen ganz einfach "zeichnen".
Je weiter die Entwicklung fortschritt, desto mehr konnte Visual Basic. So wurden mit Visual Basic 5 und 6 webbasierte Elemente eingefügt.
Den deutlichsten Unterschied bemerkt man seit Visual Basic .NET ab Version 2003. Seit dieser Version ist Visual Basic objektorientiert. Alles ist konsequent auf Objekte ausgerichtet, die Eigenschaften und Funktionen ihrer Klassen besitzen. Umsteiger, die von Visual Basic 5 oder 6 auf Visual Basic 2003 umgestiegen sind, sind vielfach nicht mit der Version zurechtgekommen. Man warf Microsoft vor, dass die Sprache nicht mehr Visual Basic sei; die Verwendung entspräche nicht mehr dem bekannten Visual Basic. Microsoft hat reagiert und die Sprache ab Visual Basic 2005 wieder näher an die bekannten und gewohnten Versionen herangebracht.
Das gleiche Programm sieht unter Visual Basic 2005 so aus:
Imports System.Windows.Forms Module Module1 Sub Main() Dim Text As String Dim AW As String Text = "Hallo Welt" AW = MessageBox.Show(Text, "Hinweis", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information) If AW = Windows.Forms.DialogResult.Yes Then AW = MessageBox.Show("Sie haben auf 'Ja' geklickt.", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Information) End If If AW = Windows.Forms.DialogResult.No Then AW = MessageBox.Show("Sie haben auf 'Nein' geklickt.", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Information) End If If AW = Windows.Forms.DialogResult.Cancel Then AW = MessageBox.Show("Sie haben auf 'Abbrechen' geklickt.", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub End Module
Das Beispiel wurde für eine Konsole geschrieben, dort existieren in der Regel keine grafischen Schaltflächen. Daher der Verweis auf "System.Windows.Forms" und die Verwendung von "Imports System.Windows.Forms". Ohne die Importanweisung hätte man den vollqualifizierten Ausdruck "System.Windows.Forms.MessageBox.Show(..)" verwenden müssen. Der Rest des Programms entspricht dem urspünglichen Programm, nur ein paar Anweisungen sind anders.
Visual Basic ab Version 2003 basiert auf dem .NET-Framework, welche eine Art Rahmenwerk ist. Dieses stellt Funktionalitäten zur Verfügung, innerhalb deren sich das Programm bewegen kann; ohne .NET Framework ist die geschriebene Anwendung nicht lauffähig. Dabei kommt es nicht darauf an, ob das Programm in Visual Basic oder C# geschrieben ist, es ist alles lauffähig.
Vieles ist mit Visual Basic einfacher geworden, da schon vieles durch das .NET-Framework geliefert wird. Vieles ist aber auch anders, insb. die konsequenste Ausrichtung auf objektorientiertes Programmieren. Das sieht man besonders deutlich im Beispiel an dem Verweis auf System.Windows.Forms.