Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Результаты опроса: используете ли вы ооп
да 238 86.55%
нет 37 13.45%
Голосовавшие: 275. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.76/461: Рейтинг темы: голосов - 461, средняя оценка - 4.76
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386

Стоит ли использовать ООП?

09.02.2010, 13:44. Показов 103101. Ответов 793
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Возник такой вопрос: стоит ли использовать ооп. Даже не так, когда использовать ооп?
Иногда (даже чаще всего) легче написать простые функции, а не мутить с классами обектами и методами.
Раздражает инкапсуляция - какой вообще ее смысл? Чтобы получить переменную класса по правилам ооп нужно создавать метод для ее чтения? когда такой подход оправдан - ведь затрачивается куча лишнего времени.
5
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2010, 13:44
Ответы с готовыми решениями:

Стоит ли использовать ООП -- часть вторая
У людей задающих подобные вопросы не все в порядке с пониманием ООП. Например, в параллельной теме человек интересуется: На самом...

Какие РЕАЛЬНО есть причины НЕ использовать ООП?
Появился такой вопрос. Все мы знаем о шумихе вокруг ООП, спорной идее наследования, других невнятных идей которых можно добиться...

Где стоит использовать bootstrap и стоит ли вообще использовать CSS фреймворки?
Здравствуйте. Лично я ужасаюсь ковырять стили, когда к сайту подключен bootstrap и мало понимаю, чем он хорош вообще. В данной теме я бы...

793
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.08.2017, 15:06
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от strategyquest Посмотреть сообщение
Автомат -- это понятие из математики
Математика без прикладной ее части это релятивисткий конь в сферическом ваккууме.
Цитата Сообщение от strategyquest Посмотреть сообщение
Возможно Вы путаете с автоматом выдачи газировки, если что -- я не про него
А вот автомат по выдаче газировки это и есть приложение которое дает этой абстракции смысл.
Цитата Сообщение от strategyquest Посмотреть сообщение
Это Вы уже про какую то изобретенную лично Вами систему автоматов, мне тут нечего возразить
Классическая теория рассматривает только принципы простейших автоматов, но абсолютно никак не рассматривает взаимодействие различных автоматов между собой. Ну тут нет ничего удивительного. Теория ориентирована на железячную реализацию автоматов и появилась до появления вычислительных средств , которые во всю пользуют виртуальные автоматы.

Добавлено через 3 минуты
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Я просто осуществил бы головной автомат, который будет реализовывать логику выбора между алфавитами, обработка которых была бы реализована путём соответствующих автоматов.
Это во первых тормознутый во вторых сложный способ который при добавлении еще одного алфавита требует изменения автомата A и увеличения количества его состояний. т.е. у вас в резульате получится A*B*C*D*E.... состояний. В ООП подходе будет A+B+C+D+E... состояний. причем добавление очередного алфавита абсолютно не затронет остальные.
0
Заблокирован
12.08.2017, 15:08
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
но абсолютно никак не рассматривает взаимодействие различных автоматов между собой
вот именно. А Вы переизобретаете ООП и Модель Акторов, к автоматам ваша модель никакого отношения не имеет
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
12.08.2017, 15:14
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Классическая теория рассматривает только принципы простейших автоматов, но абсолютно никак не рассматривает взаимодействие различных автоматов между собой. Ну тут нет ничего удивительного. Теория ориентирована на железячную реализацию автоматов и появилась до появления вычислительных средств , которые во всю пользуют виртуальные автоматы.
Вы ошибаетесь.
Ю.Г. Карпов Теория автоматов. Брауэр В. Введение в теорию конечных автоматов. Поликарпова Н.Н. Шалыто А.А. Автоматное программирование.
Хочу обратить внимание на библиографию в конце книг. Тут вам и взаимодействия автоматов и...(перечислять долго).
Как видим, под автоматы подведена строгая математическая база.
Вопрос: где математическая база подведённая под ООП? Вот он - сферрический конь в вакууме..
«В каждой естественной науке заключено столько истины, сколько в ней математики» И. Кант.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.08.2017, 15:23
Цитата Сообщение от CoderHuligan Посмотреть сообщение
где математическая база подведённая под ООП? Вот он - сферрический конь в вакууме.
Там же где и математическая база подведенная под ФП и процедурное программирование. ООП это методология проектирования а не какой то отдельный способ вычислений.
0
Заблокирован
12.08.2017, 15:34
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Вопрос: где математическая база подведённая под ООП?
см Модель Акторов и CSP

