TGViewer
Defront — про фронтенд-разработку и не только Defront — про фронтенд-разработку и не только @defront · 5.03K subscribers
Post #30 470
Прочитал очень интересную статью Эрика Эллиота "The Forgotten History of OOP". В ней очень детально разбирается история появления ООП и то как оно трансформировалось с течением времени.

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

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

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

#oop #history #musings

https://medium.com/javascript-scene/the-forgotten-history-of-oop-88d71b9b2d9f
Medium The Forgotten History of OOP Most of the programming paradigms we use today were first explored mathematically in the 1930s with lambda calculus and the Turing machine…
More from @defront
  1. Jan 7, 2024Channel name was changed to «Defront — про фронтенд-разработку и не только»
  2. Feb 24, 2022Про войну в Украине Шлю лучи поддержки братьям и сёстрам украинцам. В моём окружении нет н…
  3. Feb 23, 2022Qwik — возобновляемый JavaScript-фреймворк Райан Карниато поделился своими мыслями после р…
  4. Feb 22, 2022Обработка ошибок с помощью reportError Стэфан Джудис рассказал про малоизвестный метод для…
  5. Feb 21, 2022Выбор библиотеки по её размеру Владимир Клепов рассказал про подводные камни выбора библио…
  6. Feb 10, 2022Time-travel debugging в Svelte Сэм Ван Тассел рассказал про DeLorian — новый инструмент дл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →