Формальные языки: примеры. Знаки формального языка
21 век — время, когда владение информацией является важнейшим конкурентным преимуществом в любой сфере. Однако она не принесет никакой пользы, если не выражена языком, понятным тем, кому предназначена или нет переводчика, способного донести ее смысл до адресата.
На данный момент на земле проживает около 2000 народов. Их отличительным признаком, прежде всего, является язык.
Наряду с разговорными (естественными) человечество создало множество искусственных языков. Каждый из них предназначен для решения конкретных задач.
К числу таких знаковых систем относятся формальные языки, примеры которых представлены ниже.
Определения
Прежде всего, сформулируем, что такое язык. Под этим словом принято понимать знаковую систему, которая используется для налаживания коммуникаций между людьми и познания.
Основа большинства как искусственных, так и естественных языков — алфавит.
Он представляет собой набор символов, используемых для составления слов и фраз.
Язык характеризуется:
- набором используемых знаков;
- правилами составления из них «слов», «фраз» и «текстов»;
- набором правил (синтаксических, прагматических и семантических) использования составленных конструкций.
Характеристики естественных языков
Как уже было сказано, все языки условно разделяют на искусственные и естественные. Между ними есть множество различий.
К естественным относятся разговорные языки. К числу их характеристик, наряду с прочими относятся:
- неоднозначность большинства слов;
- существование синонимов и омонимов;
- наличие нескольких названий у одного и того же предмета;
- существование исключений из практически всех правил.
Все эти характеристики являются главными отличиями естественных знаковых систем от формальных языков. Примеры неоднозначностей слов и высказываний известны всем. Так слово «эфир» в зависимости от контекста может означать, как вещество, так и радио- или телевещание.
При этом основными функциями разговорных языков являются:
- общение;
- познавательная деятельность;
- выражение эмоций;
- воздействие на собеседника (корреспондента, если речь идет о переписке).
Характеристики искусственных языков
Искусственные языки создаются людьми для специальных целей или для конкретных групп людей.
Одной из основных характеристик искусственных языков является однозначная определенность их словаря, а также правил придания им значений и образования выражений.
Формальные языки и грамматики
Язык, вне зависимости от того, является ли он естественным и искусственным, может существовать лишь при наличии набора конкретных правил. При этом должно обеспечиваться непротиворечивое, компактное и точное отображение отношений и свойств исследуемой предметной области. Если они строго сформулированы, то говорят, что это формальный язык. Примерами таких знаковых систем являются языки программирования, хотя, строго говоря, они, скорее, занимают некое промежуточное положение (см. далее).
Схема построения формальных знаковых система следующая:
- выбирается алфавит (совокупность исходных символов);
- задаются правила построения выражений (синтаксис) языка.
Сфера применения
Формальные языки (примеры: языки логики, программирования и пр.) используются в процессе научных исследований. Они лучше естественных позволяют представлять знания и являются средством более объективного и точного обмена информацией.
К формальным языкам относятся все известные системы математических и химических символов, азбука Морзе, нотная грамота и пр.
Кроме того, широко используются формальные языки программирования. Их бурное развитие началось с середины 20 века, в связи с появлением компьютерной техники.
Язык формальной логики
В основе любого языка программирования лежит математический. Он, в свою очередь, опирается на знаковую систему формальной логики.
Как наука, логика была создана Аристотелем. Он же разработал правила преобразования высказываний, которые сохраняют их истинностное значение вне зависимости от содержания входящих в эти высказывания понятий.
Формальная логика борется с “недостатками” естественных языков, связанных с неоднозначностью некоторых высказываний и пр. Для этой цели операции с мыслями заменяют действиями со знаками формального языка. Это исключает какую-либо неопределенность и позволяет точно установить истинность высказывания.
Особенности языков программирования
Как уже было сказано, их с некоторыми оговорками можно отнести к классу формальных.
С последними их объединяют многие синтаксические правила, а с естественными некоторые ключевые слова и конструкции.
Для создания языка программирования требуется определения множества допустимых символов и правильных программ языка и смысла каждой правильной программы. Если с первой задачей можно справиться средствами формализации, в случае последней эти подходы не работают.
Множество допустимых символов языков программирования — это знаки, которые можно набрать с клавиатуры. Они представляют собой первую часть таблицы кодировки ASCII.
Грамматики
Языки программирования, как и любые другие, имеют грамматику. Под этим термином понимают описание способа составления предложений. Грамматики описываются различными способами. В случае языков программирования они представляют собой правила, которые задаются упорядоченными парами цепочек символов двух типов: определяющих синтаксические конструкции и семантические ограничения. Задавая грамматики, сначала формально излагают правила построения синтаксических конструкций, а затем — задают семантические на одном из естественных языков.
Запись правил в графическом виде осуществляется посредством специальных диаграмм. Изначально такой подход был применен при создании языка Pascal. Однако затем он стал широко применяться и в других.
Классификация языков программирования
На данный момент их, вместе с “диалектами” насчитывается несколько тысяч. Их классифицируют, как процедурные и декларативные. В языках первого типа преобразование данных задают посредством описания последовательности действий, производимых над ними, второго — отношений. Существуют и другие классификации. Например, языки программирования разделяют на функциональные, процедурные, объектно-ориентированные и логические. Если подходить к вопросу строго, то никакая классификация не может быть объективной. Ведь значительная часть языков программирования обладает возможностями формальных систем сразу нескольких типов. Со временем грани, скорее всего, будут стираться еще больше.
Теперь вы сможете ответить на вопрос: “Какие формальные языки вам известны?”. Ученые продолжают совершенствовать их, с целью сделать возможными решение различных практических и теоретических задач, которые на данный момент считаются неразрешимыми.