Sie lasen es in den ersten Berichten von der CeBIT mit »Turbo-C« stellte Heimsoeth, der deutsche Partner des für seine »Turbo-Sprachen« berühmten Softwarehauses Borland, sein erstes Produkt für den Atari ST vor. Wir haben einen Blick auf eine Vorversion des Entwicklungspakets geworfen.
Turbo-C ist das erste C-Entwicklungspaket, das die Bezeichnung »integriert« verdient: Editor, Compiler und Linker sind in einem Programm vereinigt. Das spart nicht nur Lade-Zeiten, sondern macht es auch überflüssig, den Quelltext vor jedem Übersetzungsversuch zu speichern. Kopiert man Include-Dateien und Bibliotheken auf eine RAMdisk oder Hard-Disk, kommt man auf Turn-Around-Zeiten im Sekundenbereich.
Mit Hilfe von »PROJECT«-Dateien (ähnlich dem Unix-Utility »Make«) übersetzt, linkt und startet man Programme mit einem Mausklick.
Der komfortablen GEM-Entwicklungsumgebung sieht man es an, daß parallel an einer Macintosh-Fassung des Compilers gearbeitet wird: Der Editor benimmt sich in jeder Beziehung so, wie man es von Macintosh-Editoren kennt. Beispiele sind unter anderem automatisches Scrolling, wenn ein längerer Textblock markiert werden soll und Tastatur-Shortcuts für die wichtigsten Funktionen.
Strikt nach dem Kernighan-Ritchie-Standard arbeitende Compiler verfolgen konsequent das Prinzip des »Information Hiding« (Verbergen von Informationen) — dies allerdings in einem völlig anderen Sinn, als es die Informatik fordert: Der Compiler erhält sowenige Informationen auf den Weg, daß er nicht einmal offensichtliche Programmierfehler entdeckt. Dazu gehört zum Beispiel die Übergabe von zu wenigen, zu vielen oder unpassenden Parametern an Funktionen. Die ANSI-Kommission zur Erweiterung des Sprachstandards hat daher die Pascal-ähnlichen sogenannten »Function Prototypes« vorgeschlagen, die es dem Compiler erlauben, solche Fehler zu finden. Auch bei der Deklaration externer Funktionen aus Bibliotheken kommen sie zur Anwendung. Turbo-C unterstützt diese und eine Reihe anderer Spracherweiterungen. Aber auch sonst denkt der Compiler mit: Beispielsweise beschwert er sich über unbenutzte Variablen oder gar über Variablen, die man benutzt, ohne ihnen zuvor einen Wert zugewiesen zu haben. Laut Heimsoeth liefert der bekannte C-Benchmark »Dhrystone« auf dem Atari ST ein Ergebnis von 1470 »Dhrystones« und damit wäre der ST etwa so schnell wie ein mit 10 MHz getakteter AT. Ein Blick in das Kompilat lieferte schnell die Erklärung: Die Auswertung von Ausdrücken erfolgt genauso intelligent, wie beim bisherigen C-Champion von Digital Research. Eine Premiere hingegen ist, daß die Parameterübergabe nicht über den Stack, sondern über Register erfolgt. Codegröße — das Beispielprogramm wurde gerade eben 3000 Bytes lang — und Geschwindigkeit profitieren davon.
Hoher Macintosh-Komfort im Editor von Turbo-C
Unser Testprogramm übersetzte der Compiler nicht nur schnell....
Der eingebaute Linker verarbeitet Objektdateien im Digital-Research-Format und erlaubt es auch, Symbole in die Programmdatei zu übernehmen. Damit kann man zunächst mit Debuggern wie »SID« weiterarbeiten — Heimsoeth plant einen eigenen Debugger.
Heimsoeth wird mit diesem Compiler die C-Szene gehörig in Aufruhr versetzen. Man darf gespannt sein, was etablierte Firmen wie Megamax und Mark Williams dagegen setzen.
(Julian Reschke)
Durch viele Funktionen allen Wünschen gerecht: Die Compiler Optionen lassen keine Wünsche offen
...sondern lieferte auch kompakten und sehr schnellen Code durch geschickte Registernutzung