Научная статья на тему 'ВЫБОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И СРЕД РАЗРАБОТКИ ДЛЯ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИХ РАБОТ В УСЛОВИЯХ ИМПОРТОЗАМЕЩЕНИЯ'

ВЫБОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И СРЕД РАЗРАБОТКИ ДЛЯ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИХ РАБОТ В УСЛОВИЯХ ИМПОРТОЗАМЕЩЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1010
168
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СРЕДЫ РАЗРАБОТКИ / ИМПОРТОЗАМЕЩЕНИЕ / ЗАКОНОДАТЕЛЬСТВО / ЯЗЫКИ ПРОГРАММИРОВАНИЯ / ОТКРЫТОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / DEVELOPMENT ENVIRONMENT / IMPORT SUBSTITUTION / LEGISLATION / PROGRAMMING LANGUAGES / OPEN SOURCE SOFTWARE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пестряков Е.В., Митрофанов С.В., Панферов Н.С., Благов Д.А.

В данной статье рассмотрены дополнения внесенные Правительством РФ в Федеральный закон от 27 июня 2006 года № 149-ФЗ и указ № 96 от 01.04.2015 изданный Министерством связи и массовых коммуникаций Российской федерации которые устанавливают план перехода государственных организаций на отечественные программные продукты и регламентируют данный процесс. Приведены функции Единого реестра программ для ЭВМ и БД. Рассмотрены критерии, которым должен соответствовать программный продукт для включения его в единый реестр программ для ЭВМ и БД, а также возможность их использования в государственных и ведомственных бюджетных учреждениях. С целью выявления разрешенных для использования в условиях импортозамещения современных языков программирования и сред разработки программного обеспечения, подходящих под рассмотренные критерии, представлен их анализ и рассмотрены преимущества и недостатки.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Пестряков Е.В., Митрофанов С.В., Панферов Н.С., Благов Д.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CHOOSING PROGRAMMING LANGUAGES AND DEVELOPMENT ENVIRONMENT FOR RESEARCH WORKS UNDER CONDITIONS OF IMPORT SUBSTITUTION

In this paper consideration is given to the additions made by the Government of Russia to the Federal Law of 27 June 2006 № 149-FZ and the Decree of 01 April 2015 № 96 issued by the Ministry of Communications and Mass Media of the Russian Federation, defining the plan for the transition of state organizations to domestic software products and regulating this process. Functions of the Unified register of computer programs and databases have been introduced. Criteria for inclusion of software products in the Unified register of computer programs and databases and possibility of using them in state budgetary institutions and agencies have been considered. In order to determine programming languages and development environments, authorized for use under conditions of import substitution and meeting the considered criteria, the paper provides an analysis of them and a review of their advantages and disadvantages.

Текст научной работы на тему «ВЫБОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И СРЕД РАЗРАБОТКИ ДЛЯ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИХ РАБОТ В УСЛОВИЯХ ИМПОРТОЗАМЕЩЕНИЯ»

УДК 004.43+004.4]:001.891

ВЫБОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И СРЕД РАЗРАБОТКИ ДЛЯ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИХ РАБОТ В УСЛОВИЯХ ИМПОРТОЗАМЕЩЕНИЯ

Е.В. Пестряков, С.В. Митрофанов, Н.С. Панферов, Д.А. Благов

ИТОСХ - филиал Федеральное государственное бюджетное научное учреждение «Федеральный научный агроинженерный центр ВИМ»

Аннотация: В данной статье рассмотрены дополнения внесенные Правительством РФ в Федеральный закон от 27 июня 2006 года № 149-ФЗ и указ № 96 от 01.04.2015 изданный Министерством связи и массовых коммуникаций Российской федерации которые устанавливают план перехода государственных организаций на отечественные программные продукты и регламентируют данный процесс. Приведены функции Единого реестра программ для ЭВМ и БД. Рассмотрены критерии, которым должен соответствовать программный продукт для включения его в единый реестр программ для ЭВМ и БД, а также возможность их использования в государственных и ведомственных бюджетных учреждениях. С целью выявления разрешенных для использования в условиях импортозамещения современных языков программирования и сред разработки программного обеспечения, подходящих под рассмотренные критерии, представлен их анализ и рассмотрены преимущества и недостатки.

Ключевые слова: среды разработки, импортозамещение, законодательство, языки программирования, открытое программное обеспечение.

