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