Научная статья на тему 'ПРОФИЛИРОВАНИЕ ПРОГРАММИРОВАНИЯ И ЕГО АТРИБУТЫ'

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

CC BY
5
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
язык программирования / тип / типизация / статистический / динамический / переменная / строгая / нестрогая / явная / неявная / память / значение

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Халмурадов М. Б., Ходжамова М. С., Яшузаков К. Я., Худайберенов А. С.

Как языки распознают типы переменных: можно ли их задавать и изменять далее, задавая тем «породу» для языка. Данная статья разбирает концепцию типизации программирования, выявляя разные виды и их особенности

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

Текст научной работы на тему «ПРОФИЛИРОВАНИЕ ПРОГРАММИРОВАНИЯ И ЕГО АТРИБУТЫ»

УДК 004.3

Халмурадов М.Б.

Преподаватель,

Туркменский государственный университет имени Махтумкули

Туркменистан, г. Ашхабад Ходжамова М.С.

Преподаватель,

Туркменский государственный университет имени Махтумкули

Туркменистан, г. Ашхабад Яшузаков К.Я.

Преподаватель,

Туркменский государственный университет имени Махтумкули

Туркменистан, г. Ашхабад Худайберенов А.С.

Преподаватель,

Туркменский государственный университет имени Махтумкули

Туркменистан, г. Ашхабад

ПРОФИЛИРОВАНИЕ ПРОГРАММИРОВАНИЯ И ЕГО АТРИБУТЫ

Аннотация

Как языки распознают типы переменных: можно ли их задавать и изменять далее, задавая тем «породу» для языка. Данная статья разбирает концепцию типизации программирования, выявляя разные виды и их особенности.

Ключевые слова:

язык программирования, тип, типизация, статистический, динамический, переменная, строгая,

нестрогая, явная, неявная, память, значение.

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

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

Бестиповая типизация сегодня характерна для старых низкоуровневых языков. Где процесс разработка связана с машинным кодом. Если в тот момент, когда в типизированном языке слово в кавычках им обозначается как тип строка, то бестиповый язык видит это как биты информации, занимающие память. Иными словами, эти языки имеют один универсальный тип данных, охватывающий все объекты языка и поэтому над ними, могут производиться любые операция [2]. Например, это такие языки как Prolog, Assembler, Lisp, Basic, Wolfram.

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

типы данных определяются до выполнения кода, а это значит, что возвращаемое значение переменной связано с типом в момент его объявления и он не может быть изменен. Сначала он переводит на двоичный код и только потом запускает программу, за счёт чего он быстрее динамического языка. К статистической типизации относят такие языки как Java, C#, Rust, Scala и другие.

Динамическая типизация - типы данных определяются во время выполнения кода. В отличии от статистического типизации, тип переменной определяется в момент присвоения значения. Это позволяет упростить разработку программы - она будет автоматически подстраиваться под данные, полученные во время выполнения. Как и то, что одна и та же переменная может получать разные типы значений. К динамической типизации относят Python, JavaScript, PHP, Ruby [2].

Следующее деление происходит на строгую и нестрогую типизацию. Такая система определяет, может ли язык программирования проводит операцию над разными типами и может ли их преобразовывать. Также у этого деление возникает подвид каждой градации, менее или более строгая и наоборот - чаще всего это зависит от направленности выполняемых задач языка. Строгая типизация - при попытке вычесть из строки число, появится ошибка о несовместимости, где после чего вам придется исправить ошибку. То-есть компилятор не станет выполнять автоматическое преобразование и оставит выражение без решения. Такая позиция дает возможность разработчику контролировать изменения в коде, при этом затрачивается время написания программы. Языки со сильной типизацией, Python, Java, Go, Scala [3, 4]

Нестрогая типизация - с таким видом типизации код в размерах гораздо меньше и выглядит все лаконичнее. За счёт того, что компилятор сам по себе запрограммирован выполнять операции преобразования с разными типами данных.

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

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

Неявная типизация - объявляя элемент мы не задумывайся над присвоением типа, компилятор за нас будет определять принадлежность типа. Это позволяет уменьшит затрачиваемое время на разработку и занимаемое им место в коде.

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

Список использованной литературы:

1. Бестиповый язык [URL] index.php?page=info_Бестиповый_язык

2. Язык программирования [URL] https://ru.zahn-info- portal.de/wiki/Programming_language#Static_ versus_dynamic_typing

3. Detailed Analysis on affects of Dynamic Typing and Concurrency on Python? [URL] https://www.geeksforgeeks.org/detailed-analysis-on- affects-of-dynamic-typing-and-concurrency-on-python/

4. Джабраилов З. А., Магомедов И. А. и Асхабов И. Б. 2020 Сравение мобильных операционных систем: OS ANDROID, IOS, OS WINDOWS PHONE

© Халмурадов М.Б., Ходжа мова М.С., Яшузаков К.Я., Худайберенов А.С., 2024

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