Введение в объектно-ориентированный дизайн с Java - стр. 9
В 1980-х годах Грэди Буч опубликовал документ под названием «Объектно-ориентированный дизайн», в котором в основном был представлен дизайн для языка программирования Ada. В последующих изданиях он расширил свои идеи до полного объектно-ориентированного метода проектирования.
В 1990-х годах Coad включил поведенческие идеи в объектно-ориентированные методы.
Другими значительными нововведениями были методы моделирования объектов Object Modelling Techniques (OMT) Джеймса Рамбо и объектно-ориентированная программная инженерия Object-Oriented Software Engineering (OOSE) Ивара Джекобсона.
С появлением первых компьютеров появились языки программирования низкого уровня.
Языки программирования, ориентированные на конкретный тип процессора, и, операторы которых были близки к машинному коду.
Дальнейшая эволюция языков программирования привела к появлению языков высокого уровня, что позволило отвлечься от системы команд конкретного типа процессора.
При этом происходило смещение от программирования деталей к программированию компонентов, развитие инструментов программирования и возрастание сложности программных систем.
Также развивался подход или стиль написания программ.
В начале использовалось процеду́рное программи́рование, при котором последовательно выполняемые операторы собирались в подпрограммы.
При этом данные и процедуры для их обработки формально не были связаны.
Как следствие возрастания сложности программного обеспечения появилось структу́рное программи́рование – методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков.
И наконец появилось объектно-ориентированное программирование – методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Событи́йно-ориенти́рованное программи́рование – парадигма программирования, в которой выполнение программы определяется событиями – действиями пользователя, сообщениями других программ и потоков, и событиями операционной системы.
Компонентно-ориентированное программирование – парадигма программирования, опирающаяся на понятие компонента – независимого модуля исходного кода программы, предназначенного для повторного использования и развёртывания, и реализующегося в виде множества языковых конструкций.
В 1960-х годах двумя наиболее популярными языками программирования были COBOL и Fortran.
Эти языки следовали императивной парадигме, которая разбивала большие программы на более мелкие программы, называемые подпрограммами, которые похожи на методы в Java.