За горизонтом ООП
От: joker6413  
Дата: 17.02.03 12:20
Оценка:
Привет всем, вот понастоящему филосовский вопрос, на который я хотел бы получить ответ...
Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?
Мне рассказали про "процессно ориентированный подход" (как-то вроде так, но не поручусь) это когда данные принадлежат некой "транзакции" которая содержит состояние и обрабатывается специальными "блоками кода" (процессами, и т.д.) которые никакого состояния не содержат. Как-то так...

Может кто больше знает?

Игорь
Re: За горизонтом ООП
От: Митрошин Александр Россия  
Дата: 17.02.03 15:01
Оценка:
Здравствуйте, joker6413, Вы писали:

J>Привет всем, вот понастоящему филосовский вопрос, на который я хотел бы получить ответ...

J>Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?
J>Мне рассказали про "процессно ориентированный подход" (как-то вроде так, но не поручусь) это когда данные принадлежат некой "транзакции" которая содержит состояние и обрабатывается специальными "блоками кода" (процессами, и т.д.) которые никакого состояния не содержат. Как-то так...

Смахивает на STL-ые алгоритмы и контейнеры, так это давно уже есть. Если что-то новое, так это АОП (аспектно-ориентированное программирование). Там я не спец, но по слухам там программирование заключается в проставлении атрибутов, как в COM+ атрибут "транзакция", к примеру.
Re: За горизонтом ООП
От: _vovin http://www.pragmatic-architect.com
Дата: 17.02.03 15:41
Оценка:
Здравствуйте, joker6413, Вы писали:

J>Привет всем, вот понастоящему филосовский вопрос, на который я хотел бы получить ответ...

J>Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?
J>Мне рассказали про "процессно ориентированный подход" (как-то вроде так, но не поручусь) это когда данные принадлежат некой "транзакции" которая содержит состояние и обрабатывается специальными "блоками кода" (процессами, и т.д.) которые никакого состояния не содержат. Как-то так...

J>Может кто больше знает?


J>Игорь


В действительности ООП далеко не исчерпало себя, точнее еще не показало все свои возможности. Кое-какие мысли читай в этой статье про Smalltalk.

При чисто объектном подходе многие вещи, такие как AOP, remoting, persistance становятся простым следствием базовых возможностей.

Естественно, ОО это далеко не вершина, сам объектный подход нуждается в развитии. Ближайшее полезное дополнение на горизонте — Subjects, т.е. субъектно-ориентированное программирование. Весьма полезное расширение для командной разработке и разработке многих проектов.

--

Владимир.
Re: За горизонтом ООП
От: Аноним  
Дата: 17.02.03 20:54
Оценка:
Здравствуйте, joker6413, Вы писали:

J>Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?


Если верить МС в том, что все будущее программирование будет так или иначе завязано на веб, весьма популярной моделью станет тогда т.н. компонентно-ориентированное программирование, используемое конкретно для создание распределенных приложений.
Re[2]: За горизантом ООП
От: _vovin http://www.pragmatic-architect.com
Дата: 18.02.03 07:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, joker6413, Вы писали:


J>>Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?


А>Если верить МС в том, что все будущее программирование будет так или иначе завязано на веб, весьма популярной моделью станет тогда т.н. компонентно-ориентированное программирование, используемое конкретно для создание распределенных приложений.


Компонетная модель вполне вписывается в рамки ООП.
Насчет интернета — уже обсыпались дот-комы, инвесторы будут прежде всего думать о возможной отдаче, прежде чем еще раз вкладывать в интернет.
Re[2]: За горизонтом ООП
От: joker6413  
Дата: 18.02.03 07:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, joker6413, Вы писали:


J>>Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?


А>Если верить МС в том, что все будущее программирование будет так или иначе завязано на веб, весьма популярной моделью станет тогда т.н. компонентно-ориентированное программирование, используемое конкретно для создание распределенных приложений.


