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

    Я еще тогда прочитал, но что такое монада - так и не понял :D Кстати, а что такое "do-нотация"? А то который раз слышу, но определения не знаю :D
      Цитата Астарот @
      Цитата D_KEY @
      Так о чем же ты спрашивал тогда?

      Что такое "в математическом смысле" относительно функционального подхода. Дай, пожалуйста, четкое определение.

      :facepalm: Еще раз. "В математическом смысле" относилось к "функциям". Т.е. эта часть фразы означает лишь то, что под "функцией" понимается то же, что в математике.
        Цитата Астарот @
        Кстати, а что такое "do-нотация"?

        Это синтаксический сахар для цепочки.
        Вместо
        ExpandedWrap disabled
              main =
                  putStrLn "What is your name?" >>
                  getLine                       >>= \name ->
                      putStrLn ("Nice to meet you, " ++ name ++ "!")

        Пишем проще:
        ExpandedWrap disabled
              main = do
                  putStrLn "What is your name?"
                  name <- getLine
                  putStrLn ("Nice to meet you, " ++ name ++ "!")


        Но это одно и то же.
          Цитата D_KEY @
          Согласен. Надо же.

          Тогда с чем ты споришь? ООП - это не про код, это про твой взгляд на код. Взаимосвязь объектов может рассматриваться, как ООП, но никто не мешает этой совокупности объектов выступать в роли аспекта, а значит их же - не такие же объекты, а эти же! - можно рассматривать как часть аспектно-ориенированного кода. То есть то, о чем говорит Флекс - это все про дизайн, про подход, про взгляд на вещи.

          Добавлено
          Цитата D_KEY @
          :facepalm: Еще раз. "В математическом смысле" относилось к "функциям". Т.е. эта часть фразы означает лишь то, что под "функцией" понимается то же, что в математике.

          :facepalm: Если ты ищещь но никак не можешь найти, то подсказываю - без побочных эффектов. Что совершенно не мешает функциональному подходу работать с более-менее грязными функциями.
            Т.е. как если бы в том моем говнокоде на плюсах:
            ExpandedWrap disabled
                  auto io_main =
                      putLine("What is your name?") >>
                      getLine(unit{})               >>= [=](auto name) {
                          return putLine("Nice to meet you, " + name + "!");
                      };


            Можно было бы написать примерно так:
            ExpandedWrap disabled
                  auto io_main = do {
                      putLine("What is your name?");
                      name <- getLine(unit{});
                      return putLine("Nice to meet you, " + name + "!");
                  };

            Но C++ ничего подобного не позволяет сделать, насколько я понимаю.
              Цитата D_KEY @
              Это синтаксический сахар для цепочки.

              То есть f(a(b(),c())) - это тоже do-нотация?
                Цитата Астарот @
                Тогда с чем ты споришь?

                С наличием четкого и вменяемого определения ООП.
                  Цитата D_KEY @
                  в том моем говнокоде на плюсах

                  Очень похоже на перл, как по мне :D
                    Цитата Flex Ferrum @
                    Нет.

                    Так в той же цитате написано, что да.

                    Цитата Flex Ferrum @
                    Структурированный - это, очевидно, имеющий некую внутренню структуру, взаимосвязи.

                    Как это всё относится к ООП? Если программа не в ООП-стиле, то она априори не сруктурирована?
                      Цитата D_KEY @
                      С наличием четкого и вменяемого определения ООП.

                      Так как это про подход, то таких определений может быть множество, и каждое из них будет в равной мере правильным и не правильным. Правильным в той части которая соответствует подходу того, кто дает определение, и не правильной для всех у кого подход отличается.
                        Цитата Астарот @
                        Так как это про подход, то таких определений может быть множество, и каждое из них будет в равной мере правильным и не правильным. Правильным в той части которая соответствует подходу того, кто дает определение, и не правильной для всех у кого подход отличается.

                        Так я примерно это и говорил :) Набор практик. Но это же и означает, что четкого определения нет. Но некоторые вот считают, что знают истину.
                          Цитата D_KEY @
                          С наличием четкого и вменяемого определения ООП.

                          Давай зайдем с другой стороны. Вот нонче приобрела популярность некая технология. Основные принципы которой - все есть объекты(ну или почти все), выделение общего в интерфейсы, наследование свойств и поведения - чтобы не дублировать код, инкапсуляция деталей, что бы тот кто это использовал не думал о том, как это устроено внутри и т.д. И вот такой подход начинает применяться везде и всюду. Как ты предлагаешь поступить ? Везде писать я использую вот это и портянку такую, или как?
                          Я так понимаю тебя не интересует как оно есть на самом деле на практике, тебя интересует чисто философская сторона вопроса. Мол де. Вот смотрите, у меня есть инструкция mov, принимает два аргумента, куда и откуда, mov - это у нас интерфейс, откуда - объект и куда - объект. censored, да тут же ООП. Че в ассемблере ООП? Очень расплывчатая формулировка, ниче не понять. Так что ли?
                          Сообщение отредактировано: Qraizer -
                            Цитата D_KEY @
                            Но это же и означает, что четкого определения нет.

                            Это значит, что четких определений много. Это примерно, как с термином "человек" - четкого определения дать не получится, однако это вовсе не значит, что мы не знаем, что такое человек.
                              Цитата D_KEY @
                              Набор практик.

                              Вообще то это парадигма, а не набор практик.
                                Цитата D_KEY @
                                Но некоторые вот считают, что знают истину.

                                Ну, да. Ты, например :)
                                Сообщение отредактировано: Астарот -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (21) « Первая ... 10 11 [12] 13 14 ...  20 21


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0562 ]   [ 15 queries used ]   [ Generated: 30.04.24, 18:44 GMT ]