Visual Basic gehört mit zu den beliebtesten Programmiersprachen überhaupt. Der Vorteil liegt klar bei der Windows-Programmierung. Während mit C++ etliche Zeilen Quelltext zur Darstellung eines Fensters geschrieben werden müssen, genügen ein paar Mausklicks unter Visual Basic. Dennoch will der Autor keine der beiden Sprachen herabstufen. Stattdessen versucht er, die Vorteile und Schwächen beider Sprachen hervorzuheben und strebt die ergänzende Verwendung dieser Programmiersprachen an. Das Buch ist in Englisch verfasst, doch jeder, der des Englischen einigermaßen mächtig ist, dürfte den Großteil des Buches verstehen, ohne lange im Wörterbuch zu blättern. Unterteilt ist das Buch in 13 Kapitel zuzüglich der drei Anhänge.
Das erste Kapitel beschäftigt sich mit der Frage, warum man C++ und Visual Basic in einem Projekt vereinen soll sowie mit der Entstehung und der Aufgabe von Visual Basic. Kapitel zwei gibt eine Kurzeinführung in die Visual-Studio-Entwicklungsumgebung, wobei eine einfache Hello-World-Applikation in Form einer Konsolenanwendung entsteht, ohne groß auf den Quelltext einzugehen. Der Autor zeigt die diversen Runtime-Dateien von Visual Basic sowie von C++, welche zur Ausführung eines entsprechenden Programms nötig sind. Im dritten Teil des Buches widmet sich der Autor den Themen des Kompilierens, des Linkens, des C-Pre-Prozessors und des Speichers. Trotz detaillierter Erklärungen wird immer wieder Bezug auf Visual Basic genommen und verglichen.
Dann geht es im vierten Kapitel an die C-Syntax. Aufgrund der Vorkenntnisse in VB sind die Erklärungen relativ knapp gehalten. Stattdessen müssen VB-Quelltexte als Vergleiche herhalten, um den Sachverhalt zu verdeutlichen, was dem Autor aber sehr gut gelingt. Gezeigt wird das Deklarieren von einfachen Variablen, über Arrays, Enumerationen bis hin zur Deklaration und Benutzung von Strukturen. Anschließend geht es an die Struktur eines Programms, um alle Elemente zusammenzufügen. Dazu gehören Operatoren sowie Bedingungen und Schleifen. Pointer sind laut Jonathan Morrison eines der schwierigsten Elemente in C, weshalb ihnen ein eigenes Kapitel gewidmet ist. Der Einstieg geschieht über eine einfache Definition, gefolgt von unkomplizierten Beispielen und Beschreibungen der diversen Funktionen. Kapitel sechs und sieben fahren mit Klassen und Templates fort. Falls der Leser sich noch nicht mit Visual Basic .NET beschäftigt hat, ist die Vererbung von Klassen ein neues und interessantes Thema. Nachdem die Grundsteine gelegt sind, entsteht in Kapitel acht ein kleines Programm. Ziel dieses Projekts ist es, eine Anwendung zum Splitten von Dateien zu schreiben. Somit können größere Daten beispielsweise auf mehreren Disketten untergebracht werden. Dazu gehört natürlich auch das Zusammenfügen der Einzelteile. Mit diesem Beispiel ist der Weg in den Praxisteil des Buches geebnet. Über den Vergleich zwischen „richtigen“ DLLs und ActiveX-DLLs geht es an den Aufbau und an die Umsetzung einer DLL in C++. Inbegriffen ist das Debugging. Getestet wird diese Bibliothek am Ende des Kapitels über eine Visual-Basic-Anwendung. Die gesammelten Kenntnisse über eine DLL werden dann in das Projekt TrayMan (Kapitel 10) umgesetzt. Jene DLL dient zum Platzieren und Verwalten eines Icon im System-Tray. Anschließend geht es ebenfalls um die Programmierung von COM-Objekten mit C++, welche wieder von einer Visual-Basic-Anwendung verwendet werden. Analog zu den vorherigen zwei Kapiteln wird zunächst an einem kleinen Beispiel das Component Object Model dargestellt und anschließend in einem Projekt umgesetzt. Der Praxisteil der „COM-Geschichte“ ist eine erneute Umsetzung des Projekts TrayMan. Das letzte Kapitel beschäftigt sich schließlich mit dem Multithreading oder beschreibt, wie Daten zwischen mehreren Anwendungen über eine DLL geteilt werden können. Im Großen und Ganzen eignet sich dieses Buch für jeden Visual-Basic-Programmierer, der über die Grenzen von Visual Basic hinaus will. Positiv ist, dass der Autor niemals den Bezug zu Visual Basic verliert und sich nicht vollkommen auf C++ konzentriert. Das Buch eignet sich sowohl für VB-Neulinge, da wichtige Begriffe stets erklärt werden, als auch für alte Hasen der Visual-Basic-Szene, die ihren Horizont erweitern wollen. Durch die Umsetzung von DLL- und COM-Projekten ist der Lernprozess sehr praxisnah gehalten. Für all diejenigen, welche die Schwächen von VB mit einem "kleinen Hauch" von C++ ausmerzen wollen, ist dieses Buch ein Volltreffer. Lediglich die Quellcodes fehlen neben der Visual C++ 6.0 Introductory Edition auf der Buch-CD.








