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

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

CC BY
499
63
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЯЗЫКИ ПРОГРАММИРОВАНИЯ / C# / JAVA / PYTHON / СППР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Буковцова Е.А.

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

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

COMPARATIVE ANALYSIS AND SELECTION OF PROGRAMMING LANGUAGE FOR THE IMPLEMENTATION OF THE SYSTEM OF ANALYSIS OF RANKING FACTORS OF WEB RESOURCES

This this article discusses programming languages. A description of their characteristics, advantages and features is presented, as well as a comparison through the decision support system "Solution".

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

УДК 004.9

Буковцова Е.А., магистр кафедра прикладной информатики и информационных технологий

НИУ «БелГУ» Россия, Белгород

СРАВНИТЕЛЬНЫЙ АНАЛИЗ И ВЫБОР ЯЗЫКА

ПРОГРАММИРОВАНИЯ ДЛЯ РЕАЛИЗАЦИИ СИСТЕМЫ АНАЛИЗА ФАКТОРОВ РАНЖИРОВАНИЯ WEB-РЕСУРСОВ

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

Ключевые слова: языки программирования, C#, Java, Python, СППР.

Bukovtsova E.A., master faculty of applied informatics and information technologies

National University of BelSU Russia, Belgorod

COMPARATIVE ANALYSIS AND SELECTION OF PROGRAMMING LANGUAGE FOR THE IMPLEMENTATION OF THE SYSTEM OF

ANALYSIS OF RANKING FACTORS OF WEB RESOURCES

Abstract: This this article discusses programming languages. A description of their characteristics, advantages and features is presented, as well as a comparison through the decision support system "Solution".

Key words: programming languages, C#, Java, Python, DSS.

В современном мире трудно себе представить жизнь без интернета, каждый день миллионы людей заходят в Интернет и ищут необходимую им информацию, товары и услуги. Для любого бизнеса Интернет, а в частности поисковые системы, является одним из эффективных способов привлечения клиентов. Поэтому происходит борьба между сайтами-конкурентами за право быть в ТОП-10 поисковых систем, а соответственно за потенциальных клиентов.

Для автоматизации процесса анализа сайтов было решено разработать систему, которая поможет владельцам бизнеса, маркетологам, рг-менеджерам и seo-специалистам проанализировать внутренние параметры сайта, влияющие на его выход в ТОП-10.

Для того чтобы разработать систему анализа ранжирования web-ресурсов необходимо выбрать язык программирования.

На сегодняшний день существует весьма богатое разнообразие языков программирования (порядка нескольких десятков). К одним их наиболее популярных, распространённых, со сложившимся обширным сообществом и большим количеством библиотек можно отнести следующие языки:

- Java;

- C#;

- PHP;

- Python.

Но каждый язык имеет свои преимущества и также свои особенности. Для наглядного отображения была составлена сводная таблица, представленная на рисунке 1.

Язык Преимущества Особенности

1 2 3