Введение. В целях обеспечения цифровой безопасности страны 24 июня 2015 года Правительство РФ внесло дополнение к Федеральному закону от 27 июня 2006 года № 149-ФЗ «Об информации, информационных технологиях и о защите информации». В дополнении говориться о необходимости существенном увеличении доли отечественного программного обеспечения на внутреннем рынке страны и о защите информации, а также о введении специального Единого реестра программ для ЭВМ и БД. Его работа направлена на учет программного обеспечения, которое официально имеет российское происхождение и рекомендовано для государственных структур при выборе программного обеспечения. В данном реестре

приведены технические требования к программному обеспечению.

К ним относятся:

- Действующая лицензия на модификацию и распространение

ПО;

- Открытое (open-source) программное обеспечение;

- Полный доступ к исходному коду;

- НИОКР и техническая поддержка;

- Соответствие по требованиям специализированных органов (ФСТЭК, ФСБ и др.);

Одновременно с этим, в рамках политики импортозамещения и цифровой безопасности страны Министерством связи и массовых коммуникаций Российской федерации был издан указ № 96 от 01.04.2015 «Об утверждении плана импортозамещения программного обеспечения». В соответствии с данным указом к 2025 году доля отечественного программного обеспечения должна быть не менее 50 %, а в отдельных отраслях достигать 90%, в особенности это касается государственных учреждений [2].

В документе, представленном в приложении к приказу министерства связи и массовых коммуникаций, четко обозначен план импортзамещения ПО, где расписано, как будет снижаться доля импортного программного обеспечения по секторам экономики к 2025 году. Из него следует, что за период 2015-2025 гг. доля отечественного ПО минимум должна увеличиться в 2 раза, а в некоторых случая и в 3, например, всевозможные бизнес-приложения (ERP, CRM, BI, СЭД, управление проектами и т.д.).

Из этого всего можно сделать вывод, что в ближайшем будущем доля отечественного ПО будет неуклонно расти. Активный переход на Российские программные продукты в государственных структурах и бюджетных организациях, а также в силовых ведомствах, идет уже давно.

Из этого следует, что разработка программного обеспечения для бюджетных учреждений, в частности для научно-исследовательских и опытно-конструкторских работ, целесообразно вести в средах разработки, которые отвечают требованиям данных нормативных актов. В настоящее время существует не так много сред разработок, отвечающих данным требованиям. Это связано с тем, что в России нет достаточно широкого набора инструментов для создания IT-продукции.

Существует множество инструментов для разработки программного обеспечения, сюда входят, как языки программирования, так и системы управления базами данных (СУБД). Однако не все они подходят под критерии, изложенные выше. Далее приведен краткий анализ наиболее распространенных и современных

языков программирования и сред разработки ПО.

Язык программирования С# (C-sharp) - является на данный момент самым популярным и современным языком программирования компании Майкрософт [6]. Он обладает расширенной функциональностью, а также увеличивает скорость разработки программного обеспечения по сравнению со своими конкурентами. С# работает со всеми известными СУБД (MS SQL Server, MySql, Oracl и т.д.). К тому же, компания Microsoft распространяет его бесплатно в пакете Visual Studio при условии, что он не будет использован в коммерческих целях. Из этого следует, что его можно скачать с официального сайта компании и использовать в научных целях, однако данный инструмент разработки программного обеспечения имеет и ряд серьезных недостатков:

1. Работает только в операционной системе (Windows). В связи с этим разработка и запуск программного обеспечения невозможна на других операционных системах таких как Linux и Mac OS. Та же проблема есть и у языка Visual Basic, который поставляется с C# в одном программном пакете, а именно Visual Studio.

2. C# очень требователен к характеристикам компьютера, в особенности к оперативной памяти.

3. Скорость работы программы, написанной на языке C# является низкой по сравнению с конкурентами в этой области.

4. Отсутствует гибкость в разработке (сложно установить устойчивое взаимодействие с неизвестными инструментами), а также не подходит для многих сфер программирования, например, таких как программирование микроконтроллеров.

Язык программирования Java - на ряду с языком C# является одним из самых популярных языков в мире. Также, как и С#, является бесплатным для решения научных и внутриорганизационных задач, но в отличии от C# является кроссплатформенным языком программирования, т.е. он может работать на операционных системах Windows, Linux, Mac OS и т.д. [6]. Работает со всеми широко применяемыми СУБД. Также имеет существенные недостатки:

1. Язык Java, как и С#, разработан американской компанией, что не укладывается в рамки политики импортозамещения.

2. Java, больше чем C#, требователен к характеристикам компьютера, из-за использования своей виртуальной машины.

