Понятие о языках программирования. Классификация языков программирования.

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

Определение.Языком программирования называется формальный язык, предназначенный для описания алгоритмов решения задач на ЭВМ. Набор правил построения конструкций языка называетсясинтаксисом языка программирования, а совокупность значений (смысл) всех конструкций языка, определяющих состав реализуемых в языке вычислительных процедур, — семантикой языка программирования.

Языки программирования можно разделить на два больших класса: высокого и низкого уровня [23]). Здесь уровень языка характеризуется сложностью задач, решаемых с помощью этого языка.

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

§ Языки программирования высокого уровня значительно ближе и понятнее человеку. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому программы, составленные на таких языках, могут использоваться на разных типах компьютеров. Разрабатывать такие программы значительно проще, а ошибок при создании программ допускается меньше. Для преобразования этих программ в машинные коды существуют специальные программы – трансляторы, а перевод выполняет сам компьютер. К языкам высокого уровня относятся такие широко распространенные языки программирования, как С (Си), С++, Паскаль, Бейсик, HTML и другие.

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

§ Для создания компьютерных программ используются Алгоритмические языки программирования. Алгоритмический (процедурный) язык программирования — это язык программирования, предназначенный для записи алгоритмов, исполняемых на ЭВМ. Однако не всякий язык программирования является алгоритмическим. К ним относятся С (Си), С++, Паскаль, Бейсик, Java (Джава, Ява), Fortran (Фортран), Cobol (Кобол) и многие другие.

§ Языки программирования баз данных отличаются от алгоритмических языков, прежде всего решаемыми задачами: они используются для управления базами данных. Базы данных используются для хранения больших массивов информации. Для их обработки и выборки групп записей по определенным признакам были созданы структурированный язык запросов SQL и другие. Для работы с базами данных разработаны системы управления базами данных (СУБД), в которых помимо поддержки, например, языка SQL обычно имеется свой уникальный язык, ориентированный на особенности этой СУБД.

§ Языки программирования для Интернета называют скрипт-языками. Они предназначены для работы с текстовыми и мультимедийными документами. Перевод с них осуществляется интерпретаторами. К ним относятся широко распространенный язык гипертекстовой разметки HTML, а так же VRML и другие.

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

Средства создания программ.

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

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

· Компиляторы (часто называемые трансляторами) полностью обрабатывают весь текст программы: выполняют смысловой анализ, поиск синтаксических ошибок, а затем автоматический перевод (трансляцию) на машинный язык. При этом получается объектный код, который, кроме машинного кода, содержит некоторую дополнительную информацию для отладки программы и компоновки (объединения) с другими модулями.

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

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

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

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

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

Определение.Системой программирования называется совокупность языковых и программных средств, предназначенных для написания, тестирования и отладки программ для ЭВМ. Благодаря ей существенно облегчается и ускоряется работа программиста.

Наши рекомендации