Im Vergleich: Visual C++ 4.0 und C++ 5.0

Borland überholt Microsoft durch aktuelle Java-Features

07.06.1996

Beide C++-Compiler unterstützen in der jeweils aktuellen Version Windows 95 und NT 3.51. Auch herkömmliche 16-Bit-Anwendungen mit dem modischen Look and feel von Windows 95 lassen sich damit erzeugen. Sie sind komponentenorientiert und individuell erweiterbar. Ein Markt für solche Add-on-Komponenten ist bereits entstanden. Zudem hat sich Borland der Herausforderung durch die Internetsprache Java gestellt.

Visual C++ 4.0 von Microsoft

Ein Ziel bei der Entwicklung von Visual C++ 4.0 war es, die Wiederverwendung von Programmcode zu fördern. Der Compiler wurde deshalb mit einer Komponentengalerie ausgestattet, die stark an eine ähnliche Bibliothek von Borlands Entwickungsumgebung "Delphi" erinnert. Aus ihr kann der Programmierer Komponenten, Klassen, ILE Custom Controls (OCX) etc. auswählen und in sein Projekt integrieren. Solche Bauteile werden von über 70 weiteren Firmen geliefert, darunter über 50, die OLE-Komponenten anbieten.

Entwickler können auf den Plattformen Windows 95 und NT 3.51 Anwendungen für das Win-32-API, für echtes 32-Bit-Windows sowie für Macs und Power-Macs entwickeln. 16-Bit-Windows-Applikationen sind ebenfalls zu realisieren, da "Visual C, 1.52" mitgeliefert wird. Der an Benutzerbedürfnisse anpaßbare Assistent "Appwizard" führt durch die nötigen Arbeitsschritte und ist in eine integrierte Entwicklungsumgebung namens "Developer Studio" eingebunden. Im Gegensatz zu Visual Basic 4.0 unterstützt C++ das Multithreading von Windows 95 und NT vollständig. Dafür stellt die ausgebaute Version 4.0 der MFC-Bibliotheken entsprechende Klassen bereit.

Datenbankfunktionen lassen sich nun mit Hilfe optimierter ODBC-Treiber (ODBC = Object Database Connectivity) und mit sogenannten Data Access Objects (DAO) besser als bisher realisieren. Diese Objekte sind neue MFC-Klassen, die den Datenbankzugriff über die Version 3.0 der Jet-Datenbank-Engine ermöglichen, die auch von Visual Basic 4.0 und Access 7.0 verwendet wird. Die Datenformate sind somit austauschbar. Außerdem können Entwickler so Zugriffe auf den SQL Server realisieren, ohne SQL-Code schreiben zu müssen.

C++ 5.0 von Borland

Schon beim ersten Startbild des Appwizard kann der Entwickler zwischen acht Zielsprachen wählen. Grafisch orientierte Optimierungs-, Analyse- und Debug-Tools sowie der optimierende Linker sollen die Anwendungsentwicklung beschleunigen. Dabei kann der Entwickler gleichzeitig für mehrere Endprodukte wie DLL-, EXE- und OCX-Dateien arbeiten (Multiprojektarbeit). Optionale Versionskontrollsysteme mit Tools wie dem hauseigenen "Sourcesafe" oder "PVCS" von Intersolv sollen Teamwork bei unternehmensweiten Projekten ermöglichen.

Der Visual-C-Compiler unterstützt die neuesten C++-Spracheigenschaften, wie sie in den Arbeitsblättern des normierenden ANSI-Komitees für C++ vorgesehen sind. Das betrifft insbesondere die Namespaces und Runtime-Type-Information (RTTI). Erhältlich ist das Produkt für Intel-Plattformen entweder als Upgrade oder als Subskriptions-Upgrade mit einem Gutschein für drei weitere Updates - die etwas teurere Variante. Eine Vollversion bietet Microsoft nicht an.

Borlands neues C++ läuft ebenfalls auf den 32-Bit-Betriebssystemen Windows 95 und Windows NT 3.51. Die Zielplattformen, für die entwickelt werden kann, sind DOS, Windows 3.1x (16 und 32 Bit) sowie natürlich Windows 95 und NT 3.51. Anders als Visual C++ 4.0 unterstützt der Compiler neben den neuen OCX und den C++-Objekten auch die unter Windows bislang üblichen 16-Bit-VBX (Visual Basic Custom Controls). Dafür sind eigens Objekte in der mitgelieferten Komponentengalerie vorgesehen.

Den VBX-Entwicklern hilft Borland darüber hinaus durch die Möglichkeit, den 16-Bit-Code als 32-Bit-Anwendung neu zu kompilieren - falls die Anwendung mit Hilfe der "Object Windows Library" (OWL), der Borland-Entsprechung von Microsofts "Foundation Classes" erstellt wurde. Sind jedoch, wie häufig, Windows-3.1-Funktionen gesondert eingebunden worden, müssen diese von Hand umprogrammiert werden. Für die 16-Bit-Programmierung selbst wird die Version 4.5 des C++-Compilers mitgeliefert. Es lassen sich aber auch bei der aktuellen Version 16- und 32-Bit-Applikationen als Targets auswählen und erstellen.

Wie Borland mitteilt, unterstützt die neue Version 5.0 von OWL alle Windows-95-Steuerelemente, Dialoge, die Winsock-DLL für den Internet-Zugang etc. Interessant ist, daß sich auch 16-Bit-Windows-Applikationen mit Windows-95-Kontrollen ausstatten lassen. Ausnahmen sind Fenster-Header und Dateibäume. Borland wollte zunächst eine kostenlose, Compiler-unabhängige Version von Microsofts Foundation Classes 4.0 anbieten, doch Microsoft stellte unannehmbare Bedingungen für die Lizenzierung, so daß der Borland-Compiler nun lediglich einen Patch anbietet, durch den der Compiler die nicht mit ANSI-C konformen Stellen der Foundation Class durch ANSI-C-konformen Code ersetzt.

Ähnlich wie bei der erfolgreichen Delphi-Entwickungsumgebung kann der Entwickler sogenannte Visual-Database-Tools nutzen, um grafisch orientiert seine Datenbankanwendung per Drag and drop zu erstellen. Eine 32-Bit- und eine 16-Bit-Version der Borland Database Engine sowie ein lokaler Interbase-Server für NT inklusive zwei User-Lizenzen in der Client-Server-Version gehören zum Lieferumfang.

Eine wichtige Neuerung stellt die Scriptsprache Object Scripting dar. Sie unterstützt OLE 2.0 und OLE Automation, so daß sich damit auch Fremdprogramme wie die Textverarbeitungen steuern lassen, etwa um eine Dokumentation zu erstellen oder ein Teamprojekt zu aktualisieren. Aber auch Tools von Drittanbietern können damit nahtlos integriert werden. Das trifft auf das optional erhältliche Codeprüfungs-Werkzeug "Codeguard 32/16" zu, dessen Borland-Compiler-Version im Mai freigeben wurde. Das Object Component Framework OCF 2.0 läßt die Erzeugung von OLE-DLLs zu, die etwa fünfmal schneller ausgeführt werden sollen als EXE-Anwendungen.

Unterstützung von Java-Programmierung

Die Sprachmerkmale in C++ 5.0 entsprechen wie das Microsoft-Produkt den neuesten ANSI/ISO-Vorgaben. Außerdem enthält die Borland-Software neben "Codeguard 32/16" das Versionskontrollwerkzeug "PVCS Manager" von Intersolv und "Install Shield Express" für die Erzeugung von (De-) Installationsroutinen.

Eine der wichtigsten Zugaben ist die komplette Java-Programmierumgebung. Diese umfaßt das "Java Development Kit" (JDK), einen in Java entwickelten GUI-Debugger sowie den App-Accelerator für Windows 95 und NT. Dieser Compiler soll den auf einen Interpreter angewiesenen Java-Code um bis zu zehnmal schneller machen. Das Ergebnis ist ein Java-Applet, das eine EXE-Datei oder eine Runtime-DLL sein kann. Der App-Accelerator ist ein sogenannter Just-in-time-Compiler, der das Java-Applet während des Downloads auf den Browser-Client kompiliert und nicht danach oder davor. Im JDK bietet ein Experte Hilfestellung beim Aufbau eines Applets. Im Test der Vorabversion war die Installation noch recht umständlich, der Umgang damit jedoch befriedigend.

Das Borland-Produkt ist der einzige deutschsprachige C++-Compiler und daher besonders bei ostdeutschen Entwicklern beliebt, die über gute Russisch-, aber geringe Englischkenntnisse verfügen.

Anders als Microsofts C++-Bolide deckt der Borland-Compiler auch den kompletten Entwicklungszyklus ab, von CASE und Klassendeklaration über Kompilierung, Debugging und Testing bis hin zur Versionskontrolle, Softwarekonfiguration und Installation. Dabei sind die Preise durchaus vergleichbar.