На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (21) 1 [2] 3 4 ...  20 21  ( Перейти к последнему сообщению )  
> ООП - в топку!
    P.S. В статье как раз вот такая игра на смыслах понятий и происходит. Если намеренно, то автор троль, если нет, то просто нуб в ООП.

    Добавлено
    Цитата D_KEY @
    В каком?
    Хочешь, чтобы я процитировал классиков? А вот хрен, и сам сможешь. ООП является технологией, расширяющей рамки структурного подхода и избавленной от его недостатка невозможности его реализовать в полной мере на практике. Ни один язык структурного программирования не может предоставить программисту полный спектр нужных для этого грамматических конструкций, чему причиной является то, что для этого в общем случае потребуется бесконечно много типов грамматических конструкций. ООП эту проблему решает.
    К примеру, на C, ты ограничен разбиением программы на единицы трансляции, взаимодействующие между собой через публичные имена, те в свою очередь на функции, взаимодействие между которыми осуществляется через параметры, и... и на этом всё. Сокрытие реализаций осуществляется на первом уровне через статические имена, на втором – тоже статические и локальные. Всё. Иерархия всего из двух уровней. Если исходная задача такова, что двух уровней её разбиения на подзадачи хватит, то структурный подход в C прекрасно справится с её представлением. Увы, 2 уровня уже давно не хватает, поэтому начинаются костыли в лице логического выделения уровней иерархии подзадач без отображения на структуру кода. В ООП понятие класса искаропки позволяет иметь бесконечное количество уровней. Другими словами, уже C с классами позволял отображать структуру исходной сложной задачи на иерархию подзадач явным образом и без костылей.
      Цитата Qraizer @
      Ни один язык структурного программирования не может предоставить программисту полный спектр нужных для этого грамматических конструкций, чему причиной является то, что для этого в общем случае потребуется бесконечно много типов грамматических конструкций. ООП эту проблему решает.

      В лиспах это делается довольно легко и непринуждённо.

      Цитата Qraizer @
      К примеру, на C

      А, ты про эти языки…
        Цитата Qraizer @
        Хочешь, чтобы я процитировал классиков?

        Вроде как про определение(общепринятое и желательно формальное) ООП речь шла, а не про мнения.
          Раз уж холивары, то:

          Цитата
          In the article Is Software Engineering an Oxymoron?, Kay writes: "Until real software engineering is developed, the next best practice is to develop with a dynamic system that has extreme late binding in all aspects." While this doesn't necessarily constrain the definition of OO in his mind, it is a key statement of philosophy. C++, of course, does early binding everywhere it can--up to the point of performing StaticDispatch as a default (you have to ask for DynamicDispatch with the "virtual" keyword when you want it. [and even that, as in many other languages like Java, is only single dynamic dispatch. If you want "late binding everywhere," you need a much more powerful dispatch system, e.g. CommonLispObjectSystem's generics]).


          http://wiki.c2.com/?AlanKaysDefinitionOfObjectOriented

          =)

          Добавлено
          А это так, развлечения ради:
          http://lucacardelli.name/Papers/PrimObjImpSIPL.A4.pdf
          http://lucacardelli.name/Papers/PrimObj1stOrder.A4.pdf

          =)
          Сообщение отредактировано: korvin -
            Цитата D_KEY @
            Из раста вообще пока никто ничего еще не комуниздил. Рано.

            Возможно, это как раз под его влиянием пытаются сделать.
              Цитата Qraizer @
              Хочешь, чтобы я процитировал классиков?
              Классики сами путаются в определениях.
                Цитата korvin @
                If you want "late binding everywhere," you need a much more powerful dispatch system, e.g. CommonLispObjectSystem's generics

                Только вот это - не панацея и может иметь свои недостатки. Но тут уже начнётся холивар в стиле "статическая типизация vs динамическая типизация". К слову, C++ хорош именно тем, что позволяет ещё на этапе компиляции проверять большое количество констрейнтов, связанных с типами и связыванием, облегчая тем самым задачи рантайма. Впрочем, те, кто любят ловить на страницах undefined object'ы, на этот счёт другого мнения. :)
                  Flex Ferrum, а ООП тут при чем?
                    Цитата D_KEY @
                    Flex Ferrum, а ООП тут при чем?

                    При том же, при чём цитата Корвина. :) Это не ко мне вопрос. :)
                      Flex Ferrum, а ты как определяешь ООП?
                        Цитата D_KEY @
                        а ты как определяешь ООП?

                        Как подход к проектированию и декомпозиции программных систем. А на каком языке и как это будет реализовано - уже второй вопрос. То есть для меня дискуссия об ООП - это не дискуссия о языках, его так или иначе реализующих.

                        Добавлено
                        Популярная сейчас микросервисная архитектура - это то же ООП, вид в профиль.
                        Сообщение отредактировано: Flex Ferrum -
                          Цитата Flex Ferrum @
                          Цитата D_KEY @
                          а ты как определяешь ООП?

                          Как подход к проектированию и декомпозиции программных систем. А на каком языке и как это будет реализовано - уже второй вопрос. То есть для меня дискуссия об ООП - это не дискуссия о языках, его так или иначе реализующих.

                          Добавлено
                          Популярная сейчас микросервисная архитектура - это то же ООП, вид в профиль.

                          Задам хитрый вопрос - исходя из того, что ты сказал, что будет НЕ являться ООП? :)
                            Цитата Астарот @
                            Задам хитрый вопрос - исходя из того, что ты сказал, что будет НЕ являться ООП?

                            То, что дизайнится без применения ОО-подхода. Очевидно же! :D
                              Цитата Flex Ferrum @
                              Как подход к проектированию и декомпозиции программных систем.

                              который заключается в ...
                              В чем? :)

                              Добавлено
                              Цитата Flex Ferrum @
                              Популярная сейчас микросервисная архитектура - это то же ООП, вид в профиль.

                              А акторы?
                                Цитата Астарот @
                                Задам хитрый вопрос - исходя из того, что ты сказал, что будет НЕ являться ООП?
                                Ответ очевиден: то что не использует ОО
                                Цитата Flex Ferrum @
                                подход к проектированию и декомпозиции программных систем.
                                :lol:

                                Типа ООП это как не ООП, но наоборот.
                                Сообщение отредактировано: applegame -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (21) 1 [2] 3 4 ...  20 21


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0395 ]   [ 16 queries used ]   [ Generated: 28.03.24, 09:26 GMT ]