Heft 4•1990 | ||||
|
|
|
||
Bild 1 |
Uwe
Schulze, Berlin
Im Test: Programmiersprachen für MS-DOS Nachdem wir in MP 1 und 3/90 Testberichte zu Programmiersprachen, die unter dem Betriebssystem CPIM laufen, veröffentlichten, vergleichen wir in diesem Beitrag Programmiersprachen, die unter MS-DOS verfügbar sind. Für MS-DOS steht eine Vielzahl von Compilern und Interpretern zur Verfügung. Damit die zu messenden Laufzeiten der Compiler in einer leicht auswertbaren Größenordnung liegen, wurden für das Primzahlensieb des Erathostenes 100 Iterationen bis 8190 ausgeführt (statt 10 bei den CP/M-Compilern) und die Fibonacci-Funktion zehnmal bis 22 protokolliert. Es ist also gegenüber den CP/M-Compilern der Faktor 10 anzusetzen. Die Compilezeiten beziehen sich auf die Erzeugung eines EXE-Files (bei Turbo 3.0: COM-File) auf Festplatte. Manche Compiler bieten auch die Möglichkeit der Compilierung im Speicher (Turbo-Pascal) oder eines Syntax-Checks ohne Codeerzeugung (Quick-C). Vorteilhaft zum Schreiben portierbarer Quellen sind Optionen zum Erzwingen des jeweils genormten Sprachstandards (Turbo-C). In einer Zeit, in der Produktnamen ohne Präfixe wie Turbo oder Power nicht auszukommen scheinen, mag ein TopSpeed-Modula kein besonderes Aufsehen erregen. Doch der Name hält, was er verspricht. So kann sich die Einschätzung "nett, aber langsam" von Turbo-Pascal-Bauer Anders Hejlsberg über das Werk seines ehemaligen Team-Kollegen Niels Jensen wohl kaum auf das Laufzeitverhalten beziehen, sondern allenfalls auf die Compilezeit – und das auch nur im Vergleich mit Borland-Produkten (Tafel 1). Die erzeugten Programme verdienen zu Recht das Prädikat "handcodiert". Man darf auf TopSpeed-C und die angekündigten Möglichkeiten der Mixed-Language-Programmierung gespannt sein. Daß Microsoft-C schnellen Code erzeugt, ist gemeinhin bekannt; auch wird erstmals umfassender OS/2-Support geboten. Bemerkenswert ist aber, daß der kürzeste Code von einem Pascal-Compiler kommt: Auch bei den Übersetzungszeiten und im Entwicklungskomfort liegt Turbo-Pascal vorn. Interessant auch zu entdecken, daß es für Verbesserungen Grenzen gibt: In der Tat benötigt Turbo-Pascal 5.0 für die Fibonacci-Funktion
– bei unbestrittenen Vorteilen in den anderen Leistungsparametern – mehr Zeit als die Vorgängerversion. Quick-C wird ab Version 2.0 nicht mehr als Zugabe zum „großen“ Microsoft-C-Compiler, sondern als selbständiges Produkt vertrieben. Gegenüber der Vorgängerversion wurden die erzeugten Programme wieder etwas schneller, allerdings auf Kosten von Übersetzungszeit und Codegröße. Geliefert wird neben einer separaten Kommandozeilenversion des Compilers jetzt auch ein Quick-Assembler – der erste Assembler in integrierter Entwicklungsumgebung. Eine exponierte Stellung unter den C-Compilern nimmt Zortech C++ ein. Dieser Compiler verarbeitet neben Standard-C- und Assembler(!)-Quellen den objektorientierten Sprachstandard nach Stroustrup /4/. Und das nicht als Präcompiler – erzeugt werden direkt ausführbare EXE-Files. Der noch etwas schnellere Zorland-Compiler stammt übrigens vom selben Autor – Walter Bright. Tafel 1 Testergebnisseauf einem EC 1834 (4,7 MHz) nach Laufzeit des Primzahlensiebes geordnet *) keine EXE-Dateien, sondern LOD-Files, die mit "M2 Dateiname" abgearbeitet werden Einige Compiler legen ihre Datenbereiche statisch im EXE-File an. Augenfällig wird das durch die Differenz von etwa 8000 Byte zwischen SIEVE.EXE und FIBO.EXE bei Atztec-C und IBM-Pascal. Die Untersuchung zeigt, daß sich bei der Verkleinerung des Feldes für die Primzahlenberechnung die Filegröße äquivalent ändert. Als State of the Art gelten heute Compiler mit integrierter Entwicklungsumgebung (vor allem Editor), kontextsensitivem Hilfssystem und Sourcecode-Debugger. Wegbereiter sind die Turbo-Compiler von Borland und die Quick-Compiler von Microsoft. Das bisher fehlende Quick-Pascal (mit objektorientierten Features wie Turbo-Pascal 5.5) ist seit kurzem verfügbar. Literatur |
|||
|
|
|||
nach oben | ||||