![]() |
Модераторы: Се ля ви |
![]() ![]() ![]() |
|
Михаил Клишевич |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 23.5.2004 Репутация: нет Всего: нет |
Как известно, программирование развивалось как программирование структурное. В дальнейшем стиль изменился, оно стало объектно-ориентированным. Вопрос в слудующем: в чем заключалась революция ООП, если такая революция имела место?
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: нет Всего: 232 |
-------------------- ![]() |
|||
|
||||
Михаил Клишевич |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 23.5.2004 Репутация: нет Всего: нет |
Я обращяюсь, к вам, как профессиональным программистам. И хочу, чтоб мне написали именно суть революции ООП. Суть - это точная, красиваю фраза из нескольких слов, которая так точно отражает мысль, что сам Архимед выпрыгнул бы из ванны!
Способны ли вы на такое, чем делать цитаты, ссылки на Страуструпа и флудить? Добавлено @ 05:03 причем, желательно избегать таких слов как объекты, классы, инкапсуляция, параллелелизмполиморфизм и т.д. Способен ли кто из вас выразить суть в простых словах? Так чтоб человек, который не имеет отношения к программингу мог вас понять? |
|||
|
||||
Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Я конечно не профессионал, но ИМХО ООП превнес в программирование приближение объектов реального мира к программным объектам, что значительно упросило работу с данными.
![]() |
|||
|
||||
achmed |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 12.4.2004 Репутация: нет Всего: нет |
в ООП данные стали активными.
|
|||
|
||||
Dr.Death |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 950 Регистрация: 15.7.2003 Где: Волгоград Репутация: нет Всего: 1 |
Сначала были просто объекты со свойствами, как в паскале record, потом добавились методы и т.д.
-------------------- Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер |
|||
|
||||
atamur |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.5.2004 Репутация: нет Всего: нет |
Объектно Ориентированное Программирование -
это метод программирования, при котором данные и методы работы с ними неразделимы и создают новую структуру - объект. При этом работа зхначительно облегчается, поскольку объект сам хранит свои данные и сам же имеет методы для работы с ними, а также сущ. такие вещи как наследование. Подробнее читайте действительно у того же СтраусТрупа ![]() |
|||
|
||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: нет Всего: 48 |
Лучше у Гради Буча, у него ООП рассматривается более абтрактно без привязки к определенному языку. К тому же книга написана очень доходчиво и интересно, с большим колличеством примеров. -------------------- Account removed |
|||
|
||||
akul |
|
|||
Unregistered |
Никакой революции не было. ООП - это просто набор выработанных практикой принципов программирования, позволяющих писать более надежный, переносимый и легкий в сопровождении код... Эти принципы оформили формально и сделали механизмы их поддержки со стороны языка. Причём пользоваться некоторыми из них можно было (и пользовались) без этой поддержки. Например, я использовал в сишных либах "hand-made VFT" в виде явно описанного массива указателей на функции для организации интерфейса с модулями-драйверами. Хорошо организованная сишная либа очень легко переводилась в C++, потому что уже была написана в объектном стиле.
|
|||
|
||||
boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: нет Всего: 35 |
В основном разница это подход к проблеме.
В процедуральном, мы описываем проссец работы. К примеру, откроем файл, запишем, закроем. В ООП, мы описываем объект. К примеру, объект Файл, можно открыть, записать и закрыть. Часто, объекты это реальные объекты иа жизни. Что из этого следует? Мне как программисту легче понять клиента, который описывает проблему как работу с объектами. Мне надо только внимательно реализовать реальные объекты в объекты в программе и дать им заимодействовать с друг другом. В этом основная разница между подходами. И самое главное, нет такой программы, которую нельзя написать в обеих стилях. -------------------- Никогда не говори никогда |
|||
|
||||
GFX |
|
|||
Unregistered |
Тема такая, что этот вопрос ОЧЕНЬ часто задают на собеседовании в крупных компаниях, при этом слово ОБЪЕКТ в ответе употреблять нельзя.
Говорят: Вот кодили процедурно, а потом начали ООП - с чем связан этот переход ? |
|||
|
||||
Дрон |
|
||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: нет Всего: 92 |
Читайте Гради Буча "Объектно-ориентированный анализ и проектирование"
![]()
А вообще переход к ООП связан с усложнением решаемых задач и ограниченностью человеческих возможностей. -------------------- Да. Именно так. |
||||
|
|||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Сложности тех бизнесс-процесов, которые необходимо было реализовать в виде программы, настолько возросли, что старые методики разработки уже не справлялись с таким большим наплывом информации, и возникла необходимость ввести коррективы в этот процесс. Далеко ходить не стали, и применили давно известные научные методики, которые и трансформировались в так называемый объектно-ориентированный подход к разработке программ, основанный на методике простроения моделей для решаемой задачи, с целью ее упрощения, для лучшего понимания, и дальнейшего анализа. Понятие объектно-ориентированный подход, включает в себя три других, более мелких сущностей: 1. Объектно-ориентированный(ОО) анализ; 2. ОО проектирование 3. ОО программирование. В совокупности, объектно-ориентированный подход, обеспечивает стабильный и предсказуемый процесс разработки крупного программного обеспечения. Если отвечать на Ваш вопрос, то собственно, сам факт разработки такого подхода, и его дальнейшее и повсеместное применение, дало многим людям основание сказать, что произошла ОО революция в программировании. -------------------- |
|||
|
||||
Се ля ви |
|
|||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 6 Всего: 127 |
Где-то читал, что структурную программу становилось невозможно поддерживать, если её динна превышала 5 000 строк, процедурную - если превышала 50 000 и лишь ООП дало реальную возможность масштабировать бизнес-логику практически до беспредельных зазмеров.
Произошло это именно по причине того, что ООП языки шагнули от подхода "сделать так, как удобнее выполнять это машине" к подходу "сделать так, как удобнее понять, как это работает, человеку", ибо в основу легли не просто идеи сделать программирование похожим на реальный мир, а сделать его похожим на восприятие мира человеком, т.е. дать частично возможность использовать житейский интеллект, интуицию для программирования. -------------------- |
|||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 1 Всего: 41 |
Предел для ООП есть. Помоему, это 10 в 5-ой или 6-ой.
Дальше идет компонентно-ориентированное программирование (КОП), например, как в шарпах. Говорю по Шилдту. Оно позволяет строить относительно независимые компоненты. Организация идет на высоком уровне и свосем не важно, что внутри каждого компонента. Не надо спрашивать: "А что, с классами не так?" Немного не так -- взять диаграмму хоть из 30 классов и долго будете понимать, что есть что. При КОП можно доходить до 10 в 8-ой. Дальше опять голова не держит. |
|||
|
||||
![]() ![]() ![]() |
Правила раздела "Философия программирования": | |
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Философия программирования | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |