Розробка текстового редактора для операційної системи UNIX - Мєтєльов, Володимир Олександрович; Марусенко, Олексій Миколайович; Баскаков, Олександр Романович (Національний технічний університет "Харківський політехнічний інститут", 2022)
Розглядається задача розробки та реалізації програмного додатку для створення, редагування, виведення на екран, а також збереження у вигляді файлів різного роду форматів, які у свою чергу будуть використовуватися у програмуванні на таких мовах як C, C++, Python, та системної мови Linux – Bash. Розроблений програмний додаток призначений для надання можливості користувачу взаємодії з файлами різного розширення, редагування та збереження змін, робота зі змістом файлів для подальшої розробки програмного коду на таких мовах, як C, C++, Python. Програмний додаток можливо використовувати як консольний додаток, так і з використанням графічного інтерфейсу на операційних системах UNIX та MS Windows. При розробці використовувалась операційна система UNIX, а саме дистрибутив Linux – Ubuntu, це надало змогу для використання створеного текстового редактора, на таких операційних системах як Ubuntu, Linux Mint, Kali Linux, Raspberry Pi Ubuntu. Також був використаний вільний кросплатформений мультимедійний пакет бібліотек – SFML, що надав змогу для використання текстового редактора на платформі MS Windows. Вихідний код бібліотеки SFML надається під ліцензійною угодою для розповсюдження вільного програмного забезпечення ZLIB/PNG License. Під час розробки визначено та реалізовано метод обробки вхідної інформації, а також збереження у файл окремого формату. Були використані наступні мови програмування: С, С++11, розроблена зручна архітектура програмного додатку, яка дозволяє з легкістю підтримувати та удосконалювати програму у майбутньому. Використання віртуальної машини для проекту було невід’ємною складовою. Через використання віртуальної машини, багато ресурсів комп’ютера утилізується, наприклад, оперативна пам’ять, кількість ядер, сховище даних та дискретне прискорення робочого стола у бажаної операційної системи. Реалізовано дружній графічний інтерфейс для взаємодії із користувачем.

The task of developing and implementing a software application for creating, editing, displaying on the screen, as well as saving in the form of files of various formats, which in turn will be used in programming in languages such as C, C++, Python, and the Linux system language – Bash, is being considered. The developed software application is designed to enable the user to interact with files of various extensions, edit and save changes, work with the content of files for further development of software code in languages such as C, C++, Python. The software application can be used both as a console application and with the use of a graphical interface on UNIX and MS Windows operating systems. During development, the UNIX operating system was used, namely the Linux – Ubuntu distribution, which made it possible to use the created text editor on such operating systems as Ubuntu, Linux Mint, Kali Linux, Raspberry Pi Ubuntu. A free cross–platform multimedia package of libraries – SFML was also used, which made it possible to use a text editor on the MS Windows platform. The source code of the SFML library is provided under the ZLIB/PNG Free Software Distribution License. During development, a method of processing input information, as well as saving it in a file of a separate format, was defined and implemented. The following programming languages were used: C, C++11, a convenient software application architecture was developed, which allows you to easily maintain and improve the program in the future. The use of a virtual machine was an integral part of the project. By using a virtual machine, many computer resources are utilized, such as: RAM, number of cores, data storage and discrete desktop acceleration in the desired operating system. A friendly graphical interface for user interaction has been implemented.
Development of a text editor for UNIX operating system
Keywords: операційні системи; текстовий редактор; UNIX; Windows; бібліотека SFML; Bash; C++; operating systems; text editor; SFML library