Найти в Дзене
Омнибус Тьюринга

Пьер Абеляр и ООП - программирование

В 1122 г вышел труд французского богослова и философа Пьера Абеляра "Sic et non" (“да и нет”). Произведение представляет собой коллекцию противоречивых высказываний всевозможных авторитетов в науке и богословии того времени, с целью показать, что ничто нельзя принимать на веру, только логика и рациональные рассуждения могут быть основой знания. До Фрэнсиса Бэкона, поставившего во главу критического (научного) знания эксперимент - да еще и управляемый эксперимент, было еще далеко (1597, «Опыты, или наставления нравственные и политические») . Лично для меня значительный интерес представляет учение Абеляра об универсалиях, которое, как считается, решило спор между реалистами и номиналистами. Философы - реалисты считали что идеи и слова, которыми люди называют предметы и явления, имеют неоспоримое и абсолютно самостоятельное существование: разум человека не может придумать что-то такое, чего нет "на самом деле". Увидев предмет или явление, человек просто фиксирует его существование, как и

В 1122 г вышел труд французского богослова и философа Пьера Абеляра "Sic et non" (“да и нет”). Произведение представляет собой коллекцию противоречивых высказываний всевозможных авторитетов в науке и богословии того времени, с целью показать, что ничто нельзя принимать на веру, только логика и рациональные рассуждения могут быть основой знания.

До Фрэнсиса Бэкона, поставившего во главу критического (научного) знания эксперимент - да еще и управляемый эксперимент, было еще далеко (1597, «Опыты, или наставления нравственные и политические») .

Свободное изображение из открытых источников
Свободное изображение из открытых источников

Лично для меня значительный интерес представляет учение Абеляра об универсалиях, которое, как считается, решило спор между реалистами и номиналистами.

Философы - реалисты считали что идеи и слова, которыми люди называют предметы и явления, имеют неоспоримое и абсолютно самостоятельное существование: разум человека не может придумать что-то такое, чего нет "на самом деле". Увидев предмет или явление, человек просто фиксирует его существование, как и идею, связанную с этим предметом. Фактически, реализм был развитием воззрений и учения Платона об идеях. Реалисты средневековья (речь идет о 11 - 12 вв) сами не знали или мало непосредственно Платона, но знали его последователя Плотина, которого и считают основоположником реализма.

Более того, по Платону, как и Плотину, первичны именно идеи, от которых и происходят вещи. То есть, вещи - производное от идей.

Вообще, большинство ранне - средневековых философов были реалистами, но стихийными. Фактически они не знали, что они реалисты. Такие мыслители как Герберт, Фредегизиус, Эриугена, Ансельм - понимали свой реализм и четко его позиционировали.

В противоположность реалистам, номиналисты считали, что слова и названия - просто маркеры предметов, их имена, не имеющие особого глубокого смысла, и не более того. Один из наиболее известных номиналистов, бывших современниками Абеляра, был Росцелин (1050-1120 гг.), правовед из Компьена.

Что сделал Абеляр - он предложил, что универсальные, имеющие самостоятельное существования понятия все-таки существуют, но к каждому отдельному предмету они относятся только частично.

Свободное изображение из открытых источников
Свободное изображение из открытых источников

В моем понимании, эта, совершенно верная, трактовка, была, по сути, началом объектно-ориентированного программирования (ООП).
В ООП, кратко - программисты, не придирайтесь, если что (я программер с очень большим стажем, но знаю, что могу быть где-то небрежным) - мы создаем сначала
базовые (в наиболее технологичном случае - абстрактные классы C++ или интерфейсы Java) и потом начинаем их расширять, наследуясь от каких-то родительских классов.

Ну или лучше сказать так: есть классы и есть объекты этих классов. Это и есть подход Абеляра. Если мы называем "Жигуль" - "автомобилем", то это верно, но лишь отчасти, потому что "Жигуль" - действительно, автомобиль, но это не любой автомобиль, а конкретный.

В очень умном С++ наследование может быть от нескольких родителей, в Java - номинально (! снова номинализм :D) только от одного родителя, но это некоторое лукавство, потому что Java - класс может имплементить любое количество интерфейсов.

Лично я больше всего фанатею от JavaScript, как одного из самых интеллектуальных языков (то ли Python много взял от него, то ли наоборот :D), там тоже есть объекты, но понятие класса им не нужно. Что, возможно, говорит о том, что, по большому счету, в споре реалистов и номиналистов оказались правы вообще все.

___

ADS *** ADS *** ADS *** ADS
БОЛЬШОЙ опыт преподавания школьникам программирования и физики - как лично, так и на основе курсов МФТИ. Обращайтесь в личку.