Исторически так сложилось, что программирование возникло и первоначально развивалось как процедурное программирование, которое предполагает, что основой программы является алгоритм, процедура обработки данных. Программа, написанная на процедурном языке, представляет собой последовательность команд, определяющих алгоритм решения задачи. Этот вид программирования еще называют алгоритмическим.
Алгоритмы, или логику поведения программы, удобно собирать в функции, которые уже можно использовать повторно, это функциональное, или процедурное программирвание. Следующий этап развития программного кода - объектно-ориентированное программирование. Таким образом, выделим следующие парадигмы программирования:
алгоритмическое;
функциональное;
объектно-ориентированное.
В сравнении с другими парадигмами программирования, объектно-ориентированное программирование имеет ряд преимуществ, такие как возможность повторного испольозвания классов, инкапсуляция, полиморфизм, возможность построения иерархии классов. ООП-программы имеют удобную структуру файлов, что повышает читабельность кода, упрощает дальнейшую доработку и обслуживание программы.
Объектно-ориентированный подход в последнее время стал одним из наиболее интенсивно развивающихся направлений в программировании и наиболее популярным средством разработки программного обеспечения.
Считается, что начало развитию объектно-ориентированного подхода положил язык Simula, который был разработан в Норвегии в конце 60-ых гг. Несмотря на то, что язык намного опередил своё время, он не выдержал конкуренции с другими языками программирования, в частности с языком Fortan. Но достоинства языка Simula, а также преимущества объектно-ориентированного подхода, были замечены программистами того времени. Начали появлятся другие объектно-ориентированные языки: C++, Ada, Smalltalk и др. C++ возник на базе языков C и Simula.
C++ был разработан в начале 80-ых Бьерном Страуструпом, сотрудником компании AT&T. В 1998 году был принят международный стандарт языка, и C++ становится популярным языком программирования.
С 1995 года стал активно использоваться и широко распространяться еще один объектно-ориентированный язык - Java. Одновременно с этим, компанией Microsoft был разработан объенто-ориентированный язык - C#. Позже инзачально процедурный язык PHP превращается в объектно-ориентированный. Современный JavaScript тоже становится объектно-ориентированным. А один из самых популярных языков на сегодняшний день - Python, проектировался как типично объектно-ориентированный язык.
Разработка новых объектно-ориентированных языков продолжается и в настоящее время.