Die Programmierung von ASP-Seiten erfolgt in der Skript-Sprache "VBScript", welche eng mit VB verwandt ist. Dennoch gibt es einige wichtige Unterschiede, die man sich vor Augen halten sollte:
- Typisierte Variablen:
In VBScript sind alle Variablen vom Typ Variant. Dadurch können sich u.U. große Probleme bei der Fehlersuche ergeben. - Klassen/Module:
VBScript bietet keine dieser Möglichkeiten der strukturierten Programmierung. - For-Next-Schleife:
Die For-Next-Schleife muss bei VBScript immer mit einem einfachen Next enden (also ohne abschließende Laufvariable!). - Kompilierung:
VBScript wird nicht kompiliert. Also ist VB i.A. sehr viel schneller als VBScript. - Entwicklungsumgebung:
VB besitzt eine komfortable Entwicklungsumgebung, VBScript nicht.
Wie man sieht, hat VBScript aus Sicht des Software-Entwicklers einige Nachteile gegenüber VB. Microsoft bietet mit der ActiveX-Technik eine Möglichkeit an, kompilierte Komponenten mit VB zu erstellen, welche in ASP-Seiten eingebunden werden können. Dies hat u.a. folgende Vorteile:
- Kapselung:
Kompilierte Komponenten sind ohne die entsprechenden Quelltexte nicht (oder nur mit einem immens hohen Aufwand) zu analysieren. - Wiederverwendbarkeit:
Eine VB-Komponente muss nur einmal auf dem WebServer registriert werden und kann dann von allen ASP-Anwendungen genutzt werden. - Performance:
VB-Komponenten sind kompiliert und müssen daher nicht bei jedem Aufruf vom Web-Server neu analysiert werden. - Systemnähe:
VB erlaubt systemnahe Programmierung, so z.B. API-Aufrufe. - Typprüfung:
Durch Vermeidung des Variant-Datentyps können sicherere und auch performantere Programme erstellt werden. - Trennung von Logik und Design:
Typische ASP-Seiten enthalten sowohl HTML-Elemente (also das WebDesign), als auch ASP-Anweisungen (also die Programm-Logik). Jedoch ist nicht jeder Programmierer ein guter Designer (und umgekehrt). Durch Verwendung entsprechender Techniken (z.B. HTML-Templates) läßt sich dies jedoch mit VB sicher und schnell erreichen.
Aus diesen Gründen empfehle ich auch den Besuch meiner
Visual Basic-Seiten.