Java Возможность получения быстрого ответа (нет необходимости в компилировании, так как пнтерпретатор всегда готов для вмешательства в программу); Упрощенная отладка (можно прервать обработку пнтерпрегаторноп программы ). Дополнительный слой в виде виртуальной машины немного снижает производительность; Многословный код — иногда нужно наппсать больше кода, чем на других языках [11.

С# Наличие ООП; Кроссп латформенность; Автоматическая сборка мусора и управление памятью; Много библиотек и готовых решений; С# менее гибкий, так как в основном зависит от платформы ,NET [2].

PHP Высокая скорость работы; Бюджеты ость, экономичность; Простота освоения, простой синтаксис; Отличная совместимость и переносимость -php-коды работают одинаково хорошо с разными платформами. Невозможно создать десктопное приложение или какой-нибудь системный компонент; у приложений на PHP более низкая защищенность, чем с использованием других языков; слабая возможность работ ы с глобальными исключениями [4"|.

Pytho n Открытый код; Простота синтаксиса; Наличие мощных библиотек; Бесплатность; Сообщество поддержки. Невысокая скорость выполнения программ; Эволюция языка; Машинное обучение п наука о данных требуют знання соответствующих разделов математики [3].

Рисунок 1. Таблица «Преимущества и особенности языков

программирования»

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

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

Характеристики выбранных языков программирования отображены в таблице, представленной на рисунке 2.

Стандартизация Переносимость кода Скорость разработки ПО Скорость исполнения программы Количество потребляемой памяти

Java Нет Виртуальной машиной Быстрая Средняя Большое

С # ШО: ЕСМА Требуется п е рекомш шяция Быстрая Средняя Среднее

PHP Нет Виртуальной машиной Средняя Медленная Большое

Python Нет Виртуальной машиной Быстрая Медленная Большое

Рисунок 2. Таблица «Характеристики выбранных языков

программирования»

Иерархическая модель, представлена на рисунке 3.

построенная в СППР «Решение»

Рисунок 3. Иерархическая модель

На рисунке 4 представлена матрица парных сравнений критериев.

I Сравнение критериев

СЗ: 5,171

ИС: 0,043 DC: |0,03&

* Для сравнения критериев двойной клик на ячейке матрицы сравнения

X

1. г. 3. 4. 5. Приоритеты

1. Стандартизация 1/1 1/2 2/1 3/1 6/1 0,269

2. Скорость разработки ПО 2/1 1/1 3/1 4/1 7/1 0,419

3. Скорость исполнения программы 1/2 1/3 1/1 4/1 4/1 одаз

4. Количество потребляемой памяти 1/3 1/4 1/4 1/1 3/1 0,00-6

5. Переносимость кода 1/6 1/7 1/4 1/3 1/1 0,043

OK

Рисунок 4. Матрица парных сравнений

Cancel

На рисунке 5 представлена матрица сравнений по критерию «Стандартизация».

| Сравнение решений по критерию "Стандартизация" X

1. 2. 3. 4. Приоритеты

1. с# 1/1 5/1 6/1 4/1 0,584

2. Python 1/5 1/1 4/1 1/3 0,127

3. PHP 1/6 1/4 1/1 1/4 0,056

4. Java 1/4 3/1 4/1 1/1 0,232

4,262 ИС: 0,087 ОС: 0,097

* Для сравнения критериев двойной s

клик на ячейке матриды сравнения

OK Cancel

Рисунок 5. Матрица сравнений решений по критерию «Стандартизация»

На рисунке 4 представлена матрица решений по критерию «Скорость разработки ПО» и на рисунке 6 представлена матрица по критерию «Скорость исполнения программы».

|ап Сравнение решений по критерию "Скорость разработки ПО" X

1. с#

2. Python

3. PHP

4. Java

1/1 5/1 6/1 3/1 0,560

1/5 1/1 3/1 1/2 0,135

1/6 1/3 1/1 1/5 0,059

1/3 2/1 5/1 1/1 0,246

СЗ: 4,116 ИС: Э,039 ОС: 0, 043

* Для сравнения критериев двойной клик на ячейке матрицы сравнения

ОК

Cancel

Рисунок 6. Матрица сравнений решений по критерию «Скорость

разработки ПО»

Ы | Сравнение решений по критерию "Скорость исполнения программы" X

1. 2. 3. 4. Приоритеты

1. С# 1/1 К/1 |5/1 |2/1 0,439

2. Python 1/4 1/1 3/1 1/3 0,137

3. PHP 1/5 1/3 1/1 1/4 0,070

4. Java 1/2 |з/1 k/i |l/l 0,304

СЗ: -1,095 ИС: 0,032 ОС: |0,035

* Для сравнения критериев двойной клик на ячейке матрицы сравнения

□К

Cancel

Рисунок 7. Матрица сравнений решений по критерию «Скорость

исполнения программы»

На рисунках 8 и 9 представлены матрицы «Количество потребляемой памяти» и «Переносимость кода».

Сравнение решений по критерию "Количество потребляемой памяти" X

1. 2. 3. 4. Приоритеты

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

1. с# 1/1 4/1 3/1 3/1 0,514

2. Python 1/4 1/1 2/1 1/2 0,149

3. PHP 1/3 1/2 1/1 1/2 0,113

4.Java 1/3 2/1 2/1 1/1 0,225

СЗ: 4,125

ИС: 0,042

ОС: 0,046

* Для сравнения критериев двойной клик на ячейке матрицы сравнения

ОК

Cancel

Рисунок 8. Матрица сравнений решений по критерию «Количество

потребляемой памяти»

|sr| Сравнение решений по критерию "Переносимость кода"

X

1. 2. 3. 4. Приоритеты

1. С# 1/1 1/2 1/3 1/2 0,116

2. Python 2/1 1/1 1/3 2/1 0,231

3. PHP 3/1 3/1 1/1 3/1 0,490

4. Java 2/1 1/2 1/3 1/1 0,163

СЗ:

4,121

ИС:

0,040

ОС: 0,045

* Для сравнения критериев двойной клик на ячейке матрицы сравнения

ОК

Cancel

Рисунок 9. Матрица сравнений решений по критерию «Переносимость

кода»

Результаты сравнения представлены на рисунке 10.

Рисунок 8. Построение диаграммы по результатам сравнения критериев

По проведенному анализу следует результат показывающий, что наиболее подходящим языком для разработки программного продукта был выбран язык программирования С#, т.к. он удовлетворяет следующим критериям:

- стандартизация какой-либо международной организацией;

- способ переносимости кода не важен;

- скорость разработки должна быть высокой;

- скорость исполнения не должна быть медленной;

- количество потребляемой памяти не важно.

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

Использованные источники:

1. Java: что это такое простыми словами [Электронный ресурс]. -URL:https://blog.skillfactory.ru/glossary/java/?ysclid=lc0e7legko165569664 (дата обращения 17.12.2022).

2. Python: что это за язык программирования [Электронный ресурс]. -URL: https://blog.skillfactory.ru/glossary/python/?ysclid=lc0efex4pp149540220 (дата обращения 16.12.2022)

3. Си Шарп: описание и особенности языка [Электронный ресурс]. - URL: https://otus.ru/journal/si-sharp-opisanie-i-osobennosti-yazyka/?ysclid=lc0eqdcvy5426 139097 (дата обращения 15.12.2022)

4. Выбираем язык программирования: что нужно знать о PHP [Электронный ресурс]. - URL: https://skillbox.ru/media/code/ vybiraem_yazyk_programmirovaniya_chto_nuzhno_znat_o_php/?ysclid=lc0g66 8ckz109544573 (дата обращения 15.12.2022)

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