Уровни языков программирования.



Тема 3. Языки программирования

Язык программирования

 

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

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

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

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

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

В реальных системах программирования перемешаны технологии и компиляции, и интерпретации.

Поколения языков программирования.

Языки программирования принято делить на 5 поколений.

В первое поколение входят, языки, созданные в начале 50-х годов. Это был первый язык ассемблер.

 К языкам программирования второго поколения (конец 50-х - начало 60-х годов) относится символический ассемблер, в котором появилось понятие переменной, и он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.

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

С начала 70-х годов по настоящее время продолжается период языков четвертого поколения. Эти языки предназначены для реализации крупных проектов, повышения их надежности и скорости создания.

Рождение языков пятого поколения произошло в середине 90-х годов. К ним относятся системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования.

Уровни языков программирования.

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

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

Языки программирования высокого уровня. Fortran - первый компилируемый язык, созданный Дж. Бэкусом в 50-е годы. В Фортране впервые был реализован ряд важнейших понятий программирования. Для языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутников. Фортран продолжает активно использоваться во многих организациях.

Cobol - язык для применения в экономической области и решения бизнес-задач, разработанный в начале 60-х годов. Он отличается большой «многословностью». В Коболе реализованы очень мощные средства для работы с большими объемами данных. На этом языке создано очень много приложений, которые активно эксплуатируются и сегодня.

Algol - компилируемый язык, созданный в 1960 году. Из-за сложной структуры не получил достаточного распространения. Версия Алгол 68 по своим возможностям и сегодня опережает многие языки программирования, однако из-за отсутствия достаточно эффективных компьютеров для нее удалось своевременно создать хорошие компиляторы.

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

Basic - создавался в 60-х годах в качестве учебного и очень прост в изучении.

C(Си) - был создан в лаборатории Bell. Очень похож на Паскаль и имеет дополнительные средства для прямой работы с памятью. На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (Unix).

C++ - объектно-ориентированное расширение языка Си, созданное Б.Страуструпом в 1980 году.

Java - главная особенность этого языка, созданного компанией Sun в начале 90-х годов, компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт). Особое внимание в развитие этого языка уделяется поддержке всевозможных мобильных устройств, встраиваемых в бытовую технику и созданию в платформно-независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами. Ява сегодня по полярности занимает второе место после Бейсика. Пока основной недостаток этого языка - невысокое быстродействие.

Языки программирования баз данных. Для работы с базами данных был создан структурированный язык запросов SQL. Он основан на мощной математической теории и позволяет выполнять эффективную обработку баз данных, манипулирую группами записей. Для управления большими базами данных и их эффективной обработки разработаны СУБД. Практически в каждой СУБД помимо поддержки языка SQL имеется также свой уникальный язык. В Oracle имеется встроенный язык PL/SQL, в Informix - INFORMIX 4GL, в Adabas - Natural. Родоначальником современных языков программирования баз данных для ПК принято считать СУБД dBase II, для которого были созданы компиляторы. Появились СУБД FoxPro и Clipper, поддерживающие диалекты этого языка.

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

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

Perl - средство обработки больших текстовых файлов, генерации текстовых отчетов и управления задачами. Разработан в 80-х годах Л.Уоллом.

Tcl/ Tk - создан в конце 80-х годов Дж.Аустираутом. Ориентирован на автоматизацию рутинных процессов и состоит из мощных команд, предназначенных для работы с абстрактными нетипизированными объектами. Он независим от типа системы и при этом позволяет создавать программы с графическим интерфейсом.  

VRML - создан в 1994 году для организации виртуальных трехмерных интерфейсов в Интернете.

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


Дата добавления: 2021-06-02; просмотров: 67; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!