Object‐Oriented Programming for Scientific Codes. I: Thoughts and Concepts
- 1 October 1992
- journal article
- Published by American Society of Civil Engineers (ASCE) in Journal of Computing in Civil Engineering
- Vol. 6 (4) , 480-496
- https://doi.org/10.1061/(asce)0887-3801(1992)6:4(480)
Abstract
This paper is an introduction to object‐oriented programming (OOP) as it relates to the development of large‐scale scientific codes. It is the first of two papers describing OOP issues for scientific‐code development. Since object‐oriented methods provide for the encapsulation of data and methods, scientific codes can be written in terms of the underlying physics of the problem with less regard for computer‐science details. We discuss some of the features of large‐scale scientific codes that are amenable to object‐oriented design. The concept of efficient portability is elucidated, explaining why object‐oriented user codes need not be altered when moving code to radically different computer architectures. In fact, we envision codes running without major changes on serial machines, such as a Sun or Vax; vector machines, such as a Cray; and on massively parallel processor systems, such as the Connection Machine. Comparisons between FORTRAN and the object‐oriented programming language of C++ are illustrated with simple examples of matrix operations.Keywords
This publication has 6 references indexed in Scilit:
- Object‐Oriented Programming for Scientific Codes. II: Examples in C++Journal of Computing in Civil Engineering, 1992
- Project‐Specific Knowledge Bases in AEC IndustryJournal of Computing in Civil Engineering, 1991
- Painting multiple views of complex objectsACM SIGPLAN Notices, 1990
- Object-oriented programming for linear algebraACM SIGPLAN Notices, 1989
- An Outline of ArizonaPublished by Defense Technical Information Center (DTIC) ,1988
- An object-oriented class library for C++ programsSoftware: Practice and Experience, 1987