Интерпретаторы и компиляторы

Эволюция языков программирования

План лекции

 

1. Эволюция языков программирования

2. Интерпретаторы и компиляторы

3. Процедурное и объектно-ориентированное программирование

4. Характеристики языка С++

5. Скрытие данных, наследование и полиморфизм

6. Компиляторы С++и текстовые редакторы

7. Основные шаги подготовки приложения на С++

8. Схема цикла разработки приложения на С++

9. Ошибки

10. Интегрированная среда разработки


Компьютерные языки прошли огромный эволюционный путь . Сначала программисты пользовались машинным языком и команды программы для компьютера представляли собой длинные строки, состоящие из 0 и 1. Затем появились ассемблерные языки, позволяющие придать машинным инструкциям мнемонический вид, более понятный и осмысленный для человека. Со временем стали развиваться языки высокого уровня, такие как FORTRAN, BASIC , COBOL, ALGOL, PL/1, PASCAL, C и т.д.


Инструкции программы, написанной на языке высокого уровня переводятся в язык машинных команд с помощью интерпретаторов или компиляторов. Интерпретатор (interpretator) переводит и выполняет инструкции программы по мере чтения ее команд. Компилятор (compiler) преобразует код в промежуточную форму и результатом компиляции является объектный файл (*.obj), который затем обрабатывается редактором связей (компоновщик, linker) и создается исполняемая программа (приложение, application, *.exe). Использование компиляторов дает следующие преимущества:

§ более высокую скорость выполнения приложения;

§ возможность распространения приложения без компилятора.

 

3. Процедурное и объектно-ориентированное программирование

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

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

4. Характеристики языка С++


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