Сравнительный анализ и выбор языка программирования для реализации системы анализа факторов ранжирования web-ресурсов
Автор: Буковцова Е.А.
Журнал: Форум молодых ученых @forum-nauka
Статья в выпуске: 1 (77), 2023 года.
Бесплатный доступ
В данной статье рассматриваются языки программирования. Представлено описание их характеристик, преимуществ и особенностей, а также сравнение через систему поддержки принятия решений «Решение».
Языки программирования, сппр
Короткий адрес: https://sciup.org/140297417
IDR: 140297417
Текст научной статьи Сравнительный анализ и выбор языка программирования для реализации системы анализа факторов ранжирования web-ресурсов
В современном мире трудно себе представить жизнь без интернета, каждый день миллионы людей заходят в Интернет и ищут необходимую им информацию, товары и услуги. Для любого бизнеса Интернет, а в частности поисковые системы, является одним из эффективных способов привлечения клиентов. Поэтому происходит борьба между сайтами -конкурентами за право быть в ТОП-10 поисковых систем, а соответственно за потенциальных клиентов.
Для автоматизации процесса анализа сайтов было решено разработать систему, которая поможет владельцам бизнеса, маркетологам, pr-менеджерам и seo-специалистам проанализировать внутренние параметры сайта, влияющие на его выход в ТОП-10.
Для того чтобы разработать систему анализа ранжирования web-ресурсов необходимо выбрать язык программирования.
На сегодняшний день существует весьма богатое разнообразие языков программирования (порядка нескольких десятков). К одним их наиболее популярных, распространённых, со сложившимся обширным сообществом и большим количеством библиотек можно отнести следующие языки:
-
- Java;
-
- C#;
-
- PHP;
-
- Python.
Но каждый язык имеет свои преимущества и также свои особенности. Для наглядного отображения была составлена сводная таблица, представленная на рисунке 1.
Язык |
Преимущества |
Особенности |
1 |
2 |
3 |
Java |
Возможность получения быстрого ответа (нет необходимости в компилировании, так как интерпретатор всегда готов для вмешательства в программу); Упрощенная отладка (можно прервать обработку пнтерпретаторной программы ). |
Дополнительный слои в виде виртуальной машины немного снижает производительность; Многословный код — иногда нужно написать больше кода, чем на других языках Г1]. ' |
C# |
Наличие ООП; Кроссплатформенность; Автоматическая сборка мусора и управление памятью; Много библиотек и готовых решений; |
C# менее гибкий, так как в основном зависит от платформы .NET [2]. |
PHP |
Высокая скорость работы; Бюджетность, экономичность; Простота освоения, простой синтаксис; Отличная совместимость и переносимость -php-коды работают одинаково хорошо с разными платформами. |
Невозможно создать десктопное приложение или какой-нибудь системный компонент; у приложений на PHP более низкая защищенность, чем с использованием других языков; слабая возможность работ ы с глобальныкш исключениями [4]. |
Pytho n |
Открытый код; Простота синтаксиса; Наличие мощных библиотек; Бесплатность; Сообщество поддержки. |
Невысокая скорость выполнения программ; Эволюция языка; Машинное обучение и наука о данных требуют знания соответствующих разделов математики [3]. |
Рисунок 1. Таблица «Преимущества и особенности языков программирования»
Рассмотренные языки программирования имеют как положительные качества, так и свои особенности, для выявления наилучшего языка далее будут подобраны критерии (характеристики) и произведено сравнение при помощи метода анализа иерархий (МАИ).
В качестве критериев, важных при выборе языка программирования, для создаваемой системы были выделены следующие характеристики: стандартизация, переносимость кода, скорость разработки ПО, скорость использования программы, количество потребляемой памяти. Характеристики выбранных языков программирования отображены в таблице, представленной на рисунке 2.
Стандартизация |
Переносимость кода |
Скорость разработки ПО |
Скорость исполнения программы |
Количество потребляемой памяти |
|
Java |
Нет |
Виртуальной машиной |
Быстрая |
Средняя |
Большое |
C# |
ISO, ECMA |
Требуется перекомпиляция |
Быстрая |
Средняя |
Среднее |
PHP |
Нет |
Виртуальной машиной |
Средняя |
Медленная |
Большое |
Python |
Нет |
Виртуальной машиной |
Быстрая |
Медленная |
Большое |
Рисунок 2. Таблица «Характеристики выбранных языков программирования»
Иерархическая модель, построенная в СППР «Решение» представлена на рисунке 3.

Рисунок 3. Иерархическая модель
На рисунке 4 представлена матрица парных сравнений критериев.

1итеты
1. 2. 3. 4. 5.
1. Стандартизация
2. Скорость разработки ПО
3. Скорость исполнения программы
4. Количество потребляемой памяти
5. Переносимость кода
1/1 |
1/2 |
2/1 |
3/1 |
6/1 |
0,268 |
2/1 |
1/1 |
3/1 |
4/1 |
7/1 |
0,419 |
1/2 |
1/3 |
1/1 |
4/1 |
4/1 |
0,183 |
1/3 |
1/4 |
1/4 |
1/1 |
3/1 |
0,086 |
1/6 |
1/7 |
1/4 |
1/3 |
1/1 |
0,043 |
СЗ: 5,171 ИС: 0,043 ОС: |0,038
* Для сравнения критериев двойной клик на ячейке матрицы сравнения
-
□ К Cancel
Рисунок 4. Матрица парных сравнений
На рисунке 5 представлена матрица сравнений по критерию
«Стандартизация».

