A.V. Zheludkov1, S.G. Grigoriev2
1, 2 Moscow University of Finance and Law (Moscow, Russia)
1 zhantonv@gmail.com, 2 grigorsg@yandex.ru
Currently, more than 250 programming languages have been created and are actively used. They appeared as a result of the evolution of computer technologies, the challenges facing developers, and the requirements for efficiency and convenience imposed on the written software. Each new language is created to solve specific problems or overcome the shortcomings of previous languages. The choice of a programming language is a complex and non-trivial issue that affects the success of a project. This paper proposes an approach in which parts of the software can be written in different programming languages and then automatically translated into the target language. Existing solutions offer either a limited set of supported languages without an explicit sequence of actions for their expansion, or the obtained result requires additional significant costs to test its operability.
The goal of the article is to create an algorithm for translating program text implemented in various languages into a single format using the method of universal specific syntax trees and a global programming language that ensure the integrity of the obtained results.
The presented algorithm allows creating program modules in the most suitable programming languages with obtaining the final result in the selected target language using the method of universal specific syntax trees and using a global programming language. An example of the operation of this algorithm has been given, where part of the source text is implemented in Java, and the rest of the logic is in Prolog. The advantages of using the proposed approach have been shown: reducing the time of software development; solving the problem of choosing a programming language and stimulating the development of specialized languages, such as Prolog.
The developed algorithm allows combining the advantages of various programming languages within a single product by implementing the most suitable code blocks in them and translating the result to the target language using the method of universal specific syntax trees and a global programming language that ensure the integrity of the obtained results.
Zheludkov A.V., Grigoriev S.G. Approach to integrating programming languages within a single project using a global language. Neurocomputers. 2025. V. 27. № 1. P. 56–65. DOI: https://doi.org/10.18127/j19998554-202501-05 (in Russian)
- TIOBE programming community index definition [Elektronnyj resurs]. URL: https://www.tiobe.com/tiobe-index/programminglanguages_ definition/ (data obrashcheniya: 14.12.2024).
- Zakharov V.B., Mal'kovskij M.G., Mostyaev A.I. Problemy vybora yazykov programmirovaniya pri razrabotke kross-platformennykh prilozhenij. International Journal of Open Information Technologies. 2017. № 7. S. 29–37. (in Russian)
- Grigor'ev S.G., Zheludkov A.V. Global'nyj yazyk kak kvintessentsiya izomorfizma yazykov programmirovaniya. Sovremennaya nauka: aktual'nye problemy teorii i praktiki. Seriya «Estestvennye i tekhnicheskie nauki». 2024. № 1–2. S. 20–28 [Elektronnyj resurs]. URL: http://www.nauteh-journal.ru/files/04e150c0-5c5b-4d1d-b0e6-725a08954cf5 (data obrashcheniya: 14.12.2024). (in Russian)
- Zheludkov A.V. Razrabotka global'nogo yazyka programmirovaniya s pomoshch'yu metoda universal'nykh ksd-derev'ev. Sb. materialov III regional'noj s vserossijskim uchastiem molodezhnoj nauch. konf. «Fiziko-matematicheskie, estestvenno-nauchnye i sotsial'nye aspekty sovremennogo razvitiya nauki, tekhniki i obshchestva». Kazan', 26 maya 2023 g. Kazan': IP Sagiev A.R. 2023. S. 31–35. (in Russian)
- Grachev D.A., Laptev V.V. Razrabotka mnogoyazykovogo redaktora na osnove semanticheskoj modeli programmy. Vestnik AGTU. Seriya: Upravlenie, vychislitel'naya tekhnika i informatika. 2013. S. 191–201. (in Russian)
- Yazyk programmirovaniya Haxe [Elektronnyj resurs] / URL: URL: https://www.swi-prolog.org/ (data obrashcheniya: 14.12.2024).
- Almeida A., Xavier L., Valente M.T. Automatic library migration using large language models: First results. International Symposium on Empirical Software Engineering and Measurement. Barcelona, Spain. 2024. DOI: 10.1145/3674805.3690746.
- GPT-Migrate [Elektronnyj resurs]. URL: https://github.com/joshpxyne/gpt-migrate (data obrashcheniya: 14.12.2024).
- Banzhaf W., Nordin P., Keller R.E., Francone F.D. Genetic programming: An introduction on the automatic evolution of computer programs and its applications. San Francisco: Morgan Kaufmann. 1998.
- Turing completeness [Elektronnyj resurs]. URL: https://www.cs.odu.edu/~zeil/cs390/latest/Public/turing-complete/index.html (data obrashcheniya: 14.12.2024).
- Sherron W. Methods for demonstrating Turing completeness of a programming language [Elektronnyj resurs]. URL: https://copyprogramming.com/ howto/how-to-prove-a-programming-language-is-turing-complete (data obrashcheniya: 14.12.2024).
- Zheludkov A.V. Uslovnyj operator v global'nom yazyke programmirovaniya. Sb. nauch. statej aspirantov «Sovremennye metody i tekhnologii upravleniya, programmirovaniya i obrabotki dannykh». M.: MFYuA. 2023. S. 50–54. (in Russian)
- Zheludkov A.V. Global'nyj yazyk programmirovaniya kak promezhutochnoe zveno dlya transformatsii koda mezhdu lyubymi yazykami. Sovremennoe programmnoe obespechenie, matematicheskoe modelirovanie i obespechenie informatsionnoj bezopasnosti v komp'yuternykh sistemakh i kompleksakh. M.: MFYuA. 2024. S. 23–30. (in Russian)
- Serebryakov V.A., Galochkin M.P., Gonchar D.R., Furugyan M.G. Teoriya i realizatsiya yazykov programmirovaniya. M.: MZ-Press. 2006. (in Russian)
- Allgower E.L., Schmidt P.H. Computing volumes of polyhedra. Mathematics of Computation. 1986. V. 46. № 173. P. 171–174.
- Schildt H. Java: The complete reference. 12th Ed. New York: McGraw-Hill Education. 2021.
- Swi-prolog [Elektronnyj resurs]. URL: https://www.swi-prolog.org/ (data obrashcheniya: 14.12.2024).
- Bramer M. Logic programming with Prolog. Springer. 2005.
- Vakhitov R.Kh. Prolog D: Uchebnaya sistema – interpretator. Sb. materialov XV Vseross. nauch.-praktich. konf. «Informatsionnye tekhnologii v obrazovatel'nom protsesse vuza i shkoly» [Elektronnyj resurs]. URL: https://informatika-vrn.ru/wp-content/uploads/2021/04/ sbornikIT_2021.pdf (data obrashcheniya: 14.12.2024). (in Russian)
- Grigor'ev S.G., Alekseev M.N. Programmirovanie v sisteme Prolog-D (MS-DOS, MS Windows95/NT). Miass: Geo-tur. 2007. (in Russian)
- Grigor'ev S.G., Urtmintsev A.G. Yazyk programmirovaniya Prolog-D. Katalog VDNKh SSSR. M. 1988. (in Russian)
- Grigor'ev S.G., Urtmintsev A.G. Prolog-D i uchebnye ekspertnye sistemy. Vsesoyuznyj seminar «PEVM v uchebnom protsesse». M.: IPIAN SSSR. 1989. (in Russian)
- Rzun I.G., Kaznacheeva E.A. Problemy stanovleniya otechestvennykh yazykov programmirovaniya. EGI. 2014. № 2(4). S. 12–17. (in Russian)
- Pirogov A.A., Akishkin R.M., Goncharenko I.V., Semka E.V., Turetskaya E.V. Realizatsiya tsifrovogo fil'tra Battervorta s ispol'zovaniem bibliotek yazyka programmirovaniya Python. Radiotekhnika. 2023. T. 87. № 8. S. 54–58. DOI: https://doi.org/10.18127/j00338486-202308-09. (in Russian)

