Другие языки программирования и технологии

ООП это когда данные управляют кодом а функциональное когда код данными?

Все компьютерные программы состоят из дву
х элементов: кода и данных. Более
того, программа концептуа
л
ьно может быть организована вокруг своего кода или
своих данных. Иными словами, организация одних программ определяется тем,
"что происходит", а дру
г
их-
тем, "на что оказывается влияние''. Существуют две
методики создания программ. Перва
я из них называется моде
л
ъю, ор
иентированной.
на nрО
Ц
ессы и характеризует программу как последовательность линейных шагов
(т. е. кода). Модель, ориентированную на процессы, можно рассматривать в каче­
стве кода, во
з
де
ств
у
ющего на данные. Така
я модель довольно успешно применяется
в процедурных языках вроде С. Но, как отмеча
л
ось в главе 1, подобный подход по­
рождает ряд трудностей в связи с увеличением размеров и сложности программ.
С целью преодолеть увеличение сложности программ бьша начата разработ­
ка подхода, называемого об'
Сm1 -
р
ие
н
тиро
в
анным прог
р
амм
ирование
м
. Объектно­
ориентированное программирование позволяет организовать программу вокруг
5' Часть 1. Язык Java
ее данных (т. е. объект
о
в) и набора вполне определенных интерфейсов с этими
данными. Объ
е
ктно�риентированну
ю программу можно охаракт
е
ризовать как
даннш, упра
яющи
е доступа
м к коi
у
. Как будет показ
а
но да
л
ее, передава
я функции
управления данными, можно полу
ч
ить несколько организационны
х преимуществ.
И под занавес.
КАКОЙ СМЫСЛ ОТ ТВОЕГО ВОПРОСА?
Максим Тоцкий
Максим Тоцкий
37 945
Лучший ответ
Зайнди Висаитов в книге было так вот и решил спросить кто что об этом
Смотря что имеется ввиду.
Если выполнение кода, то как только ты пишешь if, у тебя данные начинают "управлять кодом" независимо от стиля.
Если имеется ввиду написание кода, то отчасти это правда - в ООП данные и код связаны гораздо теснее и образуют конгломераты, называемые классами.
Но книжка твоя, похоже, времен какого-то переходного периода, когда ООП только-только появился и куча НИИшных советских "программистов" его боялась как огня. Сейчас только они, превратившись в предпенсионного возраста преподов, все еще вспоминают о процедурном стиле и сладострастно сравнивают его с ООП.
Дима Кириченко
Дима Кириченко
77 039
Зайнди Висаитов шилдт НИИ ссср?
ООП - это разновидность императивного программирования в которой код собирается из логически независимых блоков: классов, объектов, модулей, компонентов. И, например, Oberon или Go обеспечивают ООП без классов и совмещения данных с кодом.

Функциональное программирование - это когда мы описываем набор математических преобразований над данными, преобразующих исходный набор данных в требуемый ответ. И программа в ФП - это, фактически, набор рекурсивных формул.
Столько понтов с этим убогим ООП, а в результате используется только для интерфейса нехитрых программулин.
К примеру ставишь среду Eclipse, окошки которой написаны на java,
и начинается полный пи$дец, тормозилово, сбои, ошибки непонятные.
То же самое и в IDE для Мускула от разработчиков. Рубленные топором окошки ^|^.
Да и в VS пока нарисуешь и накодишь приличный интерфейс, ёжа родить можно! А больше нет задач, где ООП удобно. В iostream оно тормозит с файловыми потоками, вечно разные грабли, проще по простому писать.
Нах$й такое позорное ООП? Абстакции данных любой вменяемый прогер и так напишет без всяких классов.
Не похоже.
ООП - когда код основан на объектах. А функциональное - не уверен, но возможно, когда используются функции.