Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Результаты опроса: используете ли вы ооп
да 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. Показов 103049. Ответов 793
Метки нет (Все метки)

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

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

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

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

793
 Аватар для snake32
3582 / 1712 / 236
Регистрация: 26.02.2009
Сообщений: 8,641
Записей в блоге: 6
05.09.2013, 15:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Evg Посмотреть сообщение
В реальности выбор языка программирования, выбор подхода (императивный, объектный, функциональный, что-то ещё) как правило только немного упрощает задачу, поскольку позволяет выбрать наиболее удобный инструмент для реализации конкретной цели. А решающую роль играет грамотное проектирование программы. Если программа спроектирована плохо, то никакой ООП, никакой хаскель, никакой opengl тебе не поможет в написании качественного программного продукта. Если программа спроектирована плохо, то рано или поздно проект сдохнет под грузом соплей, костылей и заплаток, привинченных к программе. Если руки прямые, ты на чистом Си напишешь сложную программу, которая легко адаптируется под новые задачи, перед ней возникающие. И такое качество программы будет только сниться криворуким гавнокодерам, которые "выучили" ООП
Да. Архитектура - самая важная и самая сложная часть разработки.
0
 Аватар для MolodoyCoder
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
05.09.2013, 15:38
"то рано или поздно проект сдохнет под грузом соплей, костылей и заплаток, "
Вот это очень верно, и правильно!
Поэтому я люблю вылизывать код. И коментарии. И документацию.
А дядьки-начальники пытаются втюхнуть мне теорию о том, что надо работать И быстро и качественно.
Но это чисто быдлядские мечты стран третьего мира.
В любом человеке, в любой технологии - есть "ползунок" , который можно крутить. И "быстро" , "качественно" стоят по разные концы линейки этого ползунка.

Когда они начинают ныть про сроки, я всегда спокоен. Потому что даже быдло программеров, которые работают на производство, и являются одновременно спецами
по наладке, и программированию многокоординатных эрозионных станков (скажем So****) с линейными приводами,в сфере ВПК, на РЫНКЕ ТРУДА КАК БЫ НЕТ ПОЧТИ !!!
Отсюда следует золотое: "Вот и таки да!"
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
05.09.2013, 16:44
Цитата Сообщение от Evg Посмотреть сообщение
Другими словами, на языке, реализующем ООП процесс писанины становится проще (при этом, зачастую, процесс чтения программы усложняется). Другой разницы нет
Сильно зависит от языка. С динамическими функциональными языками разницы может вообще не быть.
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
05.09.2013, 16:50
Цитата Сообщение от MolodoyCoder Посмотреть сообщение
А дядьки-начальники пытаются втюхнуть мне теорию о том, что надо работать И быстро и качественно.
Это называется словом "профессионально".

Цитата Сообщение от MolodoyCoder Посмотреть сообщение
Поэтому я люблю вылизывать код. И коментарии. И документацию.
При этом предполагается что какая-то основа есть - иначе что вылизывать. Хорошо конечно, но так бывает не всегда
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
05.09.2013, 16:57
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Сильно зависит от языка. С динамическими функциональными языками разницы может вообще не быть.
Да это уже детали. Просто хотел довести до человека, что императивное программирование и ООП программирование ничем принципиальным друг от друга не отличаются, как это он описал в своей статье
0
 Аватар для MolodoyCoder
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
05.09.2013, 16:58
Цитата Сообщение от Igor3D Посмотреть сообщение
Это называется словом "профессионально".

При этом предполагается что какая-то основа есть - иначе что вылизывать. Хорошо конечно, но так бывает не всегда
Кстати открыл для себя методу. Очень помогает.
Нужно периодически приводить форматирование текста кода в порядок.
Писать емкие и в тоже время короткие комментарии.
Проглядывать и смотреть, имена методов,переменных и классов, что бы были емки по содержанию и кратки по написанию -компромисс.
А уже потом, отдохнув искать в коде "школоло"и избавляться от него.
И так по нескольку проходов. Помогает реально. Простым словом называется - порядок.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
05.09.2013, 17:11
Вполне неплохая критика Десять вещей, которые я терпеть не могу в ООП
0
 Аватар для snake32
3582 / 1712 / 236
Регистрация: 26.02.2009
Сообщений: 8,641
Записей в блоге: 6
05.09.2013, 18:03
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Вполне неплохая критика Десять вещей, которые я терпеть не могу в ООП
Фигня какая-то. Зря убил время.
0
 Аватар для MolodoyCoder
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
05.09.2013, 18:10
"Однако в реальном мире есть только объекты. Классы существуют только в нашем сознании. Можете ли вы привести хоть один пример из реального мира, что класс — это реальная, физическая сущность? Нет, не думаю."
Да, и легко. Например чертеж многоквартирного дома.
Кста я , быдлокодер.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
05.09.2013, 18:33
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Вполне неплохая критика Десять вещей, которые я терпеть не могу в ООП
Немного не раскрыто, тут лучше и конкретней, хотя и про другие минусы.

Цитата Сообщение от MolodoyCoder Посмотреть сообщение
Да, и легко. Например чертеж многоквартирного дома.
Это объект класса «чертеж». =)
0
 Аватар для MolodoyCoder
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
05.09.2013, 18:42
Цитата Сообщение от korvin_ Посмотреть сообщение
Немного не раскрыто, тут лучше и конкретней, хотя и про другие минусы.


Это объект класса «чертеж». =)
Тогда общая идея начальника о чертеже это класс.
Нет ?
Тогда общая идея политика о строительстве это класс.
Нет ?
Тогда. Тогда.Тогда.
Вы приблизились к общему классу object - БЫТИЁ!
от Которого наследуют все, даже String/
String s="пошли все в жопу";
String.method(argument);
Как опять всё классы ?
ТАКИ ДА !
1
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
05.09.2013, 18:48
Цитата Сообщение от MolodoyCoder Посмотреть сообщение
Кстати открыл для себя методу. Очень помогает.
Нужно периодически приводить форматирование текста кода в порядок.
...
Помогает реально. Простым словом называется - порядок.
Увлекшись саморекламой Вы забыли (или может еще незнакомы) с понятием "разработка". Улучшать, укреплять, документировать - дело хорошее, но почему Вы полагаете что, само собой, предмет улучшения существует и достоин?

Это не всегда так. Относительно простой пример: жило себе приложение, (да хоть просто утилитка. плагин) и все было норм. Но вот всплыло что используется только одно ядро - а вот надо все. Ох как много красивых классов, примечаний, файлов будет похерено! И будет написано много новых. И это нормально. А бывает и хужее.. ну ладно, Вам это ни к чему, "улучшайте улучшаемость"
0
 Аватар для MolodoyCoder
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
05.09.2013, 18:52
Цитата Сообщение от Igor3D Посмотреть сообщение
Увлекшись саморекламой Вы забыли (или может еще незнакомы) с понятием "разработка". Улучшать, укреплять, документировать - дело хорошее, но почему Вы полагаете что, само собой, предмет улучшения существует и достоин?

Это не всегда так. Относительно простой пример: жило себе приложение, (да хоть просто утилитка. плагин) и все было норм. Но вот всплыло что используется только одно ядро - а вот надо все. Ох как много красивых классов, примечаний, файлов будет похерено! И будет написано много новых. И это нормально. А бывает и хужее.. ну ладно, Вам это ни к чему, "улучшайте улучшаемость"
Очень хороший пример!
Правда!
А я, кстати за то , что бы многопоточность обдумывал компилятор. Полностью.
Еще раз абстрагирование ? Конечно да. Но пока еще слабо.
Автоматизм наше всё. Вы ведь не будете говорить, что автопилот в самолетах это зло ?
p.s
где самореклама ? (а вы тонко чувствуете людей, _+9000)
Просто холивар и крик души.
А я , простой заводской, примат-кодер.
0
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
05.09.2013, 18:58
Программирование без ООП это как называть яблоко "вон та зеленая хрень", вместо просто "яблоко". В обоих случая вас скорее всего поймут, вопрос в красоте и скорости объяснения...
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
05.09.2013, 19:14
Цитата Сообщение от MolodoyCoder Посмотреть сообщение
Тогда общая идея начальника о чертеже это класс.
Ну так она и нематериальна, о чем и говориться в статье. =)

Добавлено через 3 минуты
Цитата Сообщение от DenQ Посмотреть сообщение
Программирование без ООП это как называть яблоко "вон та зеленая хрень", вместо просто "яблоко". В обоих случая вас скорее всего поймут, вопрос в красоте и скорости объяснения...
Лол, а давай ты опишешь тип односвязный список на твоем любимом ООЯП, а я на не-ООЯП и посмотрим где проще, точнее и короче.
0
 Аватар для MolodoyCoder
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
05.09.2013, 19:15
Цитата Сообщение от korvin_ Посмотреть сообщение
Ну так она и нематериальна, о чем и говориться в статье. =)
Зато это жизнь. А там говорилось что примеров из жизни не найти.
0
 Аватар для snake32
3582 / 1712 / 236
Регистрация: 26.02.2009
Сообщений: 8,641
Записей в блоге: 6
05.09.2013, 19:19
Цитата Сообщение от korvin_ Посмотреть сообщение
Ну так она и нематериальна, о чем и говориться в статье.
Коммент к этой же статье, с которым я согласен:
Ну, конечно, хотелось бы предметного диалога с автором. Несмотря на это, постараюсь прокомментировать статью и некоторые моменты, чтобы не быть голословным:

