Забытая история ООП

Прочитал очень интересную статью Эрика Эллиота "The Forgotten History of OOP". В ней очень детально разбирается история появления ООП и то как оно трансформировалось с течением времени.

Всё началось с биолога и математика Алана Кея, который был вдохновлён идеей создать вычислительные части одной системы "клетками". Его идея воплотилась в одном из первых ООП языке - Smalltalk'е. На него большое влияние оказали Lisp и Simula. Наследование в него было добавлено позже уже другим человеком. Алан считает, что наследование послужило той причиной по которой его основные идеи, которые он вложил в понятие ООП, не получили большего внимания. Основными ингредиентами ООП по его мнению являются передача сообщений, инкапсуляция и динамическое связывание. То есть по большей части совсем не то, что подразумевают большинство современных программистов, когда слышат это понятие (инкапслуяция, наследование, полиморфизм).

Эрик предлагает вернуться к изначальным идеям Алана Кея и начать разрабатывать системы в парадигме MOP (термин предложен Эриком как сокращение от Message Oriented Programming). При проектировании таких систем компоненты не должны знать о внутреннем состоянии других компонентов, всё взаимодействие между ними должно быть построено на передаче сообщений, при этом они могут работать распределённо.

После прочтения статьи меня не оставляет ощущение, что эти идеи очень сильно перекликаются с микросервисной архитектурой.

https://medium.com/javascript-scene/the-forgotten-history-of-oop-88d71b9b2d9f

← На главную