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



Первый текстовый язык программирования Short Code был создан в конце 40-х годов Джоном Моучли. В 1951 году Грейс Хоппер создала первую в мире систему программирования с компилятором и редактором связи для этого языка, и ею был введен термин компилятор. Обычно языки делят на языки:

§ низкого уровня

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

Инструкции (операторы) такого языка в текстовой форме обозначают машинные команды, причем ориентированы на конкретные программы процессора.

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

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

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

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

§ высокого уровня

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

 

Принципы программирования.

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

§ алгоритмический

Основная идея алгоритмического программирования – составление текста программы из частей (блоков), каждая из которых представляет собой элемент алгоритмической структуры. Единственное требование к каждому блоку – его выполнение всегда начинается с первой операции (оператора) и всегда заканчивается самой последней операцией (оператором). Нельзя попасть в блок извне в обход первого оператора и выйти из блока в обход последнего оператора. Алгоритм описывается на языке программирования оператора с помощью оператора описания используемых данных, вычисления значений и управления последовательностью выполнения операторов с помощью оператора цикла и ветвления. В настоящее время алгоритмический принцип используется в качестве базового во всех языках программирования.

§ структурный (модульный)

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

- программа

В программе описывается кроме необходимых действий последовательность выполнения каких-либо других процедур (подпрограмм, функций). Такая программа должна быть одна.

- подпрограмма

- функция

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

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

§ событийно-ориентированный

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

- пользовательские, возникающие в результате действий пользователя (например, щелчок по элементу в программном окне)

- системные, возникающие в ОС (например, сообщение от таймера)

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

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

§ объектно-ориентированный

В таком языке главным является понятия класс и объект, а не понятия данные и процедура как в структурном программировании. Объект в таком языке – это программная структура, объединяющая в себе:

- совокупность свойств, т.е. данных которые можно изменять (они характеризуют объект)

- совокупность методов, представляющих собой процедуры (подпрограммы, функции) изменения свойств объекта

- совокупность событий, на которые данный объект может реагировать с помощью своих внутренних процедур

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

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

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

· полиморфизм - свойство переопределения методов. При создании нового класса какие-то методы класса предшественника изменяются. Названия таких методов не меняются, изменяются лишь результаты их действий.

 

Примерами объектно-ориентированных языков программирования являются: C++, Delphi, Visual Basic, Java.


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

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






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