Однако в реальном мире есть только объекты. Классы существуют только в нашем сознании. Можете ли вы привести хоть один пример из реального мира, что класс — это реальная, физическая сущность? Нет, не думаю.
Тут автор явно передергивает. Понятно, что классы существуют только в нашем сознании, но, о ужас, не только классы, но и функции, переменные и проч. Например, функция — это лишь некоторая процедура в коде, которая вызывается через CALL и возвращается RET. А если копнуть глубже, то окажется, что есть только ассемблерные команды, и там вообще нет таких понятий, как процедуры, а есть регистры и память. А если еще глубже копнуть, то окажется, и этого нет, а есть заряды и токи, потенциалы и поля. А потом оказывается, что и полей нет, т.к. поля — лишь удобный инструмент физиков для предсказывания реальности, но это уже философия. Поэтому говорить, что классы существуют только в нашем сознании — это все равно, что сказать, что вода — это жидкость. Ну да, и что плохого?

В процедурных программах процедуры вызывают другие процедуры. Процедурный код показывает… процедуры, вызывающие другие процедуры. Все хорошо и просто, так ведь?

В объектно-ориентированных программах объекты посылают сообщения другим объектам. Объектно-ориентированный код показывает… классы, наследующие другие классы. Ой. Кажется, что в ООП между исходным кодом и исполняемой программой нет никакой связи. Наши инструменты плохо помогают нам: IDE ведь показывают классы, а не объекты.
С тем же успехом можно утверждать, что параметры — вот они были объявлены my_param, а теперь вдруг при исполнении опа, и нет my_param, а есть лишь 0 в ячейке памяти. Неожиданно, правда? Так и с объектами, есть класс, который объявляет, что будет внутри, т.е. сосуд, а наполнение может быть самым разным. Это, на минутку, присуще всем языкам, ООП тут вообще ни при чем.

Честно говоря, методы я тоже терпеть не могу.
Хм. Тогда автор и функции тогда должен не любить. Потому что метод — это функция, где дополнительным параметром будет объект, т.е. экземпляр класса. Этот метод говорит нам о том, что будет действие именно над этим объектом, который стоит вначале, обычно перед точкой.

Примем во внимание то, что на чтение объектно-ориентированного кода мы тратим больше времени, чем на его написание.
Для того, чтобы использовать, нет необходимости читать код. Для этого есть доки. Это же можно отнести к любой парадигме, ООП тут не исключение. А абзац можно понять так: предположим, что читать код ООП очень тяжело. Вот видите, т.к. читать очень тяжело, то мы столько времени на это тратим, таким образом производительность падает. Хочется спросить: откуда первоначальное утверждение?

Конечно, “бестиповых” языков не существует — существуют статически и динамически типизированные. Статически типизированные мешают писать код в некоторых случаях. В принципе, ничего плохого в этом нет.
Наверно, в функциональных языках нет типов? Или, может, в процедурных? Очевидно, там нет, поэтому положим минус в копилку ООП, говорит нам автор.

Можно еще долго комментировать это послание про ООП. Но, думаю, для начала достаточно.
0
 Аватар для MolodoyCoder
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
05.09.2013, 19:21
Цитата Сообщение от DenQ Посмотреть сообщение
Программирование без ООП это как называть яблоко "вон та зеленая хрень", вместо просто "яблоко". В обоих случая вас скорее всего поймут, вопрос в красоте и скорости объяснения...
Процедурники вас не поймут. Хотя я не люблю вешать ярлыки на людей.
Вы использовали для объяснения краткий философский способ. Боюсь в этом моменте вас попытаются клевать и царапать. Хотя изначально создатели ооп понимали об абстракции и способе мышления как о необходимой части ооп лежащей в мозгу программиста. А не о реальных результатах жизни переменных.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
05.09.2013, 19:29
Цитата Сообщение от MolodoyCoder Посмотреть сообщение
Зато это жизнь. А там говорилось что примеров из жизни не найти.
Нет, там говорилось другое:
Однако в реальном мире есть только объекты. Классы существуют только в нашем сознании.
0
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
05.09.2013, 19:32
Цитата Сообщение от korvin_ Посмотреть сообщение
а давай ты опишешь тип односвязный список на твоем любимом ООЯП, а я на не-ООЯП и посмотрим где проще, точнее и короче.
Вопрос - зачем мне это?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.09.2013, 19:32

Стоит ли учить ООП в одно время с Яп
Добрый день! Начал активно изучать 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...


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

Или воспользуйтесь поиском по форуму:
340
Ответ Создать тему
Новые блоги и статьи
Теория всего 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