Добавлено через 36 секунд
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Там же где и математическая база подведенная под ФП
лямбда-исчисление
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.08.2017, 15:36
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Вы ошибаетесь.
Во во. Именно в первейших же диаграммах этих книг четко просматривается что "такт" - т.е. переход из одного состояния в другое будет занимать разное время для разных пар состояний исходного и конечного как реальное так и в тактах вычислительного устройства. Но почему то никто на это никакого внимания не обращает.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
«В каждой естественной науке заключено столько истины, сколько в ней математики» И. Кант.
При этом эти истины истинны только в рамках этой математической системе.
Исходя из этих слов философа Канта философия всегда была лженаукой.

"В любой замкнутой системе справедливо бесконечное количество теорем которые невозможно ни доказать ни опровергнуть" Б.Неш
0
Заблокирован
12.08.2017, 15:41
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Исходя из этих слов философа Канта философия всегда была лженаукой.
Скорей всего, слова Канта были поняты или переведены превратно. Он как раз широко известен своей критикой чистого разума, к которому, как известно, математика тяготеет. Он был классиком немецкого идеализма
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.08.2017, 15:55
Цитата Сообщение от strategyquest Посмотреть сообщение
лямбда-исчисление
Цитата Сообщение от strategyquest Посмотреть сообщение
см Модель Акторов и CSP
что там что там достаточно полноты по Тюрингу.
0
Заблокирован
12.08.2017, 15:56
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
что там что там достаточно полноты по Тюрингу.
Модель Акторов и CSP превосходят модель Тьюринга(Поста)
LC -- эквивалентно(отсюда тезис Черча-Тьюринга)
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.08.2017, 16:02
Цитата Сообщение от strategyquest Посмотреть сообщение
Модель Акторов и CSP превосходят модель Тьюринга(Поста)
LC -- эквивалентно(отсюда тезис Черча-Тьюринга)
Имеется в виду доказательство вычислимости.
0
Заблокирован
12.08.2017, 16:07
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Имеется в виду доказательство вычислимости.
обычно под тьюринг-полнотой подразумевается вычислительная мощность. Под этим понимается то, что любая ф-ция, вычислимая на одной машине, должна быть вычислима и на другой
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.08.2017, 16:15
Цитата Сообщение от strategyquest Посмотреть сообщение
обычно под тьюринг-полнотой подразумевается вычислительная мощность. Под этим понимается то, что любая ф-ция, вычислимая на одной машине, должна быть вычислима и на другой
насколько помню под полнотой по Тюрингу подразумевается именно возможность производить любые вычисления. Исходя из того что вычислимой будет любая комбинация вычислимых функций, то для полноты по Тюрингу достаточно иметь вычитание(оно же сравнение и при некотором финте ушами сложение) и условный переход. Т.е. фактически доказательство вычислимости требуется для вычислительного устройства а не для какой либо парадигмы.
0
Заблокирован
12.08.2017, 16:21
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
возможность производить любые вычисления.
Не любые, а вычислимые на машине тьюринга(Поста)
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Т.е. фактически доказательство вычислимости требуется для вычислительного устройства а не для какой либо парадигмы.
Для математической модели
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.08.2017, 16:38
Цитата Сообщение от strategyquest Посмотреть сообщение
Для математической модели
любая мат.модель требует 4 арифметических операции сравнение и условный переход. Из этих 4 операций 2 разлаживаются на последовательные сложения и вычитание. сравнение и сложение тоже реализуемо через вычитание.
Тут стоит обратить внимание на то, что ни Тюринг ни Черч не занимались созданием универсального вычислителя. Они создавали специализированные вычислители для определенных мат моделей. Поэтому и требовалось доказательство вычислимости каждого из вычислителей спроектированного под каждую мат модель.
Цитата Сообщение от strategyquest Посмотреть сообщение
Не любые, а вычислимые на машине тьюринга(Поста)
SQL запросы к примеру тоже на машине Тюринга вычислимы. Но полнотой по Тюрингу не обладают. То же к примеру касается препроцессора С.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
12.08.2017, 16:43
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
ООП это методология проектирования а не какой то отдельный способ вычислений.
Любая методология должна основываться на математическом анализе. Автоматы не " какой то отдельный способ вычислений", а именно метод решения поставленной задачи, который можно масштабировать применительно к любой её размерности.
0
Заблокирован
12.08.2017, 16:48
Fulcrum_013, вы меня не поняли. В общем, я все по теме сказал, за подробностями Вы можете обратится к соответствующей литературе

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
что ни Тюринг ни Черч не занимались созданием универсального вычислителя.
Именно этим они и занимались, только не вычислителя, а его модели. Это нужно было для уточнения понятия вычислимости

