Автор(-ы):
Понин Федор Николаевич
Секция
Информационные технологии
Ключевые слова
Аннотация статьи
Актуальность вопросов цифровизации управления, образования, государственного и частного секторов экономики, цифровизация жизни общества в целом влечет за собой необходимость перехода от отдельных цифровых сервисов, порталов и платформ к цифровым экосредам. В программировании используется несколько парадигм, имеющих свои достоинства и недостатки. Целью работы является определение наиболее популярных парадигм программирования и оценка возможностей применения объектно-ориентированного программирования в задачах созданий цифровой экосреды. Представленные результаты однозначно определяют преимущества использования объектно-ориентированного программирования в указанных задачах. В то же время указаны и недостатки, которые могут быть нивелированы возможностями современных компиляторов и являются незначительными относительно полученных выгод от использования парадигмы объектно-ориентированного программирования. Результаты работы могут быть использованы для обоснования выбора парадигмы программирования при решении задач создания цифровой экосреды.
Текст статьи
Цифровая экосреда – бесшовная цифровая среда, в которой представлены собственные и партнерские сервисы. Как правило она представляет из себя открытую, адаптивную, распределенную социально-техническую систему, обладающую свойствами самоорганизации, масштабируемости и устойчивости, заимствованными из природных экосред. Модели цифровых экосред основаны на знаниях о природе, особенно в отношении аспектов, связанных с конкуренцией и сотрудничеством между различными организациями.
В 2018 году в Российской Федерации началась реализация национального проекта «Цифровая экономика». В рамках выполнения этапов проекта значительное развитие получил портал «ГосУслуги», включивший в себя дополнительные сервисы. Следующим серьезным шагом к цифровизации стало поручение Президента Российской Федерации, требующее внедрения стратегии цифровой трансформации ряда отраслей экономики, госуправления и социальной сферы, импортозамещения программного обеспечения и программно-аппаратных комплексов. На основе требований поручения, субъектами РФ разработаны региональные планы цифрового развития, в которые вошли следующие ключевые направления:
Примером региональной цифровой экосреды является приложение «Моя Москва». Более 3 миллионов активных пользователей обращаются к услугам сервисов около 10 миллионов раз. Пользователям доступны сервисы для облегчения повседневной жизни:
Все это говорит о направлении вектора развития в сторону создания цифровой экосреды государственного сектора, на что направлены значительные средства (рисунок 1).
Рис. Цифровая трансформация в Российской Федерации
В частном секторе экономики можно выделить цифровые экосреды: Сбер, МТС, VK и Яндекс, развитие которых приближается к мировому уровню. Это уже не просто цифровые платформы или набор микросервисов, а бесшовная цифровая среда, в которой представлены различные сервисы компаний. Экосреды работают в следующих сегментах: цифровой контент, телекоммуникации, финансы, E-commerce, здоровье, образование, технологии, еда, мобильность, физическая розница (таблица).
Таблица
Сегменты цифровой экосреды
|
|
|
|
|
Контент |
Оkkо, CберЗвук, Рaмблер Медиа |
Kion, МТC Music, Библиотека, WАSD.tv |
ЯндекcПоиск, Кинопоиcк |
Mail.ru, MyGаmes, Вконтакте, Одноклассники, МойMup@Mаil.ru |
Образование |
СберКлacc Просвещение Рабoтa.ру |
YоuDо |
Яндекc.Учебник, Академия Яндекса, Яндекc.Прaктикум |
SkillBox, GeekBrains, SkillFaсtory, Mentorama, «Учи.ру», «Сферум» |
E-commerce |
CберМaркет, ДoмКлик, Рамблер Каccа |
МТC Live |
Яндекc.Мaркет |
AliExprеss Russiа, VK Mаrkеt, Юлa |
Телеком |
Сотовая связь CберМoбайл, кабельное ТВ |
Сотовая и фиксированная связь, кабельное и спутниковое ТВ |
Яндекc.Пoчта |
Почта Mail.ru |
Мобильность |
Доля в Cитимoбил CитиДрaйв |
|
Яндекс Go Яндекс.Драйв |
Доля в Cитимoбил CитиДрaйв |
Еда |
Доля в Delivery Club, Самокат, Кухня на районе |
|
Яндекс Go, Яндекc.Еда, Яндекc.Лавка |
Доля в Delivery Club, Самокат, Кухня на районе |
Финансы |
ЮМoney Сбербанк |
МТC Банк, МТC Cashback, MTC Каccа, NUUM |
Яндекc.Банк |
VK Pay |
Технологии |
Cognitive Pilot, CберАвтoTeх, Sbеr Devices |
MTC Digital, VisiоnLаbs |
Yаndex.Clоud, Yаndеx Self-Driving Group |
Облако Mail.ru |
Здоровье |
Сбер3доровье, СберЕаптека |
SmartMed |
Яндекс.Здоровье |
«Все аптеки» |
Офлайн |
Около 13 тыс. офисов |
Около 5 тыс. салонов связи |
Около 2 тыс. брендированных пунктов выдачи заказов |
Около 2 тыс. пунктов выдачи заказов |
Как в государственном, так и в частном секторе интеграция различных сервисов в одной цифровой экосреде позволяет управлять пользовательским поведением, добиваться максимальной скорости и прозрачности процессов, обнаруживать проблемы и точки улучшения в разных направлениях деятельности, тем самым повышая эффективность функционирования организации [1-9].
Для создания отдельного сервиса и его последующей интеграции в единую цифровую экосреду требуется слаженная работа команды разработчиков. Очень важно уже на начальном этапе определить подход к созданию программного продукта.
В настоящее время наиболее популярны следующие парадигмы программирования:
Императивная парадигма – подход к программированию, появившийся еще в 1950-х годах, является одним из самых ранних подходов. В императивных языках программирования принято использование:
Императивная парадигма сильно зависит от использования при разработке команд, переменных и процедур. Указанный подход использует команды для проверки и обновления переменных, сохраняя состояние в программе. На основе комбинации команд создаются процедуры. Слабая связь компенсируется абстракция данных, играющей решающую роль в их представлении. Самым популярным языком, поддерживающим только функциональные процедуры и использующим императивную парадигму, является C.
Ключевые понятия функциональной парадигмы:
Выражения являются фундаментальными компонентами функций, используемых языками функционального программирования. Параметрический полиморфизм является одним из трех типов полиморфизма. Этот тип упрощает универсальное программирование с помощью функций и типов. Самый популярный язык функционального программирования – JavaScript.
Зародившаяся в 1990-х годах парадигма ООП является потомком императивной. Однако ООП хранит состояние в объектах, а не в переменных. Языки программирования, основанные на ООП, часто лучше справляются со сложными приложениями.
Ключевые принципы ООП:
Основными функциями ООП:
Объекты – это сущности, у которых есть определенные свойства и поведение. Как правило объекты являются экземплярами какого-нибудь класса.
Класс – основной компонент объектно-ориентированной программы. После определения класса его можно использовать для создания объектов. Содержащиеся в классах инструменты могут быть использованы для защиты и скрытия конфиденциальных данных за счет инкапсуляции.
В ООП под инкапсуляцией подразумевается заключение данных и функционала в оболочку. В качестве такой оболочки могут выступать классы, которые концентрируют данные в одном месте и закрывают их от внешних воздействий.
Полиморфизм – способность объекта использовать методы производного класса, который не существует на момент создания базового.
Тремя наиболее популярными языками программирования, использующими объектно-ориентированную парадигму, являются Java, C++ и Python [10-16].
При разработке цифровых экосред известны примеры использования функциональной парадигмы. Основными различиями функционального подхода от ООП являются: сложность поддержки и плохая масштабируемость разработанной системы. Первый пункт обусловлен трудностью поиска функции и определение ее взаимосвязей с остальными функциями системы. В связи с тем, что возникает проблема определения взаимосвязей, становится трудно предсказать последствия изменений функционала для остальных частей системы. Второй пункт исходит из того, что в функциональном подходе код должен быть разделен на данные и на функции, использующие эти данные. При увеличении размеров проекта количество обоих компонентов растет, что усложняет написание такого кода, который не только бы не повторял уже существующий, но и который не переходил в ООП.
ООП дает возможность перенести метафоры и следующие из них абстракции в код, поскольку в процессе проектирования уже формируются базовые, общие подсистемы, которые легко преобразуются в классы.
Преимущества использования ООП при разработке цифровых экосред:
Недостаток использования ООП при разработке цифровых экосред:
Использование объектно-ориентированного подхода в некоторых случаях приводят к снижению производительности программ:
Описанные недостатки не снижают выгоды от использования ООП в задачах созданий цифровой экосреды. Лучшая организация кода, в некоторых случаях позволяет повысить производительность и снизить расходы на обеспечение функционирования программы. Качественно организованный современными компиляторами код сглаживает или полностью устраняет снижение производительности. Например, описанное ранее снижение скорости доступа к полям класса из-за использования методов доступа устраняется, если компилятор вместо вызова метода доступа использует инлайн-подстановку.
Рецензент – Кучумов И.
Список литературы
Поделиться
Понин Ф. Н. Возможности объектно-ориентированного программирования в задачах созданий цифровой экосреды // Актуальные исследования. 2022. №38 (117). С. 20-26. URL: https://apni.ru/article/4637-vozmozhnosti-obektno-orientirovannogo-program