Рисунок 5. Матрица сравнений решений по критерию
«Стандартизация»
На рисунке 4 представлена матрица решений по критерию «Скорость разработки ПО» и на рисунке 6 представлена матрица по критерию «Скорость исполнения программы».
[^J Сравнение решений по критерию "Скорость разработки ПО” X
1. |
2. |
3. |
4. |
Приоритеть |
||||||
1. C# |
1/1 |
5/1 |
6/1 |
3/1 |
0,560 |
|||||
2. Python |
1/5 |
1/1 |
3/1 |
1/2 |
0,135 |
|||||
3. PHP |
1/6 |
1/3 |
1/1 |
1/5 |
0,059 |
Jj |
||||
4. Java |
1/3 |
2/1 |
5/1 |
1/1 |
0,246 |
го Ш |
||||
О: |
4,116 |
ИС: |
0,039 |
ОС: [0,043 |
U =1 ф |
|||||
• Для сравнения критериев двойной |
||||||||||
клик на ячейке матрицы сравнения |
||||||||||
1......°К......1 |
Cancel |
Рисунок 6. Матрица сравнений решений по критерию «Скорость разработки ПО»
|А] Сравнение решений по критерию "Скорость исполнения программы" X
1. |
2. |
3. |
4. |
Приоритеты |
||
1. C# |
1/1 |
4/1 |
5/1 |
2/1 |
0,489 |
|
2. Python |
1/4 |
1/1 |
3/1 |
1/3 |
0,137 |
|
3. PHP |
1/5 |
1/3 |
1/1 |
1/4 |
0,070 |
Jj |
4.Java |
1/2 |
3/1 |
4/1 |
1/1 |
0,304 |
ГО ГП |
С |
5: 4,095 ИС: 0,032 ОС: |о,О35 | |
и |
||||
* Для сравнения критериев двойной клик на ячейке матрицы сравнения |
||||||
GO |
Cancel |
Рисунок 7. Матрица сравнений решений по критерию «Скорость исполнения программы»
На рисунках 8 и 9 представлены матрицы «Количество потребляемой памяти» и «Переносимость кода».
1^1 Сравнение решений по критерию "Количество потребляемой памяти" X
1. C# |
1. 1/1 |
2. 4/1 |
3. 3/1 |
4. 3/1 |
Приоритеты 0,514 |
|
2. Python |
1/4 |
1/1 |
2/1 |
1/2 |
0,148 |
|
3. PHP |
1/3 |
1/2 |
1/1 |
1/2 |
0,113 |
Jj |
4. Java |
1/3 |
2/1 i: 4,125 ИС: [( Для сравнения лик на ячейке ма |
2/1 1,042 ОС: |0,04 критериев двойне трицы сравнения |
1/1 й |
0,225 |
ГО m о ф У |
у.....ок...... |
Cancel |
Рисунок 8. Матрица сравнений решений по критерию «Количество потребляемой памяти»
[А] Сравнение решений по критерию "Переносимость кода"
итеты
4. Java
1. C#
2. Python
3. PHP
1/1 |
1/2 |
1/3 |
1/2 |
0,116 |
2/1 |
1/1 |
1/3 |
2/1 |
0,231 |
3/1 |
3/1 |
1/1 |
3/1 |
0,490 |
2/1 |
1/2 |
1/3 |
1/1 |
0,163 |
СЗ: 4,121 ИС: 0,040 ОС: | 0,045 |
* Для сравнения критериев двойной клик на ячейке матрицы сравнения
Cancel
Рисунок 9. Матрица сравнений решений по критерию «Переносимость кода»
Результаты сравнения представлены на рисунке 10.

Рисунок 8. Построение диаграммы по результатам сравнения
критериев
По проведенному анализу следует результат показывающий, что наиболее подходящим языком для разработки программного продукта был выбран язык программирования С#, т.к. он удовлетворяет следующим критериям:
-
- стандартизация какой-либо международной организацией;
-
- способ переносимости кода не важен;
-
- скорость разработки должна быть высокой;
-
- скорость исполнения не должна быть медленной;
-
- количество потребляемой памяти не важно.
Для получения данного результата была проанализирована предметная область, выявлены основные характеристики, преимущества и особенности языков программирования, а также проведен сравнительный анализ способов взаимодействия с клиентами.
Список литературы Сравнительный анализ и выбор языка программирования для реализации системы анализа факторов ранжирования web-ресурсов
- Java: что это такое простыми словами [Электронный ресурс]. - URL:https://blog.skillfactory.ru/glossary/java/?ysclid=lc0e7legko165569664 (дата обращения 17.12.2022).
- Python: что это за язык программирования [Электронный ресурс]. - URL: https://blog.skillfactory.ru/glossary/python/?ysclid=lc0efex4pp149540220 (дата обращения 16.12.2022).
- Си Шарп: описание и особенности языка [Электронный ресурс]. - URL: https://otus.ru/journal/si-sharp-opisanie-i-osobennosti-yazyka/?ysclid=lc0eqdcvy5426 139097 (дата обращения 15.12.2022).
- Выбираем язык программирования: что нужно знать о PHP [Электронный ресурс]. - URL: https://skillbox.ru/media/code/vybiraem_yazyk_programmirovaniya_chto_nuzhno_znat_o_php/?ysclid=lc0g668ckz109544573 (дата обращения 15.12.2022).