Отправляет email-рассылки с помощью сервиса Sendsay

Бизнес on-line

  Все выпуски  

Softcraft: новости сайта и не только (014)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Softcraft: новости сайта и не только (014)

http://www.softcraft.ru

Я приветствую всех своих подписчиков!


О новом материалe

Написана очередная порция заметок по парадигмам программирования. Получилось нудно, скучно и длинно. Дурной пример того, как из трех страничек текста можно сделать пятьдесят. Куча мелких и тривиальных примеров с намеками на сверхбольшие программы. Вот куда, бывает, заводят попытки разобраться в собственных мыслях! Зато, можно скачать архив с первой страницы или просто прочитать ниже краткое содержание.

  1. В предлагаемых заметках анализируется техника построения и использования программных объектов. При этом я попытался абстрагироваться от методологических, ресурсных и функциональных аспектов.
  2. Рассматривается применение техники построения программных объектов в эволюционном программировании (кодировании). Упор сделан на процедурное и объектно-ориентированное программирование. Эволюционное программирование используется при разработке больших программных систем. Оно позволяет расширять функциональные и структурные возможности программы с минимальными изменениями уже написанного кода.
  3. Проведено разделение техники кодирования на процедурную и объектно-ориентированную. Это чисто субъективное решение основано на использовании ряда методов построения программ в "дообъектную" эпоху.
  4. Независимо от техники и парадигм программирования мы создаем программные объекты и отношения между ними, используя такие понятия как агрегат и обобщение. К одному и тому же конечному результату можно прийти различными путями.
  5. Рассмотрена техника создания агрегатов и обобщений при процедурном и объектно-ориентированном подходах. Сделана попытка проиллюстрировать ее серий мелких и тривиальных примеров.
  6. Процедурное агрегирование обладает большей гибкостью по сравнению с объектно-ориентированным, а метафора автономного полнофункционального объекта не всегда удобна, так как вступает в противоречие с ассоциациями, необходимыми при построении эволюционно наращиваемых программ. При этом можно, используя процедурный подход, вообразить, что мы работам с объектами, или изменить язык программирования таким образом, чтобы обычные внешние процедуры "прикидывались" внутренними методами объектов.
  7. Объектное обобщение обладает неоспоримыми преимуществами при создании эволюционно расширяемых альтернатив и агрегатов с неизменяемым интерфейсом. Эти достоинства, на мой взгляд, и предопределили ход дальнейшего практического использования парадигм программирования. Хотя, и у объектных обобщений имеется ряд недостатков, вместо исправления которых проще использовать методы процедурного программирования.
  8. Высокоэффективное эволюционное программирование должно быть многоруким. Иначе, оно не будет эффективным. Поэтому, даже в языках, считающихся чисто объектными, всегда существуют механизмы поддержки процедурного стиля, к коим можно отнести анализ типа объекта во время выполнения (даже, если внешне он прикидывается внутренним методом).
  9. Будущее за мультипарадигматическим программированием (по Страуструпу). Следовательно, и методологии скоро вновь начнут "плыть" в сторону поддержки смешанных способов представления программных объектов, обеспечивая большую гибкость при проектировании.

С наилучшими пожеланиями!

А.Л.



http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное