Zusammenfassung
Ein häufig genannter Grund, die Sprache Ada nicht zur Programmierung zu verwenden, liegt in der vermuteten Ineffizienz des erzeugten Codes. Dies stimmt so allgemein jedoch höchstens für ältere Ada-Übersetzer. Die Laufzeiten sind für Ada bei vielen bekannten Benchmarks durchaus mit denen für C vergleichbar. In vielen C-Implementierungen gibt es überhaupt keinen Optimierer, in anderen wird er nicht benutzt, da Fehler befürchtet werden beziehungsweise sich das Programm nicht mehr vernünftig mit den vorhandenen Debuggern bearbeiten läßt ([De90]). In Ada ist durch die Sprachdefinition genau festgelegt, welche Programmeigenschaften von Optimierungsverfahren verändert werden dürfen und welche nicht. Die Sprachdefinition ist dabei sehr restriktiv, so daß bekannte Optimierungsverfahren, wie zum Beispiel die Codeverschiebung, nur sehr begrenzt zulässig sind. Daher kann es durch den Optimierer keine Überraschungen im Verhalten des Programms geben. Die Einhaltung der Sprachdefinition durch einen Ada-Übersetzer wird durch eine unabhängige, offizielle Einrichtung bescheinigt. Ada-Programme bieten dem Übersetzer auch mehr Informationen, die für die Optimierung verwendet werden können, als C-Programme. So können die durch die Sprache Ada erzwungenen Laufzeitüberprüfungen wie Indexgrenzenüberprüfung sicherlich besser optimiert werden als die von einem Programmierer von Hand in ein C-Programm eingefügten.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1992 Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden
About this chapter
Cite this chapter
Weinert, A. (1992). Qualität des erzeugten Codes. In: Programmieren mit Ada und C. Vieweg+Teubner Verlag. https://doi.org/10.1007/978-3-322-87797-0_7
Download citation
DOI: https://doi.org/10.1007/978-3-322-87797-0_7
Publisher Name: Vieweg+Teubner Verlag
Print ISBN: 978-3-528-05240-9
Online ISBN: 978-3-322-87797-0
eBook Packages: Springer Book Archive