Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Преимущества изучения формальных языков

Информационные технологии
25.04.2020
353
Поделиться
Библиографическое описание
Смирнова, А. Ю. Преимущества изучения формальных языков / А. Ю. Смирнова. — Текст : непосредственный // Молодой ученый. — 2020. — № 17 (307). — С. 29-32. — URL: https://moluch.ru/archive/307/69233/.


Человек, который хочет начать программировать, обращается в интернет, с вопросом: «С чего начать изучение программирования?" В данной анализируется, какие преимущества может получить программист, изучив формальные языки как до освоения первого языка высоко уровня, так и после.

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

В современном мире информационно-компьютерные технологии используются повсеместно. Вследствие этого есть потребность как в самих технологиях, так и в людях, программистах, которые создают программные продукты или их поддерживают. [1] Профессия программиста набирает всё большую популярность, поскольку актуальна и обладает низким порогом вхождения.

Человек, который хочет начать программировать, обращается в интернет, с вопросом: «С чего начать изучение программирования?" Большинство людей советуют начать с конкретного языка программирования, если быть точнее, с курсов по этому языку. [2] В случае, если вопросом интересуется ребёнок, то таким языком является Scratch, если интересуется взрослый, то в зависимости от интересующей его области программирования предлагается наиболее простой язык. Дополнительно советуют углублённо изучать информатику, математику и английский язык в школе и соответствующие им предметы в университете.

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

Формальный язык — это созданный человеком, искусственный, язык, характеризующийся чёткими и однозначными правилами построения выражений и их интерпретации. [3] В основе формального, как и любого другого языка, лежит алфавит. Алфавит представляет собой конечный набор символов для обмена информацией. Далее описывается и синтаксис языка, т. е. правила построения конкретных выражений.

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

За счёт использования формальных грамматик можно описать любой язык программирования. [5] Если проанализировать все языки, можно заметить, что во всех есть некие общие конструкции, некоторые из которых приведены ниже:

  1. Операторы ветвления. Представляют собой выражение вида: if <условие> then <действие 1> else <действие 2>
  2. Операторы цикла. Отличаются от условных тем, что действия внутри повторяются до тех пор, пока выполняются определённые условия. Могут выглядеть, например, следующим образом: while <условие> {<действие1>... <действие n> }
  3. Операторы ввода и вывода. Предназначены для ввода или вывода данных в программу. Например, оператор вывода может выглядеть следующим образом: write (<данные для вывода>)
  4. Операторы для задания переменных или констант в программу.
  5. Операторы для написания функций или методов

Из вышеприведенного анализа можно поговорить о преимуществах изучения формальных языков.

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

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

Независимо от времени обучения, знание формальных языков позволяет:

  1. Получить информацию о базовых конструкциях языка, а следовательно, сократить число ошибок связанных с непониманием базовых конструкций
  2. Получить более глубокое представление о работе компиляторов, трансляторов, интепретаторов.
  3. Получить базовую информацию, необходимую для написания собственного языка программирования или среды разработки
  4. Сократить время освоения новых языков, о чём было сказано выше.

Поговорив о преимуществах, следует отметить и недостатки, которые так же важно учитывать:

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

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

Литература:

  1. Университет Синергия [Электронный ресурс] / Образование// Образование по специальности /// Актуальность профессии программист в 21 веке. Режим доступа: https://synergy.ru/about/education_articles/speczialnosti/kakie_programmisty_naibolee_vostrebovany
  2. Как стать программистом [Электронный ресурс] / Как стать программистом с нуля самостоятельно. Режим доступа: http://itman.in/kak-stat-programmistom-s-nulya-samostoyatelno/
  3. Мультиурок [Электронный ресурс] / Формализованные (формальные) языки. Режим доступа: https://multiurok.ru/files/formalizovannyie-formal-nyie-iazyki.html
  4. Афанасьев А. Н. Формальные языки и грамматики: Учебное пособие. — Ульяновск: УлГТУ, 1997. — 84с.
  5. Братчиков И. Л. Синтаксис языков программирования / Под ред. С. С. Лаврова. — М.: Наука, 1975. — 262с.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Ключевые слова
язык
язык программирования
правило грамматики
синтаксис языка
Молодой учёный №17 (307) апрель 2020 г.
Скачать часть журнала с этой статьей(стр. 29-32):
Часть 1 (стр. 1-79)
Расположение в файле:
стр. 1стр. 29-32стр. 79

Молодой учёный