3. Отсутствует гибкость в разработки.

4. Низкая скорость работы программы.

Язык программирования Delphi - в середине 2000-х являлся самым распространенным языком на всем постсоветском пространстве. Он обладает большим количеством встроенных компонентов, что позволяет разрабатывать программное обеспечение

быстрее, чем на любом другом языке программирования [3]. Также этот язык взаимодействует со всеми известными системами управления базами данных, а скорость выполнения его программного кода очень высока. Но как все языки программирования он имеет ряд недостатков:

1. Delphi не распространяется бесплатно, а стоимость его лицензии очень высока. В настоящее время стоимость одной локальной копии с разными стандартными дополнительными компонентами составляет порядка 500 тыс. рублей. Что делает стоимость разработки на нем довольно высокой.

2. Delphi является устаревшим языком программирования. В нем отсутствуют или недостаточно реализованы основные современные парадигмы программирования.

3. Как и предыдущие языки программирования, он очень требователен к характеристикам компьютера.

4. Программный код очень тяжело портируется (переносится, конвертируется) на другие языки программирования.

Язык программирования С/С++ представляет собой объединение двух языков программирования - языка С (Си), который является процедурными языком, разработанным в 70-х годах, и его логическом продолжением объектно-ориентированным языком С++ (Си-плюс плюс), разработанный в 80-х годах прошлого века [5]. Несмотря на то, что формально это два языка, разработка программного обеспечения на них ведется совместно. Это произошло в силу исторических, технических и идеологических особенностей данных языков программирования. Поэтому они часто рассматриваются как единый язык программирования, который является самым применяемым за всю историю программирования. На данном языке написано, по разным данным, около 90% всего мирового программного обеспечения. Он используется во всех сферах программирования, от создания операционных систем (операционные системы, такие как Windows, Linux и т.д.) и программирования ядерных реакторов до написания простых настольных приложений. Язык С/С++ может работать со всеми известными СУБД. Компиляторы этого языка распространяются бесплатно, что существенно упрощает вопросы лицензирования, а единый стандарт делает его полностью кроссплатформенными. Преимуществом С/С++ является то, что он может напрямую вызывать машинный язык Assembler, что позволяет ускорить проводимые вычисления, а также снизить аппаратные требования к компьютеру.

Но даже С++ не лишен недостатков, вот самые распространенные из них:

1. Высокий порог вхождения. Это самая большая проблема

С/С++, программист должен обладать высокой квалификацией, чтобы эффективно использовать все возможности данного инструмента.

2. Время на разработку программного обеспечения уходит больше, чем у его конкурентов, таких как Java или C#, это связано с его универсальностью.

Из представленного множества языков программирования, наиболее оптимальным для решение научных задач является С/С++, так как из-за прямого взаимодействия с препроцессором обладает одной самых высоких скоростей выполнения программного кода. По сути в скорости он уступает только языку Assembler. Это позволяет на нем писать инженерные и математические программы.

Так же следует определиться с наиболее подходящей средой разработки для поставленных задач. Наиболее распространенные среды программирования это: С++ Builder, Visual C++, QT Creator.

С++ Builder - является самой технологически развитой из всех представленных. Она разрабатывается компанией Embarcadero [5]. Эта среда обладает всеми преимуществами среды Delphi, однако так же обладает и всеми ее недостатками, плюс к этому, скорость выполнения задач программы, созданной в этой среде, очень низкая из-за высокого уровня программного кода.

Наряду с этим, она является зарубежной средой программирование с закрытым исходным кодом, что не подходит в рамках поставленных задач и нормативно-правовых актов.

Visual C++, продукт компании Microsoft, является современным инструментом по созданию программного обеспечения [5]. Главным ее преимуществом является хорошо оптимизированный компилятор, что делает программы на ней высокоскоростными, а главным ее недостатком можно считать отсутствие встроенных инструментов по созданию графического инструмента. Так же эта среда разработки является импортным продуктом, что делает ее не востребованной в рамках импортозамещения.

QT Creator - кроссплатформенный framework для разработки программного обеспечения на языке программирования С^++. Является самым динамично развивающимся инструментом для создания настольных, мобильных и встроенных систем. Его главными преимуществами является мощный набор компонентов, возможность подключение любых компиляторов, что делает универсальным не только в качестве операционных систем, но и мультиплатформенным в разрезе устройств (мобильные телефоны, микроконтроллеры, ПК). QT Creator распространяется в рамках лицензии открытого исходного кода (Open Source), исходя из этого у разработчика появляется доступ к исходному коду самой среды разработки. Таким образом, Qt Creator позволяет создавать полностью независимое программное

