On functional programming in the organization of parallel computing

Lidia V. Gorodnyaya

A.P. Ershov Institute of Informatics Systems, Siberian Branch of the Russian Academy of Sciences

The article is devoted to the results of the analysis of modern trends in functional programming, considered as a meta-paradigm for solving the problems of organizing parallel computing and multi-threaded programs for multi-processor complexes and distributed systems. Taking into account the multi-paradigm nature of parallel programming languages, here we used the results of paradigm analysis, which made it possible to find out a number of features and predict the course of the processes of using programs, as well as their study and development. There is reason to believe that functional programming can improve the performance of programs by preparing their prototypes in advance. A description of the semantic (universality, self-applicability, equality of parameters) and pragmatic (flexibility of constraints, immutability of data, rigor of the result) principles of functional programming is given, as well as the consequences of these principles aimed at reducing labor intensity and improving the technology of prototyping and debugging programs (constructiveness, verification, factorization, continuity of processes, reversibility of actions). The role of paradigmatic decomposition of programs in the technology of developing long-lived programs, which are often parallel computation programs, is noted. The perspective of functional programming as an auxiliary universal meta-paradigm for solving complex and important problems, burdened with difficult to verify and poorly compatible requirements of efficiency, reliability, safety and improvement opportunity, is especially emphasized. A variety of paradigmatic characteristics inherent in the preparation and debugging of long-lived parallel computing programs are shown.

functional programming, parallel computing, programming languages, programming paradigms, multiparadigm