Уважаемые коллеги, предлагаю обсудить такую тему, как сравнение процедурного программирования с объектно-ориентированным программированием.
В чём заключается разность между этими двумя подходами к программированию? В чём преимущества и недостатки процедурного программирования и объектно-ориентированного программирования?
И ещё такой вопрос: если программист предпочитает процедурное программирование (то есть он не создаёт классов там, где он не видит в этом необходимости), то как к этому относится его начальник/работодатель?
1613 г. = 2024 г.
Re: Процедурное программирование vs объектно-ориентированное программирование
RF>И ещё такой вопрос: если программист предпочитает процедурное программирование (то есть он не создаёт классов там, где он не видит в этом необходимости), то как к этому относится его начальник/работодатель?
Подойди к начальнику и спроси.
Re: Процедурное программирование vs объектно-ориентированное программирование
Здравствуйте, RussianFellow, Вы писали:
RF>Уважаемые коллеги, предлагаю обсудить такую тему, как сравнение процедурного программирования с объектно-ориентированным программированием.
Это открывает перед нами путь к обсуждению целого ряда интересных вопросов. Например:
1. Я написал процедуру из 100 строк, и в ней 5 goto. Мой код не прошел ревью, и меня заставили переписать ее, используя if'ы и циклы. Но так моя процедура работает на 0.5% медленнее. Как мне объяснить начальству, что оно не право?
2. Что вы думаете о языках без goto?
3. Я написал 100500 строк кода, и в одном месте с goto получается на 1000 строк короче, чем без него. Помогите избавиться от goto
4. Следует ли запретить использование goto в языках, где оно есть
5. Что лучше, goto или исключения?
6. Страдает ли болезнью Альцгеймера Роб Пайк, который сделал новый язык с goto, но без исключений?
Полагаю, при приложении некоторой фантазии можно придумать еще много интересных тем для обсуждения
Re: Процедурное программирование vs объектно-ориентированное программирование
Здравствуйте, RussianFellow, Вы писали:
RF>И ещё такой вопрос: если программист предпочитает процедурное программирование (то есть он не создаёт классов там, где он не видит в этом необходимости)
Это неверный критерий предпочтения ПП. Ведь предпочитающие ООП тоже не создают классов там, где они не видят в этом необходимости. Разница может быть в том (не настаиваю на этом), что они видят необходимость по-разному.
Re: Процедурное программирование vs объектно-ориентированное программирование
Здравствуйте, koenig, Вы писали:
RF>>Уважаемые коллеги, предлагаю обсудить такую тему, как сравнение процедурного программирования с объектно-ориентированным программированием.
K>кто открыл этот портал?
Это путешественник во времени к нам залетел.
Sic luceat lux!
Re: Процедурное программирование vs объектно-ориентированное программирование
Считаю, что надо сравнивать сравнимы вещи, т.е.
Процедурное программирование (на функциях_ с функциональным (программированием на лямбдах), а
ООП надо сравнивать с системным программированием (не в смысле низкоуровневым, а в смысле основанным на теории систем)
Re: Процедурное программирование vs объектно-ориентированное программирование
Здравствуйте, Pzz, Вы писали:
Pzz>2. Что вы думаете о языках без goto?
Когда-то мне пришлось разбираться с некоей программой на FoxPro. GOTO в нем есть, но им прыгают не по коду, а по записям в таблице. Автор той программы ловко эмулировал «нормальный» GOTO с помощью хитрой системы циклов while и кучи флажков. Вот тогда я пожалел, что GOTO в FoxPro работает на так, как в Фортране.
Re[3]: Процедурное программирование vs объектно-ориентированное программирование
Здравствуйте, Privalov, Вы писали:
P>Когда-то мне пришлось разбираться с некоей программой на FoxPro. GOTO в нем есть, но им прыгают не по коду, а по записям в таблице. Автор той программы ловко эмулировал «нормальный» GOTO с помощью хитрой системы циклов while и кучи флажков. Вот тогда я пожалел, что GOTO в FoxPro работает на так, как в Фортране.
Ну это как посмотреть. Можно же сказать, что в любой программе на любом ЯВУ написанной без использования GOTO оно эмулируется другими средствами
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re: Процедурное программирование vs объектно-ориентированное программирование
Здравствуйте, RussianFellow, Вы писали:
RF>Уважаемые коллеги, предлагаю обсудить такую тему, как сравнение процедурного программирования с объектно-ориентированным программированием. RF>В чём заключается разность между этими двумя подходами к программированию? В чём преимущества и недостатки процедурного программирования и объектно-ориентированного программирования?
Как уже отметили в теме, не надо эти два подхода противопоставлять. Используйте то что подходит в конкретной ситуации.
RF>И ещё такой вопрос: если программист предпочитает процедурное программирование (то есть он не создаёт классов там, где он не видит в этом необходимости), то как к этому относится его начальник/работодатель?
Стараться надо писать так, чтобы код был понятным, тестируемым, поддерживаемым, расширяемым. Начальник уровнем выше руководителя команды обычно не вникает в детали реализации. У программиста не должно быть предпочтений классы/функции — подходящий способ реализации следует из архитектуры проекта.
А вообще, мне недавно хорошее видео попалось на эту тему:
Здравствуйте, pagid, Вы писали:
P>Ну это как посмотреть. Можно же сказать, что в любой программе на любом ЯВУ написанной без использования GOTO оно эмулируется другими средствами
Все-таки поусть GOTO присутствует. Клинические случаи разбирать лучше с ним, чем с вручную сделанными его эмуляторами.
Re[3]: Процедурное программирование vs объектно-ориентированное программирование