обеспечение, что полностью укладывается в политику импортозамещения и нормативно-правовые акты. Все эти преимущества делают выбор данного framework самым оптимальным для решения научных задач.

Заключение. Исходя из проведенного анализа законодательной базы и программного обеспечения, представленного на рынке, можно сделать вывод, что Федеральный закон № 149 ФЗ и меры по импортозамещению программных продуктов в России имеют как положительные, так и отрицательные стороны. В качестве положительных сторон можно отметить то, что закон направлен на стимулирование разработки отечественного программного обеспечения, что в перспективе приведет к развитию информатизации всех отраслей страны, снизит зависимость от импортного программного обеспечения. С другой стороны, закон строго регламентирует и ограничивает свободу выбора программного обеспечения, что ведет за собой ряд реорганизационных проблем: переподготовка специалистов или замену кадрового состава организаций, финансовые затраты на смену программных продуктов. Качество программного обеспечения на начальном этапе перехода будет уступать зарубежной продукции по многим параметрам. Также следует отметить, что в плане импортозамещения программного обеспечения не приведены методы перехода на отечественные программные продукты.

Список используемыз источников:

1. Федеральный закон от 27.07.2006 № 149-ФЗ (ред. от 24.06.2015) «Об информации, информационных технологиях и о защите информации»

2. Указ Министерства связи и массовых коммуникаций Российской федерации № 96 от 01.04.2015 «Об утверждении плана импортозамещения программного обеспечения».

3. Архангельский А.Я. /Программирование в Delphi. Учебник по классическим версиям Delphi // А.Я. Архангельский Бином-Пресс, 2008.

4. Пратт Т., Зелковиц М./ Языки программирования: разработка и реализация/ Под общ. ред. А. Матросова. - СПБ.: Питер, 2002.-688.:ил.

5. Керниган, Брайан У., Ритчи ДеннисМ. /«Язык программирования Си» - 3-е издание. : Пер. с англ.- М.: Издат. Дом. : «Вильямс»,2001. 304с.: ил. - Парал. Тит. Англ.

6. Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 2 на языке C#. Мастер класс. / Пер. с англ. — 2 е изд., исправ. —М. : Издательство «Русская Редакция» ; СПб. :

Питер , 2008 - 656 стр. : ил.

Е.В. Пестряков, научный сотрудник

C.В. Митрофанов, канд. с.-х. наук, вед. научный сотрудник

Н.С. Панферов, канд. техн. наук, ст. научный сотрудник

Д.А. Благов, канд. биол. наук, ст. научный сотрудник

ИТОСХ-филиал ФГБНУ ФНАЦ ВИМ enu@vnims.rzn.ru

CHOOSING PROGRAMMING LANGUAGES AND DEVELOPMENT ENVIRONMENT FOR RESEARCH WORKS UNDER CONDITIONS OF IMPORT SUBSTITUTION

E.V. Pestryakov, S.V. Mitrofanov, N.S. Panfyorov, D.A. Blagov Institute for Engineering Support of Agriculture - branch of FSAC VIM gnu@vnims.rzn.ru

Abstract. Abstract. In this paper consideration is given to the additions made by the Government of Russia to the Federal Law of 27 June 2006 № 149-FZ and the Decree of 01 April 2015 № 96 issued by the Ministry of Communications and Mass Media of the Russian Federation, defining the plan for the transition of state organizations to domestic software products and regulating this process. Functions of the Unified register of computer programs and databases have been introduced. Criteria for inclusion of software products in the Unified register of computer programs and databases and possibility of using them in state budgetary institutions and agencies have been considered. In order to determine programming languages and development environments, authorized for use under conditions of import substitution and meeting the considered criteria, the paper provides an analysis of them and a review of their advantages and disadvantages.

Key words: development environment, import substitution, legislation, programming languages, open source software.

E. V. Pestryakov, Research Worker

S.V. Mitrofanov, candidate of agricultural Sciences, Leading Researcher

N.S. Panfyorov, candidate of technical Sciences, Senior Researcher

D.A. Blagov, candidate of biological Sciences, Senior Researcher

Institute for Engineering Support of Agriculture - branch of the Federal State Budgetary Scientific Institution "Federal Scientific Agroengineering Center VIM

i Надоели баннеры? Вы всегда можете отключить рекламу.