"современное проектирование"(Как писал Александреску) в смысле — создание коллекций типов как обьектов,
и операций с ними — конструирования обьектов из них в рун-тиме и соотвтествующей работой?
Здравствуйте, vgrigor, Вы писали:
V>Хорошая ссылка,но
V>Не подскажете что такое "динамический ООП"?
V>Весьма интересно.И в статье той даже не написано.
V>чего означает это понятие?
А не-динамического ОО не бывает, его придумали враги.
То, что мы видим сейчас, уже было в Simula, которое еще ООП не считалось.
Вкратце, объектный подход это — объекты, состояние, посылка сообщения. И точка.
Объектная система является набор объектов, развивающихся посредством последовательного изменения своего состояния. Единственным способом взаимодействия между объектами является посылка сообщения.
Объектный язык, это язык, который взаимодействует с объектной системой посредством посылки сообщений.
V>"современное проектирование"(Как писал Александреску) в смысле — создание коллекций типов как обьектов, V>и операций с ними — конструирования обьектов из них в рун-тиме и соотвтествующей работой?
Здравствуйте, vgrigor, Вы писали:
V>"современное проектирование"(Как писал Александреску) в смысле — создание коллекций типов как обьектов, V>и операций с ними — конструирования обьектов из них в рун-тиме и соотвтествующей работой?
Можно где-нибудь взять Александреску в эл. виде? Уж больно лень тащиться в книжный магазин.
Здравствуйте, vgrigor, Вы писали:
V>В сети я не нашел.
Эх, придётся наверно купить treeware версию. А значит и прочитать целиком. Чтением по диагонали уже чисто психологически не отделаться. Что обидно.
Здравствуйте, Akzhan, Вы писали:
A>В своей статье Вы полагаете объект некоей кучей иных объектов
Предыдущее утверждение не верно, следующее — верно. A>Хотя все Ваши цитаты из реального мира прямо говорят о дргом подходе: A>Объекты в природе сами по себе целостны (как Вы говорите, элементарны).
A>А множество определений для одного и тог же объекта можно строго определить различными точками зрения на один и тот объект (в принципе отсюда в оригинале и пляшет концепция контрактов-интерфейсов).
Точки зрения — это немножко про другое. См. ниже.
A>Вдумайтесь: та же кошка не является кучей точек зрения, вместе собирающихся в нечто единое (подход слепцов и слона). Наоборот — кошка — это строго и заранее определённый (с точностью до реализации) объект, который наше восприятие способно воспринимать с различных точек зрения.
Конкретная кошка — это действительно строго и заранее (гены и вся история её жизни) определённый объект. Короче, экземпляр. Абстрактная кошка (класс) — это тоже заранее определённая вещь. У абстрактную кошку действительно может быть определено несколько точек зрения. Эти точки зрения вполне переносимы на конкретную Мурку, но...
Но Мурка может быть также классифицирована как-нибудь ещё. Например, как злюка.
Точка зрения слепца на кошку может, например, содержать интерфейс Погладить(). Реакция Мурки на вызов этого интерфейса может быть различной в зависимости от того, является она также ещё и злюкой либо нет.
V>>Эх, придётся наверно купить treeware версию. А значит и прочитать целиком. Чтением по диагонали уже чисто психологически не отделаться. Что обидно.
V>А как это делается? V>Расскажите народу.
V>И можно ли записать на диск в процессе триала?
Не trial, а treeware. От слова "дерево". Вычитал в руководстве по CVS, очень понравилось.
Кстати, описание миксинов в статье нормальное? Без ляпов?
Re[5]: Статья про развитие идей ООП. Жду комментариев.
От:
Аноним
Дата:
19.06.03 09:26
Оценка:
Здравствуйте, joker6413, Вы писали:
А>>Если же кого-то интересуют навороченные языковые возможности, то есть тот же CLOS, Smalltalk, SML, Haskell А>>(последний вроде как уже есть под .NET — H#).
J>Какие концептуальные задачи вы будете решать этими инструментами?
J>Игорь
Да какие угодно. За smalltalk ничего не скажу, а функциональные языки намного понятнее и удобнее в использовании. За ними также стоит мощная математическая теория, которая упрощает анализ програм, написанных на них, распаралеливание и т.п. Естественно операционную систему на них писать или перемножать матрицы не стоит, но написать на SML, например, компилятор пара пустяков. Если вы не знакомы с этой концепцией, советую познакомиться, очень полезно знать, что существуют и другие подходы к понятию вычисления, кроме машины Тьюринга.
Re[6]: Статья про развитие идей ООП. Жду комментариев.
Перевожу на русскй:
мелкософт работает в своих лабораториях над функциональным языком F#.
Основанным на общем описании проблемы с помощью функций и организаций,
а компилятро сам все вычислит как лучше посчитать.
кстати ссыску надо бы приводить. или бред получается.
Винтовку добудешь в бою!
Re[7]: Статья про развитие идей ООП. Жду комментариев.
От:
Аноним
Дата:
19.06.03 09:44
Оценка:
Здравствуйте, vgrigor, Вы писали:
V>Перевожу на русскй: V>мелкософт работает в своих лабораториях над функциональным языком F#. V>Основанным на общем описании проблемы с помощью функций и организаций, V>а компилятро сам все вычислит как лучше посчитать.
V>кстати ссыску надо бы приводить. или бред получается.
Пока Микрософт чего то химичит в лабораториях, другие все уже сделали. Ссылки — www.haskell.org и www.ocaml.org.
Лучше ocaml, поскольку Haskell создан скорее в академических целях, типа изучения различных теоретических наворотов
и установить его сложнее. А ocaml можно сразу скачать и работать, кроме того для него там выложена on-line книга.
А>Пока Микрософт чего то химичит в лабораториях, другие все уже сделали. Ссылки — www.haskell.org и www.ocaml.org. А>Лучше ocaml, поскольку Haskell создан скорее в академических целях, типа изучения различных теоретических наворотов А>и установить его сложнее. А ocaml можно сразу скачать и работать, кроме того для него там выложена on-line книга.
Микрософт делает реально пригодные для использования продукты.
А некоторые развлекаются. Можно так сказать.
Я взглянул на окамл, и первый пример -использование рекурсий вместо циклов — явно
плохой предложение ввиду неудобства реального представления алгоритма,
линейных, простых. В общем -неудача на первой странице.
Винтовку добудешь в бою!
Re[9]: Статья про развитие идей ООП. Жду комментариев.
От:
Аноним
Дата:
19.06.03 10:02
Оценка:
Здравствуйте, vgrigor, Вы писали:
V>Микрософт делает реально пригодные для использования продукты. V>А некоторые развлекаются. Можно так сказать.
V>Я взглянул на окамл, и первый пример -использование рекурсий вместо циклов — явно V>плохой предложение ввиду неудобства реального представления алгоритма, V>линейных, простых. В общем -неудача на первой странице.
Записывать алгоритм с помощью рекурсии или циклов дело вкуса, поскольку это одно и тоже.
Функциональные языки потому и называются функциональными, что оперируют функциями — небольшими
по размеру. Вместо циклов используется рекурсия.
Однако за рекурсией вы не расмотрели главного — автоматического выведения типов + строгая типизация,
pattern matching, частичных функций и т.д. Кстати, переменных в ФЯ тоже нет, можете записать это им
в минус.
Re[10]: Статья про развитие идей ООП. Жду комментариев.
Здравствуйте, Akzhan, Вы писали:
A>Здравствуйте, Voblin, Вы писали:
V>>Кстати, описание миксинов в статье нормальное? Без ляпов?
A>Если честно — настолько сжатое, что если про неё заранее не знаешь, то и смысла не поймёшь
Я, конечно, понимаю, что если миксины описывать подробно, то получится толстая книжка, и показанное на картинке решение — это лишь один из частных случаев. Но, думаю, в контексте изложения такого очень краткого описания достаточно. Или нет? Или упустил что-то существенное?