Сорри но это не то, "завязанное на веб программирование" определятет лишь специфическую направленность разработок, их сложность, и не больше. Веб сервер или веб приложение можно написать и на asm`е. Вопрос в том кому это надо...

А обьектно ориентированное програмирование (полиморфизм, инкапсуляция, наследование) себя по моему исчерпало. Обьединение данных и кода, в больших проектах непомерно порождает рост энтропии.

Аспектно-ориентированное программирование похоже на следующий шаг, но что-то ничего определенного я по этой теме найти не могу.

Игорь
Re[3]: За горизонтом ООП
От: calm Россия  
Дата: 18.02.03 08:08
Оценка: 7 (2)
J>А обьектно ориентированное програмирование (полиморфизм, инкапсуляция, наследование) себя по моему исчерпало. Обьединение данных и кода, в больших проектах непомерно порождает рост энтропии.
J>Игорь

Не могу согласиться с этим утверждением.
Грамотно спроектированный ОО-проект не превращается в хаотическое переплетение данных и кода.
Вот только не каждый может похватать умением использовать ООП (это не наезд на Игоря).
Небезызвестный Н.Вирт пару лет назад заметил, что
"95% программ, созданных с использованием средств, поддерживающих ОО-технологии, по своей сути не явлюятся ОО-программами."
Re[3]: За горизантом ООП
От: _vovin http://www.pragmatic-architect.com
Дата: 18.02.03 08:16
Оценка:
J>>>Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?

А>>Если верить МС в том, что все будущее программирование будет так или иначе завязано на веб, весьма популярной моделью станет тогда т.н. компонентно-ориентированное программирование, используемое конкретно для создание распределенных приложений.


J>Сорри но это не то, "завязанное на веб программирование" определятет лишь специфическую направленность разработок, их сложность, и не больше. Веб сервер или веб приложение можно написать и на asm`е. Вопрос в том кому это надо...


J>А обьектно ориентированное програмирование (полиморфизм, инкапсуляция, наследование) себя по моему исчерпало. Обьединение данных и кода, в больших проектах непомерно порождает рост энтропии.


J>Аспектно-ориентированное программирование похоже на следующий шаг, но что-то ничего определенного я по этой теме найти не могу.


J>Игорь


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

Кроме того, прочитай статью Objects have failed. Хотя там говорится, что ОО потерпело неудачу, но в то же время отмечается, что этой неудачей была концентрация на статической концепции в рамках ООП. А объектный подход представляет собой высокодинамичную систему.

--

Владимир.
Re[4]: За горизонтом ООП
От: _vovin http://www.pragmatic-architect.com
Дата: 18.02.03 08:20
Оценка:
J>>А обьектно ориентированное програмирование (полиморфизм, инкапсуляция, наследование) себя по моему исчерпало. Обьединение данных и кода, в больших проектах непомерно порождает рост энтропии.
J>>Игорь

C>Не могу согласиться с этим утверждением.

C>Грамотно спроектированный ОО-проект не превращается в хаотическое переплетение данных и кода.
C>Вот только не каждый может похватать умением использовать ООП (это не наезд на Игоря).
C>Небезызвестный Н.Вирт пару лет назад заметил, что
C>"95% программ, созданных с использованием средств, поддерживающих ОО-технологии, по своей сути не явлюятся ОО-программами."


Золотые слова. Все это следствие "самопальности" программистов. Вот если бы в вузах вдалбливали фундаментальные основы и современные разработки функционального/объектного программирования/дизайна, проблем качества ПО стало бы на порядок меньше.

--

Владимир.
Re[5]: За горизонтом ООП
От: Ведмедь Россия  
Дата: 18.02.03 08:27
Оценка:
Здравствуйте, _vovin, Вы писали:


V>Золотые слова. Все это следствие "самопальности" программистов. Вот если бы в вузах вдалбливали фундаментальные основы и современные разработки функционального/объектного программирования/дизайна, проблем качества ПО стало бы на порядок меньше.


Если бы в ВУЗах вдабливали не только основы, но и заставляли делать ПРАКТИЧЕСКИЕ вещи, связанные с проектированием, работой с требованиями, разработкой, теститрованием, что бы эти фундаментальные основы закрепить, это было бы на порядок эффективней. Иначе толку в вузе от основ, если их не применять?
Да пребудет с тобой Великий Джа
Re[6]: За горизонтом ООП
От: _vovin http://www.pragmatic-architect.com
Дата: 18.02.03 08:29
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>Здравствуйте, _vovin, Вы писали:


В>

V>>Золотые слова. Все это следствие "самопальности" программистов. Вот если бы в вузах вдалбливали фундаментальные основы и современные разработки функционального/объектного программирования/дизайна, проблем качества ПО стало бы на порядок меньше.