PS тут еще стоит уточнить, что Тьюринг не создал эту модель, а заимствовал у Эмиля Поста
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.08.2017, 18:25
Цитата Сообщение от strategyquest Посмотреть сообщение
Именно этим они и занимались, только не вычислителя, а его модели.
Они занимались созданием дешифровальных аппаратов для шифровок зашифрованных определенными электромеханическими шифровальными машин, но никак не созданием универсального вычислителя. То что потом эти наработки частично пригодились для универсального вычислителя это абсолютно естественно. С одной стороны. С другой не стоит тянуть весь бред из тупиковой ветви специализированных вычислений в универсальные вычисления. Их вычислители не были полными по Тюрингу, а соответственно требовали доказательства что мат.модель не имеет циклов с количеством итераций большим чем реально развернуть в доступной им технологии производства железа. На универсальном вычислителе такой необходимости нет.

Добавлено через 1 минуту
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Любая методология должна основываться на математическом анализе.
Не на математическом анализе а на системном анализе. Матан насколько помню занимается нахождением экстремумов математических функций . Именно на системном анализе ООП и основывается. На минимизации количества состояний автоматов и количества связей между субавтоматами, в отличии от лапши процедурщины и бреда ФП.

Добавлено через 1 час 14 минут
Цитата Сообщение от strategyquest Посмотреть сообщение
Он как раз широко известен своей критикой чистого разума, к которому, как известно, математика тяготеет
"Прикладная математика" все таки существует, и даже специалисты в этой области имеются, в отличии от "прикладной философии" которой не существует по определению
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
13.08.2017, 11:46
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
в отличии от лапши процедурщины и бреда ФП.
А как насчёт ООП-лапши? Такой не существует разве? Там такая лапша, что без помощи самой среды разработки не разберёшся. То есть человеческих сил уже не хватает на, например, рефакторинг, и приходится задействоваать помощь вычислительной системы...
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.08.2017, 13:29
Цитата Сообщение от CoderHuligan Посмотреть сообщение
и приходится задействоваать помощь вычислительной системы...
Вот мне например лень кота копипастить. Поэтому использую шаблоны. В результате для копипастинга кота пользуется мощь вычислительной системы. Чего в этом плохого?
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А как насчёт ООП-лапши? Такой не существует разве?
Говнокод можно серить с использованием любой парадигмы, c этим никто не спорит. А вот качественно и толково спроектировать большю систему с ООП гораздо проще чем без него.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
13.08.2017, 13:46
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Чего в этом плохого?
Просто это показатель сложности(запутанности) кода. Как с kiss-принципом? Забыли. Ну тогда весь ваш кот пойдёт в мусорку, ибо никто с ним разбираться не станет. Одноразовая хлопушка. Живём одним настоящим..
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Говнокод можно серить с использованием любой парадигмы, c этим никто не спорит. А вот качественно и толково спроектировать большю систему с ООП гораздо проще чем без него.
Повторю: ООП позволяет создавать супер-большие программы, но они получаются супер-глупыми и супер-глючными, ибо ООП по определению не может создавать код со сложным поведением. ООП-обьекты это сущности с ПРОСТЫМ поведением. Рефлекс собаки Павлова.

Добавлено через 2 минуты
А простое поведение обьектов реализуется сложными средствами комилятора.

Добавлено через 4 минуты
Обьекты это амёбы, элементарные сущности, способные только принимать, переваривать и удалять отходы своей жизнедеятельности. Ни на что более сложное они не нацелены. Таким образом ООП применимо там, и только там, где система способна реагировать на простые запросы, а вопросы контроля не входят в область их компетенции. И когда пытаются заставить их выполнять чуждую их природе работу, а это происходит сплошь и рядом, то система может просто не справится с поставленными задачами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.08.2017, 13:46

Стоит ли учить ООП в одно время с Яп
Добрый день! Начал активно изучать c#. Читаю Шилдта в свободное от учебы время и стараюсь практиковаться и всё выходит пока нормально. Но...

Как использовать ООП в WinAvr
Класс я создал. А вот объект класса создать не получается! Полазив по интернету выяснил что оператор new не поддерживается компилятором! ...

Js class как правильно использовать ООП
Накидал вот такой простенький код, авторизация проходит, data.Access_token существует, но в this.Access_token почему то не сохраняется, не...

Когда следует использовать ООП в РНР?
Когда стоит учить ооп в РНР, если новичок в РНР? Стоит ли писать весь код в стиле ооп ?

WITH AS стоит ли использовать
Использую СУБД Postgresql, есть запрос SELECT * FROM Table1 WHERE Filed1 IN (SELECT Fileld1 FROM Table2 WHERE Fileld2='A' AND...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
600
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru