Преимущества изучения формальных языков | Статья в журнале «Молодой ученый»

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

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №17 (307) апрель 2020 г.

Дата публикации: 25.04.2020

Статья просмотрена: 344 раза

Библиографическое описание:

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



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

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

В современном мире информационно-компьютерные технологии используются повсеместно. Вследствие этого есть потребность как в самих технологиях, так и в людях, программистах, которые создают программные продукты или их поддерживают. [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с.
Основные термины (генерируются автоматически): язык, язык программирования, правило грамматики, синтаксис языка, изучение программирования, преимущество.


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

язык, язык программирования, правило грамматики, синтаксис языка

Похожие статьи

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

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

Какие задачи позволяет решать машинное обучение

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

Математическая обработка образовательных результатов учащегося с использованием языка программирования Python как метод выявления уровня мотивации школьника

В статье автор предлагает метод обработки образовательных результатов учащихся на примере программы Python для выявления уровня мотивации учащегося.

О применении конкретной информационной технологии в обучении студентов математическому анализу

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

Использование игровых технологий при обучении грамматике английского языка

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

Исследование традиционных методов обучения для изучения формальных языков

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

Особенности языка программирования Python, которые необходимо учитывать при подготовке к олимпиадам по информатике

В статье рассмотрены особенности языка программирования высокого уровня Python, проведено сравнение с другими популярными языками, выделены преимущества языка. Приведены примеры решения задач на Python.

Применение игровой методики в изучении английского языка

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

Игровой движок как решение проблем дистанционного образования

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

Разработка алгоритма работы веб-модуля для структурирования знаний студента по дисциплине

В данной статье поднимается вопрос обработки естественного языка с целью помощи студенту университета структурировать свои знаний по той или иной дисциплине. В данном исследовании приведен процесс разработки алгоритма работы веб-модуля для структурир...

Похожие статьи

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

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

Какие задачи позволяет решать машинное обучение

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

Математическая обработка образовательных результатов учащегося с использованием языка программирования Python как метод выявления уровня мотивации школьника

В статье автор предлагает метод обработки образовательных результатов учащихся на примере программы Python для выявления уровня мотивации учащегося.

О применении конкретной информационной технологии в обучении студентов математическому анализу

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

Использование игровых технологий при обучении грамматике английского языка

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

Исследование традиционных методов обучения для изучения формальных языков

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

Особенности языка программирования Python, которые необходимо учитывать при подготовке к олимпиадам по информатике

В статье рассмотрены особенности языка программирования высокого уровня Python, проведено сравнение с другими популярными языками, выделены преимущества языка. Приведены примеры решения задач на Python.

Применение игровой методики в изучении английского языка

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

Игровой движок как решение проблем дистанционного образования

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

Разработка алгоритма работы веб-модуля для структурирования знаний студента по дисциплине

В данной статье поднимается вопрос обработки естественного языка с целью помощи студенту университета структурировать свои знаний по той или иной дисциплине. В данном исследовании приведен процесс разработки алгоритма работы веб-модуля для структурир...

Задать вопрос