Модераторы: Се ля ви

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как удалось перейти к ООП технически, Как удалось перейти к ООП технически 
:(
    Опции темы
Guitar_Player
Дата 25.1.2008, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 2.1.2007
Где: г.Новосибирск

Репутация: нет
Всего: нет



Мне тут задали такой вопросик: 
Как известно, программирование начало развиваться как программирование структурного(процедурного) типа. В далбнейшем стиль программирования изменился, оно стало ООП. Вопрос в следующем в чем заключалась суть революции ООП, если такая революция имела место.

Нельзя говорить слова типо объект, класс и т.д.

Требуется конкретное техническое решение.
PM MAIL WWW ICQ   Вверх
izekia
Дата 25.1.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 5.12.2007

Репутация: нет
Всего: 3



Guitar_Player, ты где-то услышал слово ООП и тебе оно понравилось?
причем здесь конкретное техническое решение
PM MAIL   Вверх
Guitar_Player
Дата 25.1.2008, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 2.1.2007
Где: г.Новосибирск

Репутация: нет
Всего: нет



Притом что нужно не принципы, не предусловия,постусловия а именно какое решение повлекло к созданию объектно ориентированного программирования
PM MAIL WWW ICQ   Вверх
Platon
Дата 25.1.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



Вообще, ООП базируется на 3-х китах: Наследование, Инкапсуляция и полиморфизм. Эти 3 штуки перевернули мир, позволили развиваться программным продуктам с небывалой скоростью.

Если по делу всегда слушай Вики
PM MAIL ICQ   Вверх
izekia
Дата 25.1.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 5.12.2007

Репутация: нет
Всего: 3



Guitar_Player, ООП в общем случае расшифровывается как подход, а не как программирование.
Никакого решения не было, существует куча парадигм, которые так или иначе развивались ООП - одна из них, наиболее популярная на сегодняшний день. Как мне кажется. 

То что я написал выше для того, чтобы дать тебе понять, что твой вопрос по меньшей мере некорректен

Добавлено через 3 минуты и 27 секунд
Platon, ну по поводу скорости - это сложный вопрос
и далеко не однозначный

PM MAIL   Вверх
Platon
Дата 25.1.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



Цитата(izekia @  25.1.2008,  14:16 Найти цитируемый пост)
ну по поводу скорости - это сложный вопрос

ну, как же? Был бы медленный, не получил бы такого распространения.
PM MAIL ICQ   Вверх
Guitar_Player
Дата 25.1.2008, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 2.1.2007
Где: г.Новосибирск

Репутация: нет
Всего: нет



Но все таки что изменилось технически?
При поступлении на работу в 1С дают список вопросов один из них этот.


Это сообщение отредактировал(а) Guitar_Player - 25.1.2008, 13:36
PM MAIL WWW ICQ   Вверх
izekia
Дата 25.1.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 5.12.2007

Репутация: нет
Всего: 3



Guitar_Player, ты имел в виду во франча?
позови автора и спроси что он имел в виду
вопрос поставлен некорректно
Что значит технически?


Platon, у него немного другие преимущества, хотя их оспаривают и небезуспешно
скорость разработки мало зависит от выбранной парадигмы   smile 

Это сообщение отредактировал(а) izekia - 25.1.2008, 13:48
PM MAIL   Вверх
onsql
Дата 25.1.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 3.12.2007

Репутация: нет
Всего: 3



Бери Гради Буча "Объектно-ориентированный анализ и проектирование", сделай небольшой конспект одной из первых глав, где обмусоливается ООП со всех сторон. Выучи его и всегда на подобные вопросы по ООП отвечай его словами. Хорошо если его самого при этом упомянешь, типа "как пишет великий и ужасный Гради Буч, один из соавторов УМЛ, автор многочисленных фудаментальных работ по ООП...". Не станут же они в здравом уме спорить с Великим и Ужасным! smile))
PM MAIL   Вверх
izekia
Дата 25.1.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 5.12.2007

Репутация: нет
Всего: 3



onsql, да он про какую-то непонятную технологию пишет
то что с++ Страуструп придумал?
но так ООП и до него было

Добавлено через 1 минуту и 2 секунды
onsql
там первые пять глав стоит прочитать)
за исключением нотации, хотя для общего понимания развития УМЛ и ее можно
PM MAIL   Вверх
onsql
Дата 25.1.2008, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 3.12.2007

Репутация: нет
Всего: 3



Ну я думаю, надо что-то втирать о том как лучезарно ООП осветило нашу жизнь и как мы все стали программировать в терминах предметной области, используя объекты реального мира как прототипы для объектной модели нашего высокоэффективного ПО. Ну и какой революционной была идея класса как абстрактного типа smile)

Добавлено через 4 минуты и 47 секунд
Привести конкретный технический пример про абстрактную фигуру и конкретные треугольник, круг, квадрат и мол как раньше мы как дураки делали switch по типу фигуры, но теперь то, в постреволюционные времена дружно делаем виртуальный метод draw у фигуры и используем полиморфизм.
PM MAIL   Вверх
Guitar_Player
Дата 25.1.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 2.1.2007
Где: г.Новосибирск

Репутация: нет
Всего: нет



Ну мы с ней по icq общались я ей в начале что вот суть революции ООП: переход от"сделать так как удобно выполнить машине" к "...удобно выполнить это человеку".
Она:  требуется конкретное техническое решение -как удалось перейти к ООП технически. Философия не интересует.
Я начинаю говорить что вот появились 3 основные идеи. Там все такое облегчило жизнь.
Она: это принципы ООП,а не техническое решение.
Вот я и обратился за помощью к вам. просто даже не знаю про что она... Слышал при процедурном подходе есть ограничение по количеству слов, в ооп оно больше. Вообще фиг знает. smile 

///////////////////////////

А может революция заключалось в объединении данных и кода?

Это сообщение отредактировал(а) Guitar_Player - 25.1.2008, 14:48
PM MAIL WWW ICQ   Вверх
izekia
Дата 25.1.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 5.12.2007

Репутация: нет
Всего: 3



Guitar_Player, а тебе надо в такую контору устраиваться, где так проводят собеседования?
она не понимает о чем она спрашивает, а вопрос задан некорректно
попроси переформулировать вопрос

прямо так и скажи, что вопрос некорректен, и у него нет однозначности.
Можно сказать, что появились новые мегакомпьютеры, которые позволили создать языки использующие ООП
PM MAIL   Вверх
izekia
Дата 25.1.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 5.12.2007

Репутация: нет
Всего: 3



Guitar_Player, как вакансия называется?
PM MAIL   Вверх
archimed7592
Дата 25.1.2008, 15:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: нет
Всего: 93



История умалчивает, но до меня доходили слухи(от весьма неадекватного человека, так что правдивость оставляю под вопросом), что некая женщина ещё во времена великого и могучего Си придумала такую вот хреновину:
Код

struct OOP
{
    // functions
    void (*doSmth)(struct OOP *obj, int arg);
    // data
    int member;
};

void OOP_doSmth(struct OOP *obj, int arg)
{
    obj->member += arg;
}

void OOP_ctor(struct OOP *obj)
{
    obj->doSmth = OOP_doSmth;
    obj->member = 0;
}
// ...

struct OOP *obj = (struct OOP *)malloc(sizeof(*obj));
OOP_ctor(obj);
obj->doSmth(obj, 123);

После чего это трансформировалось в применение vftbl(т.е. уменьшились размеры объектов).
Код

struct OOP_vftbl
{
    // functions
    void (*doSmth)(struct OOP *obj, int arg);
};

struct OOP
{
    struct OOP_vftbl *vftbl;
    // data
    int member;
};

// ...
obj->vftbl->doSmth(obj, 123);


Но, на самом деле, если кто читал D&E Старуструпа, те знают, истинные причины, перечислять которые я не буду, ибо если кто не читал - лучше прочесть.

Попробуй ответить ей именно про таблицу виртуальных ф-ций - может она именно это хочет услышать smile.

PS. Пишу в контексте C/C++, ибо тема перемещена именно из С++.

Это сообщение отредактировал(а) archimed7592 - 25.1.2008, 15:16


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Системный анализ, проектирование и UML"
Се ля ви

Форум "Системный анализ, проектирование и UML" предназначен для обсуждения вопросов, так или иначе связанных с этапами жизненного цикла автоматизированных (программных, информационных, автоматических) систем:

• предпроектные обследования объектов автоматизации;

• разработка концепции создания систем;

• моделирование бизнес-процессов (в т.ч. на UML);

• проектирование архитектуры систем;

• управление проектами;

• управление качеством;

• CASE-средства;

• реинжиниринг.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Системный анализ, проектирование и UML | Следующая тема »


 




[ Время генерации скрипта: 0.0728 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.