В>Если бы в ВУЗах вдабливали не только основы, но и заставляли делать ПРАКТИЧЕСКИЕ вещи, связанные с проектированием, работой с требованиями, разработкой, теститрованием, что бы эти фундаментальные основы закрепить, это было бы на порядок эффективней. Иначе толку в вузе от основ, если их не применять?


Спорить тут не о чем. Конечно, долбежка должна включать и практические занятия. Иначе это будет зубрежка.

--

Владимир.
Re: За горизонтом ООП
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 18.02.03 15:20
Оценка:
Здравствуйте, joker6413, Вы писали:

J>Привет всем, вот понастоящему филосовский вопрос, на который я хотел бы получить ответ...

J>Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?
J>Мне рассказали про "процессно ориентированный подход" (как-то вроде так, но не поручусь) это когда данные принадлежат некой "транзакции" которая содержит состояние и обрабатывается специальными "блоками кода" (процессами, и т.д.) которые никакого состояния не содержат. Как-то так...

J>Может кто больше знает?


J>Игорь


Все больше и больше поклонников XP. По сути основной упор делается на поддержание существующих ООП-программ в "читабелином" состоянии, т. е. чтобы программирование не превращалось в хакерство.
Re: За горизонтом ООП
От: Balancer Россия http://balancer.da.ru
Дата: 18.02.03 17:21
Оценка:
Думаю, будущее — за агентным программированием. Что-то типа ООП, только объекты становатся самостоятельными, наглухо инкапсулированными, межплатформенными, в идеале — хорошо документированными. Объекты-агенты способны вызывать другие объекты по каким-то признакам, в том числе не только в своей основной среде, но и на удалённых машинах. Вполне может быть, что появятся какие-то хитрые межагентные интерфейсы, на основе нечёткой логики, ИИ...

Язык программирования становится совсем не важен и уходит на второй план. Каждый пишет на чём ему удобнее,

Программы как таковые практически исчезают, вместо них — агенты более высокого уровня, управляющие "мелочью".

Операционная система занимается установлением межагентных связей и предоставляет базовых агентов ввода-вывода.

На самом деле всё это уже практически есть и, думаю, описанный мною вариант дело не слишком далёкого будущего

Если же рассматривать тенденции развития языков — то безусловно тут будут два основных направления. Упрощение синтаксиса за счёт всё более высокоинтеллектуальных компиляторов (см. Perl, Haskell, Pyton) — это, в первую очередь, для скриптовых языков. Вторая ветвь — чисто аппликативные языки, позволяющие быстро "на коленке", в GUI слепить связку базовых объектов (агентов) во что-то осмысленное. Прообраз — тот же VB. В качестве "клея" может выступать язык первого направления. Всё это будет снабжаться интеллектуальными компиляторами, в том числе с алгоритмической оптимизаций. Компиляция, скорее всего, будет двухслойная — сперва в шитый код, в котором и будут жить переносимые объекты. И уже на целевой платформе при исполнении компиляция в нативный код. Последнее, впрочем, опционально, для подавляющего большинства агентов будет некритична и интерпретация шитого кода.

Ну, вот... Сумбурно, но где-то так я вижу наше светлое будущее :D
...Глубина-глубина, я не твой...
Re[2]: За горизонтом ООП
От: WolfHound  
Дата: 18.02.03 22:29
Оценка:
Здравствуйте, Balancer, Вы писали:

B>Ну, вот... Сумбурно, но где-то так я вижу наше светлое будущее :D


Чавото оно мне напоминает..., а .NET
... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: За горизонтом ООП
От: Balancer Россия http://balancer.da.ru
Дата: 19.02.03 06:43
Оценка:
WH>Чавото оно мне напоминает..., а .NET

Ну, .NET на это, думается, похож как самолёт братьев Райт на МиГ-25, но, в целом, ход в верном направлении. Но, думаю, что наше светлое будущее будет не на .NET — MS как обычно, слишко много скроет, слишком мало выдаст, слишком плотно держаться будет... Скорее всего ЭТО родится на чём-то открытом. Почти все великие вещи в мире компьютеров начинались с открытых архитектур
...Глубина-глубина, я не твой...
Re: За горизонтом ООП
От: Magister Россия  
Дата: 20.02.03 13:37
Оценка:
Здравствуйте, joker6413, Вы писали:

J>Привет всем, вот понастоящему филосовский вопрос, на который я хотел бы получить ответ...

