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

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

CC BY
163
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫСОКОУРОВНЕВЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ / СИ-ПОДОБНЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ / ПАРАДИГМЫ ЯЗЫКОВ / HIGH-LEVEL PROGRAMMING LANGUAGES / C- LANGUAGES OF PROGRAMMING / LANGUAGE PARADIGMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Киржаев Д.А., Рогачева Ю.И.

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

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

ANALYSIS AND COMPARISON OF C-LANGUAGES

In modern programming, high-level languages occupy an important place. Each language is designed for different tasks and has its own characteristics. Due to the peculiarities of writing syntax, implementation of constructs, and a set of specific tools, each language has its own individuality, as a result of which it has its positive and negative sides, which were considered in this article.

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

УДК 004.432

Киржаев Д.А. студент

направление подготовки Программная инженерия ФГБОУ ВО «Поволжский государственный университет

телекоммуникаций и информатики»

Россия, г. Самара Рогачева Ю.И. студент

направление подготовки Программная инженерия ФГБОУ ВО «Поволжский государственный университет

телекоммуникаций и информатики»

Россия, г. Самара

АНАЛИЗ И СРАВНЕНИЕ ХАРАКТЕРИСТИК СИ-ПОДОБНЫХ

ЯЗЫКОВ

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

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

Kirzhaev D.A. student

of the direction of preparation Software Engineering FSBEIof HE ""Volga State University of telecommunications and informatics "

Russia, Samara Rogacheva Ju.I. student

of the direction of preparation Software Engineering FSBEI of HE ""Volga State University of telecommunications and informatics"

Russia, Samara

ANALYSIS AND COMPARISON OF C-LANGUAGES

Abstract: In modern programming, high-level languages occupy an important place. Each language is designed for different tasks and has its own characteristics. Due to the peculiarities of writing syntax, implementation of constructs, and a set of specific tools, each language has its own individuality, as a result of which it has its positive and negative sides, which were considered in this article.

Key words: high-level programming languages, C- languages of programming, language paradigms.

Языки программирования делятся на две ключевые категории: высокого и низкого уровня. Языки высокого уровня дают возможность представления задачи в наглядном, простом для восприятия виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа. Вследствие того программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора.

Каждый месяц языки программирования поддаются оценке популярности среди относительно всех существующих, составляется индекс TIOBE (TIOBE programming community index) — индекс, образующийся на основе подсчёта результатов поисковых запросов, содержащих название языка. На момент июля 2020 года Си-подобные языки занимают лидирующие места. Теснит их только язык Python, занимающий 3 место и не имеющий отношение к этому семейству.

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

Ключевой особенностью языка Java является то, что его код сначала транслируется в специальный байт-код, а затем этот байт-код выполняется виртуальной машиной JVM. Подобная архитектура обеспечивает кроссплатформенность и аппаратную переносимость программ.

Еще одной ключевой особенностью Java является то, что она поддерживает автоматическую сборку мусора, т.е. периодическое освобождение памяти от ранее использовавшихся объектов, как в С++.

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

Язык программирования Си — универсальный язык программирования, который сочетает возможности языков программирования высокого и низкого уровней.

Си предоставляет возможность программисту реализовывать прямой доступ к ячейкам памяти и регистрам компьютера. Для этого необходимо иметь знания особенностей функционирования ЭВМ. Эта особенность имеет схожесть с языком низкого уровня — ассемблером, однако Си является значительно более мощным инструментом для решения нелегких задач и построения сложных программных систем. Си имеет свойство кроссплатформенности, но в некоторых случаях требуется внести определенные модификации.

У данного языка встречаются следующие особенности: язык не утрачивает свою надобность спустя долгое время; имеет высокую производительность; Несложная структура языка.

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

Си++ — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования.

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

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

При заполнении таблицы сравнения языков, проверяя наличии парадигм, ниже учтены только фактические данные, при том, что наличие возможности не обязательно является преимуществом языка, а отсутствие — недостатком.

Таблица 1

Условные обозначения для таблиц ниже

+ Указанная возможность присутствует

- Указанная возможность отсутствует

+/- Возможность поддерживается не полностью

-/+ Возможность поддерживается очень ограниченно

Парадигма программирования - это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию). Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером.

Существующие парадигмы зачастую пересекаются друг с другом в деталях (например, модульное и объектно-ориентированное программирование).

Таблица 2

Возможность C C++ Java Python

Императивная + + + +

Объектно-ориентированная -/+ + + +

Функциональная +/- -/+ -/+ +

Рефлексивная - -/+ -/+ +

Обобщённое программирование + -/+ + +

Логическая - - - -

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

1) TIOBE Index for June 2020. [Электронный ресурс] / 2020 - Режим доступа: https://www.tiobe.com/tiobe-index/, свободный - Загл. с экрана

2) Языки программирования. [Электронный ресурс] / 2020 - Режим доступа: http://www.gpntb.ru/wm/book/4/Doc4.HTML, свободный - Загл. с экрана

3) Сравнение языков программирования. [Электронный ресурс] / 2020 -Режим доступа: https: //ru.wikipedia.org/wiki/ сравнение_языков_программирования, свободный - Загл. с экрана

4) Парадигма программирования. [Электронный ресурс] / 2020 - Режим доступа: https://ru.wikipedia.org/wiki/ парадигма программирования, свободный - Загл. с экрана

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