Реферат: Объектно-Ориентированное программирование
I. Развитие языков программирования
Определения:
ANSI – American National Standards Institute - Национальный Институт Стандартизации США
ISO - International Organization for Standardization - Международная организация по стандартизации
Цель развития языков программирования - более рациональная разработка ПП.
Схема развития:
Коды процессора а assembler а языки высокого уровня (ЯВУ)
Сначала из истории:
При разработке процессоров(П)/микропроцессоров – для каждого П разрабатывается набор команд, полный набор насчитывает ~150 команд: арифметика, логика, работа с памятью, ввод и вывод.
Команда для процессора – это цифровой код команды и операнд (операнды):
ячейки памяти, регистры, порты ввода/вывода...
Коды процессора – набор в цифровом коде команд процессора и их параметров, например, команды: занесение значения на регистр, вывод с регистра по адресу памяти, сложение, чтение байта из порта ввода, запись байта в порт вывода …
Именно коды процессора содержит исполняемый файл программы файл (*.exe )
Разработка программ в кодах была характерна для самых первых ВМ – это очень неудобно для человека-программиста.
Assembler – низкоуровневый язык программирования, разработанный для конкретного процессора.
Assembler использует мнемоническое обозначение кодов команд процессора и переменных памяти, что облегчает процесс программирования по сравнению с кодированием:
JUMP - переход, ADD - сложение, IN - ввод, OUT – вывод, и т.д. для всех команд процессора.
Assembler позволяет использовать весь набор команд процессора и напрямую работать с регистрами.
Используется там, где необходима высокая эффективность: ядро ОС, драйверы, программы, работающие в реальном времени.
Недостатки – высокая трудоемкость разработки, привязка программы к конкретному типу процессора.
Языки высокого уровня – FORTRAN, ALGOL, COBOL, PL/I, ADA, Prolog, PASCAL, C, C++, Perl, JavaScript, ASP, PHP, Java, С#, SQL…
ЯВУ не зависят от архитектуры компьютера, ориентированы на эффективную разработку ПП, обеспечивают быструю разработку и надежность ПО.
ЯВУ выполняются на любом компьютере, для которого реализован компилятор данного языка программирования.
Среди ЯВУ есть специализация: научные расчеты (FORTRAN), для обучения (ранний Basic, Pascal), экономические рачеты (COBOL), работа с БД (dBase, FoxPRO, SQL) ,
целое семейство сравнительно молодых языков для Internet (JavaScript, ASP, PHP),
языки системного программирования (ранний С, assembler’ы).
Некоторые языки считаются универсальными (поздний Pascal (Delphi), C/C++)
II. Развитие технологий разработки программ
Схема:
Низкоуровневое программирование (коды, Assembler’s) а
аПроцедурное/Cтруктурное программирование (Algol, Pascal, C) а
аООП (C++,Object PASCAL, Java, C#…) а
а…(что дальше?)
Вспоминаем, как обстояло дело с разработкой программ в 60-е – 70-е годы,
технологическая ступенька называлась:
Процедурное программирование
Основная идея – выделение части кода в отдельную процедуру (подпрограмму, функцию) (SUBROUTINE в FORTRAN, PROCEDURE и FUNCTION в PASCAL).
Будем считать для нашего курса понятия процедура, подпрограмма и функция синонимами – так в Си есть только функция.
Функция обозначается именем, при вызове ей передается список параметров (возможно, пустой), после выполнения она возвращает управление в точку вызова и, возможно, возвращает результаты работы (вычисленные значения, код завершения).
Пример:
real sin(real x){
// здесь реализация
}
--> ЧИТАТЬ ПОЛНОСТЬЮ <--