J>Было структурное программирование (декомпозиция методов), после появилось обьектно-ориентированное программирование (декомпозиция классов), а что дальше?
J>Мне рассказали про "процессно ориентированный подход" (как-то вроде так, но не поручусь) это когда данные принадлежат некой "транзакции" которая содержит состояние и обрабатывается специальными "блоками кода" (процессами, и т.д.) которые никакого состояния не содержат. Как-то так...

J>Может кто больше знает?


J>Игорь




На мой взгляд многие технологии разработки ПО идут к тому, чтобы побороть делитанство.
Ведь при грамотном проектировании систем, делетант может быть весьма полезным кодером
с точки зрения достижения результата.
Re[2]: За горизонтом ООП
От: grinka Россия  
Дата: 21.02.03 07:50
Оценка:
Здравствуйте, Magister, Вы писали:


M>На мой взгляд многие технологии разработки ПО идут к тому, чтобы побороть делитанство.

M>Ведь при грамотном проектировании систем, делетант может быть весьма полезным кодером
M>с точки зрения достижения результата.

Ну во-первых: дИлетантство.

А во-вторых не пойму, при чём тут борьба с дилетантством? Инструменты всё более и более визуализируются, так что создавать себе небольшие утилитки, схемы рассчёта чего-то или формочки/будильники становится всё проще и проще. Тут уже даже не задачка для студента первого курса, а для секретарши-блондинки.

И если дилетант может быть полезным кодером, то получается, что грамотное проектирование как раз способствует появлению дилетантов? Какая уж тут борьба нафик?
... << RSDN@Home 1.0 beta 6a >>
Я умею говорить и писать по-русски!
Re[3]: За горизонтом ООП
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.02.03 07:57
Оценка:
Здравствуйте, grinka, Вы писали:

G>так что создавать себе небольшие утилитки, схемы рассчёта чего-то или формочки/будильники становится всё проще и проще. Тут уже даже не задачка для студента первого курса, а для секретарши-блондинки.


А брюнетки что, глупее?
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Блондинки и брюнетки
От: grinka Россия  
Дата: 21.02.03 10:28
Оценка:
Здравствуйте, AndrewVK, Вы писали:

G>>так что создавать себе небольшие утилитки, схемы рассчёта чего-то или формочки/будильники становится всё проще и проще. Тут уже даже не задачка для студента первого курса, а для секретарши-блондинки.


AVK>А брюнетки что, глупее?


Традиционно считается, что блондинки — самые глупые человеки. Оборот речи такой.

Дискутировать по поводу дискриминации блондинок не собираюсь, так что копья можете не ломать

Так вот я имел в виду, что теперь инструментарий упрощает визуальную разработку всё больше и больше. Оболочка VB, например, позволяет создавать что-то ВООБЩЕ не зная синтаксиса самого васика. С этим последний идиот справится, не только дилетант.
... << RSDN@Home 1.0 beta 6a >>
Я умею говорить и писать по-русски!
Re[5]: За горизонтом ООП
От: bkat  
Дата: 21.02.03 16:06
Оценка:
Здравствуйте, _vovin, Вы писали:

J>>>А обьектно ориентированное програмирование (полиморфизм, инкапсуляция, наследование) себя по моему исчерпало. Обьединение данных и кода, в больших проектах непомерно порождает рост энтропии.

J>>>Игорь

C>>Не могу согласиться с этим утверждением.

C>>Грамотно спроектированный ОО-проект не превращается в хаотическое переплетение данных и кода.
C>>Вот только не каждый может похватать умением использовать ООП (это не наезд на Игоря).
C>>Небезызвестный Н.Вирт пару лет назад заметил, что
C>>"95% программ, созданных с использованием средств, поддерживающих ОО-технологии, по своей сути не явлюятся ОО-программами."


V>Золотые слова. Все это следствие "самопальности" программистов. Вот если бы в вузах вдалбливали фундаментальные основы и современные разработки функционального/объектного программирования/дизайна, проблем качества ПО стало бы на порядок меньше.


А если взглянуть на проблему иначе?
Может одна из проблем объектного программирования — это сложность его понимания.
Что-то я как-то не слышал разговоров о том, что обычное структурное/процедурное
программирование очень сложно для изучения.
Можно ведь и встать на точку зрения, что если некий практический подход
сложен для изучения и понимания, то это минус такого подхода.

Если что-то рассчитано на массовое применение, то легкость изучения
и применения — это важный критерий.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.