![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Перед этим приводишь ссылку на вики... ТЫ это.. читать не пробовал, что по ссылке? ![]() Как там принято в таких случаях? Во, нашёл - ![]() |
|||
|
||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
в ООП нет методов, опомнись ![]() методы, это такая штука, которую придумали для того, что-бы всякие so-called programmers, привыкшие мыслить категориями процедурного программирования, не заблудились в мире чистого ООП ![]() впрочем, классы придумали для того-же)
В функциональном программировании у тебя бы была операция, которая бы являлась объектом сама по себе, и возможно была-бы полиморфной, и применяя ее к входным параметрам ты бы получал не значение, а другую ф-ю, но только без параметров ))
давай будем называть вещи своими именами, есть ФП, а есть процедурное программирование ту тему не читал, так как не располагаю бесконечным количеством свободного вермени... |
||||
|
|||||
atomicxp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 2.5.2009 Где: Удмуртия, Ижевск Репутация: нет Всего: 1 |
В том то и дело, что я хочу называть вещи своими именами, иначе хавал бы что дают и радовался. Размытые абстракции меня не устраивают, когда одна немножечко A и B, а другая немножечко B и C. А написано буквально следующее, си подобные языки (значит и C++) ведут себя как процедурные, но с указателем на функцию получается уже функциональные, а если ещё учесть механизмы абстракций, то C++ ещё и объектно-ориентированный, но это не всё, он так же позволяет работать в обобщённом стиле подставляя типы. Prolog обозвали функционально-логическим, то есть девушка немножко беременна. Кто как хочет, но лично я не хочу жить в мире размытых абстракций, когда закон как дышло, как повернул так и вышло. Добавлено через 1 минуту и 49 секунд Что-то новенькое, в C++ классе есть элементы - поля и методы. |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
ну и что? ![]() |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Ну Вам уже выше говорилось, что Cpp только издали напоминает чистое ООП, а Вы все туда же ![]()
А вы считайте что в C++ нет функций, только процедуры. И называются они именно функциями по той случайности, что на тот момент было принято условное деление, что подпрограмма возвращающая результат называется функцией, а не возвращающая процедурой.
А вот то что человек может быть одновременно (к примеру) : и внук, и дед, и сын, и отец, и муж, и брат, и друг, и работник и т.д. Вас не смущает ? Ну так тогда может начать действовать. Для начала определить термины, от которых можно было б отталкиваться, а то пока кроме наведения мрака и выкрика несколько неясно-абстрактных фраз, которые вполне можно отнести ко флуда, ничего в теме нет. Но я все ж надеюсь, что это была разминка, и Вы в конце сможете объяснить свои взгляды, и показать нам наши ошибки и заблуждения. Как говорится, назвался груздем, полезай в кузов. Мы в Вас верим, не обманите наши надежды ![]() Это сообщение отредактировал(а) mes - 3.5.2009, 23:03 |
||||
|
|||||
atomicxp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 2.5.2009 Где: Удмуртия, Ижевск Репутация: нет Всего: 1 |
1. процедурное - данные как аргументы 2. функциональное - функции как аргументы 3. обобщённое - типы как аргументы 4. объектно-ориентированное - создание типов Если кому не нравятся мои определения, поправляйте. Первые три грубо для себя обзываю пробросом, они меня мало волнуют поскольку в них нет ничего особенного. Причём первое и второе изложены до десятой главы книги "Язык программирования C++", то есть не относятся к механизмам абстракций о которых идёт речь. Четвёртое является способом группировки и использования сущностей. Оно не отменяет первое, второе и третье, наоборот переводит на новый уровень. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Позволил себе написать свою трактовку, и заодно изменить порядок.
1. процедурное - вид структурного программирования, при котором выделяются подпрограммы, выраженные как действие над данным. 2. функциональное - ..., выраженные, как действие над действием. 3 . объектно-ориентированное - ..., выраженные как законченный объект. 4. обобщенное - описание общих действий для сущностей разных типов. При этом
![]() |
|||
|
||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
atomicxp, не понимаю, чего ты добиваешься.
ОООП - твоя маленькая выдумка скрестить ужа с ежом (как раньше никто до этого не додумался?). может, выдумка неплохая, но её надо формально определить. это будет не как два паль так просто, т.к. определения обобщенного и ОО программирования не очень просты и создавались множеством неглупых людей годами, и до сих пор не закончены. Итак, чего? Абстракция ради абстракции? Бессмысленно. Борешься за чистоту ООП? Возьми чистый ООП язык. С++ тоньше и сложнее. Но судя по примерам достигать целей ты намерен используя всю мощь С++. Видимо для того, что бы пользователь ограничился одной парадигмой. ![]() Базар (именно так, простите) о терминологии показался смешным: есть общепринятые разумные определения. Почему бы не пользоваться ими? Некоторые, возможно, стоит сначала изучить. Тогда не будет казусов с ФП из-за того, что Страуструп написал "functional" (он то это сделал лишь потому, что в С и С++ "functions"). Если нужны новые термины - вводите, определяйте, но не путайте с тем что уже есть. Я не вижу никаких преимуществ class IAddition. Я не вижу преимуществ делать синус и косинус объектами. Тяга к прекрасному? Возможно, и то только потому, что о вкусах не спорят. Кстати заметь: и арифметические операции, и синусы с косинусами таки являются объектами, только в метамодели, т.е. это экземпляры предопределенных (компилятором, языком, Создателем) классов. Пожалуйста, можешь мыслить так, и ничего писать не придется. В общем по-моему ты пытаешься мыслить сложно для того, что бы мыслить просто. Еще одно. Инженерные решения (а это именно то, созданием чего мы все занимаемся) это компромиссные решения. Сложная инженерия как правило использует синтез методов, это эффективно. Именно поддержкой ряда мощных методов (парадигм) и силен С++. Зачем же от этого отказываться? Возьмем пресловутый boost: поглядите хотя бы на Spirit, это отличный пример удачного сочетания различных парадигм. И ООП там, что бы ты не говорил, используется, и используется грамотно - в нужных местах, в нужном объеме, в полном соответствии с принципами ООП. ЗЫ: меня лично трясет, когда я вижу
Ну какой тут к черту класс! Но зато ООП: инкапсуляция, да. ЗЗЫ: был один политический деятель, ему в америке достижения выращивания кормов показали, так мы потом кукурузу на завтрак обед и ужин |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |