2.2. Advantages
of Modern Pro-
gramming and
Design
Chief among
the advantages
of writing a
new program is
the opportunity
to make use of
both modern
programming
and modern de-
sign technolo-
gies, namely
object-oriented
programming (
OOP
) and object-oriented design (
OOD
), as well as graphi-
cal user interfaces (GUIs). Recently, the highly productive "components"
programming associated with rapid application development (
RAD
) envi-
ronments has greatly enhanced the efficiency, sophistication, and depend-
ability of
GUI
programming. Additionally, modern integrated develop-
ment environments (IDEs) have matured into a powerful and reliable
means of rapidly developing, testing, and debugging complex and sophisti-
cated programs. None of these powerful technologies was available until
the 1990s. Hence, design and construction of modern programs is faster,
safer, and more intuitive. Also very important is the fact that all of the nu-
merical algorithms used in a high-precision ephemeris program -- e.g.,
numerical integrators, nonlinear estimation, etc. -- are now mature tech-
nologies, which was certainly not the case thirty-five years ago.
Consequently, the Newcomb computational back end is written entirely
in
ANSI
C++, and development and testing are done entirely within the
best C++
RAD
environment currently available.
16
Throughout the
program, we take full advantage of standard
OOP
/
OOD
concepts and tech-
niques, including full data encapsulation, template and nested template
classes, polymorphism, and, where necessary, multiple inheritance.
MURISON: MODELING PLANETARY MOTIONS
10 of 20
16
http://www.borland.com/bcppbuilder/
Figure 7 -- Examples of a graphical user interface (from Newton).