Zusammenfassung
Abstraktion ist ein wesentlicher Faktor guten Software Engineerings. Eine der einfachsten Abstraktionsformen ist das Programmieren mit abstrakten Datentypen. Dadurch ergeben sich kürzere Entwicklungszeiten, größerere Sicherheit und besserer Wartbarkeit sowie eine bessere Eignung für Prototypenentwicklung. All diesen Vorteilen stehen zwei Nachteile gegenüber:
-
● Der Programmier- bzw. Designaufwand ist anfänglich höher. Dies kann allerdings zuweilen auch ein Vorteil sein.
-
● Da die Datenabstraktion Zugriffe über Punktionen erzwingt, muß zuweilen mit Effizienzverlusten gerechnet werden. Zusätzlich ist nicht jede Programmiersprache mächtig genug, um abstrakte Datentypen realistisch einsetzbar zu machen. Ein Übergang von solchen Sprachen (wie etwa Fortran77) zu besser strukturierten (wie etwa C++ oder ADA) kann weitere Effizienzverluste mit sich bringen.
Dieser Beitrag soll ausleuchten, inwiefern im Bereich technisch wissenschaftlichen Rechnens die genannten Vorteile einen potentiellen Effizienzverlust vertretbar erscheinen lassen. Die Ergebnisse haben ihren Ursprung in praktischen Erfahrungen mit Datenabstraktionen. Bei Siemens ZFE (Zentrale Forschung und Entwicklung) wurden Algorithmen aus dem Bereich der Schaltkreissimulation unter Nutzung abstrakter Datentypen in C++ implementiert und mit den existierenden Fortran77-Programmen verglichen.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Literaturverzeichnis
C. Berger. Design and Implementation of Sparse Block Matrices in C++. Technical report, Technical University of Munich, 1994.
J. Barton and L. Nackman. Scientific and Engineering C++. Addison Wesley, 1994.
J. Coplien. Advanced C+ + Programming Styles and Idioms. Addison-Wesley, 1992.
J. Dongarra, A. Lumsdaine, X. Niu, R. Pozo, and K. Remington. A Sparse Matrix Library in C++ For High Performance Architectures. Second Annual Object Oriented Numerics Conference, Sunriver, Oregon, 1994.
J. Knopp. SPARSE++: Hiding Data Representations Does not Exclude Efficiency. Second Annual Object Oriented Numerics Conference, Sunriver, Oregon, 1994.
J. Knopp. On the Benefits of Abstract Data Types in Sparse Matrix Computations. TOOLS USA, 1995.
S. Meyers. Do not have concrete classes inherit from concrete classes! C+ + Report, July/August 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer Fachmedien Wiesbaden
About this chapter
Cite this chapter
Knopp, J. (1996). Sind abstrakte Datentypen in der Numerik einsetzbar? Eine C++ Studie über Abstraktion und Effizienz. In: Mackens, W., Rump, S.M. (eds) Software Engineering im Scientific Computing. Vieweg+Teubner Verlag, Wiesbaden. https://doi.org/10.1007/978-3-322-85027-0_3
Download citation
DOI: https://doi.org/10.1007/978-3-322-85027-0_3
Publisher Name: Vieweg+Teubner Verlag, Wiesbaden
Print ISBN: 978-3-322-85028-7
Online ISBN: 978-3-322-85027-0
eBook Packages: Springer Book Archive