Search
  • Papers


On the Choice of Programming Languages for Modernizing the ERA System of Ephemeris Research in Astronomy

V. A. Yakovlev, K. A. Naumov, M. V. Vasilyev

Transactions of IAA RAS, issue 76, 32–38 (2026)

DOI: 10.32876/ApplAstron.76.32-38

Keywords: Ephemeris, software package, programming language, high-precision arithmetic operations, input/ output operations

About the paper Full text

Abstract

The objective of this study was to select a programming language or languages for upgrading the Ephemeris Researh in Astronomy (ERA) system. The modernization plans were prompted by the removal of support for 80-bit variables in new versions of Racket, the ERA system's core language. The use of 80-bit variables is essential to ensure the required accuracy of ephemeris calculations. The criteria for selecting the languages included their widespread use and functionality for solving ephemeris astronomy problems, the ability to accelerate and improve the accuracy of ephemeris calculations, cross-platform compatibility, and the ability to maintain and upgrade the ERA system without the need for highly qualified programmers. Based on these criteria, the programming languages C++, Fortran, and Python were selected for testing, as well as the high-precision calculation libraries MPFR, QD, and mpmath. Racket was also considered as the primary programming tool for the latest version of the ERA system. Since the choice of languages was obvious based on all criteria except performance, the main tests focused on comparing the speed of basic arithmetic operations and input/output operations. Testing was conducted using two computers with Intel® Core™ i5 and i7 processors running Linux. Tests showed that the execution time for basic arithmetic operations using Fortran and C++ is virtually identical. Input/output operations are fastest in C++. Racket programs are several times slower than both Fortran and C++ programs. Libraries for high-precision calculations also perform faster in C++ and Fortran tests. Python tests perform worse than C++, Fortran, and Racket programs. Based on the testing results, Fortran and C++ were selected for the ERA system upgrade. In addition to maintaining the required accuracy of ephemeris calculations, using these languages will significantly reduce computation time and create the foundation for improving their accuracy.

Citation

Text
BibTeX
RIS
V. A. Yakovlev, K. A. Naumov, M. V. Vasilyev. On the Choice of Programming Languages for Modernizing the ERA System of Ephemeris Research in Astronomy // Transactions of IAA RAS. — 2026. — Issue 76. — P. 32–38. @article{yakovlev2026, abstract = {The objective of this study was to select a programming language or languages for upgrading the Ephemeris Researh in Astronomy (ERA) system. The modernization plans were prompted by the removal of support for 80-bit variables in new versions of Racket, the ERA system's core language. The use of 80-bit variables is essential to ensure the required accuracy of ephemeris calculations. The criteria for selecting the languages included their widespread use and functionality for solving ephemeris astronomy problems, the ability to accelerate and improve the accuracy of ephemeris calculations, cross-platform compatibility, and the ability to maintain and upgrade the ERA system without the need for highly qualified programmers. Based on these criteria, the programming languages C++, Fortran, and Python were selected for testing, as well as the high-precision calculation libraries MPFR, QD, and mpmath. Racket was also considered as the primary programming tool for the latest version of the ERA system. Since the choice of languages was obvious based on all criteria except performance, the main tests focused on comparing the speed of basic arithmetic operations and input/output operations. Testing was conducted using two computers with Intel® Core™ i5 and i7 processors running Linux. Tests showed that the execution time for basic arithmetic operations using Fortran and C++ is virtually identical. Input/output operations are fastest in C++. Racket programs are several times slower than both Fortran and C++ programs. Libraries for high-precision calculations also perform faster in C++ and Fortran tests. Python tests perform worse than C++, Fortran, and Racket programs. Based on the testing results, Fortran and C++ were selected for the ERA system upgrade. In addition to maintaining the required accuracy of ephemeris calculations, using these languages will significantly reduce computation time and create the foundation for improving their accuracy.}, author = {V.~A. Yakovlev and K.~A. Naumov and M.~V. Vasilyev}, doi = {10.32876/ApplAstron.76.32-38}, issue = {76}, journal = {Transactions of IAA RAS}, keyword = {Ephemeris, software package, programming language, high-precision arithmetic operations, input/ output operations}, pages = {32--38}, title = {On the Choice of Programming Languages for Modernizing the ERA System of Ephemeris Research in Astronomy}, url = {http://iaaras.ru/en/library/paper/2239/}, year = {2026} } TY - JOUR TI - On the Choice of Programming Languages for Modernizing the ERA System of Ephemeris Research in Astronomy AU - Yakovlev, V. A. AU - Naumov, K. A. AU - Vasilyev, M. V. PY - 2026 T2 - Transactions of IAA RAS IS - 76 SP - 32 AB - The objective of this study was to select a programming language or languages for upgrading the Ephemeris Researh in Astronomy (ERA) system. The modernization plans were prompted by the removal of support for 80-bit variables in new versions of Racket, the ERA system's core language. The use of 80-bit variables is essential to ensure the required accuracy of ephemeris calculations. The criteria for selecting the languages included their widespread use and functionality for solving ephemeris astronomy problems, the ability to accelerate and improve the accuracy of ephemeris calculations, cross-platform compatibility, and the ability to maintain and upgrade the ERA system without the need for highly qualified programmers. Based on these criteria, the programming languages C++, Fortran, and Python were selected for testing, as well as the high-precision calculation libraries MPFR, QD, and mpmath. Racket was also considered as the primary programming tool for the latest version of the ERA system. Since the choice of languages was obvious based on all criteria except performance, the main tests focused on comparing the speed of basic arithmetic operations and input/output operations. Testing was conducted using two computers with Intel® Core™ i5 and i7 processors running Linux. Tests showed that the execution time for basic arithmetic operations using Fortran and C++ is virtually identical. Input/output operations are fastest in C++. Racket programs are several times slower than both Fortran and C++ programs. Libraries for high-precision calculations also perform faster in C++ and Fortran tests. Python tests perform worse than C++, Fortran, and Racket programs. Based on the testing results, Fortran and C++ were selected for the ERA system upgrade. In addition to maintaining the required accuracy of ephemeris calculations, using these languages will significantly reduce computation time and create the foundation for improving their accuracy. DO - 10.32876/ApplAstron.76.32-38 UR - http://iaaras.ru/en/library/paper/2239/ ER -