Здравствуйте, Steamus, Вы писали:
S>То, что в глуповатых недоязычках для школьников типа javascript нет классов, но есть объекты, не означает что классов нет по сути. Просто одновременно с объявлением объекта (по пьяне называемого функцией) постулируется одноименный класс. Да, выглядит алогично, чтобы не сказать — полный кретинизм.
Дело в том, что парадигма классов в ООП старше языков с прототипированием лет на тридцать. Вот она и поселилась плотно в голове, и выглядит незаменимой. Наверное в 80е сторонники процедурных ЯП так же фыркали на Симулу. Ничего, со временем привыкнете и оцените
Re[10]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Steamus, Вы писали:
S>То, что в глуповатых недоязычках для школьников типа javascript нет классов, но есть объекты, не означает что классов нет по сути. Просто одновременно с объявлением объекта (по пьяне называемого функцией) постулируется одноименный класс. Да, выглядит алогично, чтобы не сказать — полный кретинизм.
Smalltalk/Python/Ruby-программисты неодобрительно смотрят на Steamus-а
Re[11]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Tissot, Вы писали:
T>Здравствуйте, Steamus, Вы писали:
S>>То, что в глуповатых недоязычках для школьников типа javascript нет классов, но есть объекты, не означает что классов нет по сути. Просто одновременно с объявлением объекта (по пьяне называемого функцией) постулируется одноименный класс. Да, выглядит алогично, чтобы не сказать — полный кретинизм.
T>Smalltalk/Python/Ruby-программисты неодобрительно смотрят на Steamus-а
Позврослеют, будут смотреть одобрительно. В смолтоке классы есть. Там хитро и не очень логично это было постулировано, за что язык и поплатился. Сам, когда читал, размышлял, почему парни нормально то не сделали? Но оно апасля всегда всё кажется понятным.
А по сути, по сути это не язык программирования вводит классы, это наш мозг их вводит. Но большинство об этом не задымывается.
Любой предмет мы относим к некоторому классу. Просто часть людей патологически не способна абстрагироваться. Это не в ваш адрес, это в адрес тех, кто изобретает всякие там раби, стараясь их лишить строгого описания абстракций. С другой стороны, может они и правы. Ибо тех кто видя стол, видит всегда конкретный стол, возможно и больше, чем тех, кто понимает, что есть абстрактная сущность "столы". Посему, если язык позиционируется на дилетантов (а раби такой язык, как и джаваскрипт), то в нём минимизируются любые абстракции. Народу так проще чухать. PHP — яркий пример.
Re[11]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, KoolAid, Вы писали:
KA>Здравствуйте, Steamus, Вы писали:
S>>То, что в глуповатых недоязычках для школьников типа javascript нет классов, но есть объекты, не означает что классов нет по сути. Просто одновременно с объявлением объекта (по пьяне называемого функцией) постулируется одноименный класс. Да, выглядит алогично, чтобы не сказать — полный кретинизм.
KA>Дело в том, что парадигма классов в ООП старше языков с прототипированием лет на тридцать. Вот она и поселилась плотно в голове, и выглядит незаменимой. Наверное в 80е сторонники процедурных ЯП так же фыркали на Симулу. Ничего, со временем привыкнете и оцените
Парадигма классов имеет возраст первого человека/обезьяны начавшего мыслить.
Re[8]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Steamus, Вы писали:
D>>Ага. Например, в javascript классов нет, а объекты есть. S>Ну вот потому он и не является хорошим внятным языком.
Перефразируя старый анекдот,
- 60 делится на все числа.
— На 17 не делится.
— Ну вот поэтому 17 и не является хорошим внятным числом.
Я не говорил про хорошесть или нехорошесть javascript. Я формально приводил контрпример к твоему "дожили млин", означающему, как я понимаю, отказ в несуществовании объектам без классов.
Re[9]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Steamus, Вы писали:
S>Любой предмет мы относим к некоторому классу. Просто часть людей патологически не способна абстрагироваться. Это не в ваш адрес, это в адрес тех, кто изобретает всякие там раби, стараясь их лишить строгого описания абстракций. С другой стороны, может они и правы. Ибо тех кто видя стол, видит всегда конкретный стол, возможно и больше, чем тех, кто понимает, что есть абстрактная сущность "столы". Посему, если язык позиционируется на дилетантов (а раби такой язык, как и джаваскрипт), то в нём минимизируются любые абстракции.
Это вы зря. С абстракциями в руби как раз все очень хорошо. Причем именно благодаря отказу от статической типизации
Re[9]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, Steamus, Вы писали:
D>>>Ага. Например, в javascript классов нет, а объекты есть. S>>Ну вот потому он и не является хорошим внятным языком.
D>Перефразируя старый анекдот,
D>
D>- 60 делится на все числа.
D>- На 17 не делится.
D>- Ну вот поэтому 17 и не является хорошим внятным числом.
D>Я не говорил про хорошесть или нехорошесть javascript. Я формально приводил контрпример к твоему "дожили млин", означающему, как я понимаю, отказ в несуществовании объектам без классов.
Я там ниже уже пояснил, что класс есть всегда. Его вводит наш мозг. Посему, если некий язык программирования явно не постулирует класс, то нужно просто поразмышлять где он постулируется неявно. В нашем мире любой реальный предмет как-то обзывается и сразу классифицируется. Если этого нет, то наш мозг не может им полноценно оперировать. Даже есди мы не можем классифицировать некий предмет, он всё равно классифицируется как "неклассифицируемый предмет"
Re[13]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Tissot, Вы писали:
T>Здравствуйте, Steamus, Вы писали:
S>>Любой предмет мы относим к некоторому классу. Просто часть людей патологически не способна абстрагироваться. Это не в ваш адрес, это в адрес тех, кто изобретает всякие там раби, стараясь их лишить строгого описания абстракций. С другой стороны, может они и правы. Ибо тех кто видя стол, видит всегда конкретный стол, возможно и больше, чем тех, кто понимает, что есть абстрактная сущность "столы". Посему, если язык позиционируется на дилетантов (а раби такой язык, как и джаваскрипт), то в нём минимизируются любые абстракции.
T>Это вы зря. С абстракциями в руби как раз все очень хорошо. Причем именно благодаря отказу от статической типизации
Возможно. Я слабо знаком с раби. Но, по правде говоря, любой отказ от статической типизации меня смущает. И будет смущать ровно до тех пор, пока компы не научатся мыслить.
Re[10]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Steamus, Вы писали:
D>>Я не говорил про хорошесть или нехорошесть javascript. Я формально приводил контрпример к твоему "дожили млин", означающему, как я понимаю, отказ в несуществовании объектам без классов.
S>Я там ниже уже пояснил, что класс есть всегда. Его вводит наш мозг. Посему, если некий язык программирования явно не постулирует класс, то нужно просто поразмышлять где он постулируется неявно. В нашем мире любой реальный предмет как-то обзывается и сразу классифицируется. Если этого нет, то наш мозг не может им полноценно оперировать. Даже есди мы не можем классифицировать некий предмет, он всё равно классифицируется как "неклассифицируемый предмет"
Проблема в том, что днем стул — это стул, а ночью — вешалка для рубашки. Вот и квалифицируй теперь этот предмет.
Re[11]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, Steamus, Вы писали:
D>>>Я не говорил про хорошесть или нехорошесть javascript. Я формально приводил контрпример к твоему "дожили млин", означающему, как я понимаю, отказ в несуществовании объектам без классов.
S>>Я там ниже уже пояснил, что класс есть всегда. Его вводит наш мозг. Посему, если некий язык программирования явно не постулирует класс, то нужно просто поразмышлять где он постулируется неявно. В нашем мире любой реальный предмет как-то обзывается и сразу классифицируется. Если этого нет, то наш мозг не может им полноценно оперировать. Даже есди мы не можем классифицировать некий предмет, он всё равно классифицируется как "неклассифицируемый предмет"
L>Проблема в том, что днем стул — это стул, а ночью — вешалка для рубашки. Вот и квалифицируй теперь этот предмет.
Да легко — деревянная конструкция стоящая в спальне. Теперь даже можно её по случаю и в печку закинуть. Для согреву.
А главное — я могу рядом поставить ещё семь таких конструкций, и мой мозг мгновенно прочухает, что всё это стулья/вешалки дял рубашек/фик знает что, но любому понятно — одноклассовые вещи. Экземпляры!
Re[12]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Steamus, Вы писали:
L>>Проблема в том, что днем стул — это стул, а ночью — вешалка для рубашки. Вот и квалифицируй теперь этот предмет.
S>Да легко — деревянная конструкция стоящая в спальне. Теперь даже можно её по случаю и в печку закинуть. Для согреву. S>А главное — я могу рядом поставить ещё семь таких конструкций, и мой мозг мгновенно прочухает, что всё это стулья/вешалки дял рубашек/фик знает что, но любому понятно — одноклассовые вещи. Экземпляры!
Нет, не одноклассовые
Re[14]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Steamus, Вы писали:
T>>Это вы зря. С абстракциями в руби как раз все очень хорошо. Причем именно благодаря отказу от статической типизации
S>Возможно. Я слабо знаком с раби. Но, по правде говоря, любой отказ от статической типизации меня смущает. И будет смущать ровно до тех пор, пока компы не научатся мыслить.
Это уже гораздо более адекватное объяснение вашей приверженности к статической типизации, чем отнесение всех "инакомыслящих" к категории (с) дилетантов.
Re[13]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, Steamus, Вы писали:
L>>>Проблема в том, что днем стул — это стул, а ночью — вешалка для рубашки. Вот и квалифицируй теперь этот предмет.
S>>Да легко — деревянная конструкция стоящая в спальне. Теперь даже можно её по случаю и в печку закинуть. Для согреву. S>>А главное — я могу рядом поставить ещё семь таких конструкций, и мой мозг мгновенно прочухает, что всё это стулья/вешалки дял рубашек/фик знает что, но любому понятно — одноклассовые вещи. Экземпляры!
L>Нет, не одноклассовые
Теоритически — да. Каждому можно назначить свой класс. Ну, скажем потому, что один стул на три грамма тяжелее другого. Против этого конечно не попрёшь. Но мозг потому и является мощным инструментом. Ибо, в зависимости от задачи, способен отбрасывать второстепенное детали и выявлять главные, и по ним классифицировать и далее оперировать классами. В принципе, если вы этого не выделили, то и дискутировать не имеет смысла. Куча людей цепляется к малозначащим деталям и не способна выявить общее. Не всем дано. Ничевострашного. И так живут.
Re[14]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Steamus, Вы писали:
L>>Нет, не одноклассовые
S>Теоритически — да. Каждому можно назначить свой класс. Ну, скажем потому, что один стул на три грамма тяжелее другого. Против этого конечно не попрёшь. Но мозг потому и является мощным инструментом. Ибо, в зависимости от задачи, способен отбрасывать второстепенное детали и выявлять главные, и по ним классифицировать и далее оперировать классами. В принципе, если вы этого не выделили, то и дискутировать не имеет смысла. Куча людей цепляется к малозначащим деталям и не способна выявить общее. Не всем дано. Ничевострашного. И так живут.
Если говорить чисто философски, то класс в действительности не является неизменным атрибутом объекта, он постоянно меняется как во времени, так и в зависимости от наблюдателя. Даже от состояния меняется — стол, который вчера назад был просто столом, будучи политым из ведерка ртути, переходит в категорию "опасный для жизни предмет, подлежащий утилизации".
Сэмулировать подобного рода поведение в статически-типизированном языке будет очень сложно. В отличии от...
Re[15]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, Steamus, Вы писали:
L>>>Нет, не одноклассовые
S>>Теоритически — да. Каждому можно назначить свой класс. Ну, скажем потому, что один стул на три грамма тяжелее другого. Против этого конечно не попрёшь. Но мозг потому и является мощным инструментом. Ибо, в зависимости от задачи, способен отбрасывать второстепенное детали и выявлять главные, и по ним классифицировать и далее оперировать классами. В принципе, если вы этого не выделили, то и дискутировать не имеет смысла. Куча людей цепляется к малозначащим деталям и не способна выявить общее. Не всем дано. Ничевострашного. И так живут.
L>Если говорить чисто философски, то класс в действительности не является неизменным атрибутом объекта, он постоянно меняется как во времени, так и в зависимости от наблюдателя. Даже от состояния меняется — стол, который вчера назад был просто столом, будучи политым из ведерка ртути, переходит в категорию "опасный для жизни предмет, подлежащий утилизации".
L>Сэмулировать подобного рода поведение в статически-типизированном языке будет очень сложно. В отличии от...
Класс — это не понятие вселенной/бога. Класс — это инструмент мозга. Во вселенной все предметы уникальны. И их много. Бесконечно много. Так много, что наш мозг не способен держать в себе такое количество предметов. И мозг нашёл выход. Для того, что бы манипулировать окружающими сущностями для решения некоей задачи, наш мозг умеет абстрагироваться. То есть, грубо говоря, отсекать незначащие в контексте решения некой задачи детали. А по значащим деталям, объединять предметы в группы, называемые классами. Мозгу это нужно, ибо иначе он не справится с разнообразием и сложностью окружаещего мира. И вот этот подход мозга и есть ООП. Такие вот дела. Больше вдаваться в дискуссию я не буду. Кто хочет, тот сам поймет. Кто не хочет — будет цепляться к словам. Если кто-то полагает что его мозг не мыслит по принципам ООП, то так оно видимо и есть. Его — не мыслит. Раз не смог абстрагироваться и понять.
Re[16]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Steamus, Вы писали:
L>>Если говорить чисто философски, то класс в действительности не является неизменным атрибутом объекта, он постоянно меняется как во времени, так и в зависимости от наблюдателя. Даже от состояния меняется — стол, который вчера назад был просто столом, будучи политым из ведерка ртути, переходит в категорию "опасный для жизни предмет, подлежащий утилизации".
L>>Сэмулировать подобного рода поведение в статически-типизированном языке будет очень сложно. В отличии от...
S>Класс — это не понятие вселенной/бога. Класс — это инструмент мозга. Во вселенной все предметы уникальны. И их много. Бесконечно много. Так много, что наш мозг не способен держать в себе такое количество предметов. И мозг нашёл выход. Для того, что бы манипулировать окружающими сущностями для решения некоей задачи, наш мозг умеет абстрагироваться. То есть, грубо говоря, отсекать незначащие в контексте решения некой задачи детали. А по значащим деталям, объединять предметы в группы, называемые классами. Мозгу это нужно, ибо иначе он не справится с разнообразием и сложностью окружаещего мира.
Вы зачем эти банальности повторяете? Вы считаете, что это кому-то непонятно?
S>И вот этот подход мозга и есть ООП. Такие вот дела.
Да вот только речь-то не об ООП, а о статической типизации
S>Больше вдаваться в дискуссию я не буду. Кто хочет, тот сам поймет. Кто не хочет — будет цепляться к словам. Если кто-то полагает что его мозг не мыслит по принципам ООП, то так оно видимо и есть. Его — не мыслит.
Да, мы все знаем, что именно засчитывают за переход на личности.
Re[17]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Lloyd, Вы писали:
L>Да вот только речь-то не об ООП, а о статической типизации
А другой типизации и не бывает. Трансляторы пока мыслить не научились. Динамическая типизация это не более чем понты. По сути разработчик просто говорит транслятору — назначь всякой моей переменной какой-нить свой универсальный класс гандон. И будет ООП объект! Мелкий гандон. Средний гандон. Крупный гандон. Смысла нет. Компу пофик, а парню приятно. Он терь — ООП пацан. Методы всех объектов ессно стандартны: надеть, снять, надуть, вдуть... ну и далее от фантазии. Другие особенности классов не осмысливались. Зато всё налету и в процессе. Динамически!
Re[15]: Применяете ли вы не-ООП подходы к архитектуре?
Здравствуйте, Lloyd, Вы писали:
L>Сэмулировать подобного рода поведение в статически-типизированном языке будет очень сложно. В отличии от...
Сдаётся мне, что и в этих самых "от ..." это будет нифига не проще, а точно также невозможно.
В HL2 Ep1 (или Ep2) есть момент, когда Барни выдёргивает монтировку из механизма моста и подаёт её Фримену. В режиме прохождения с комментариями разработчиков эти самые разработчики рассказывают, что тут на самом деле три монтировки: одна в механизме, потом в определённый момент она исчезает и появляется другая, привязанная к положению руки Барни, ну и наконец, когда Фримен монтировку получает — это уже третья. Вот так вот. Для, казалось бы, тривиальнейшего действия — даже без изменения свойств объекта, без поливания его ртутью — такие совершенно непроходимо дикие хаки. А вы говорите — ООП, типизация, динамика... От динамики вашей польза возможна лишь в очень узком множестве сценариев. Да и в них, есть подозрение, гимору будет больше, чем пользы.
Re[16]: Применяете ли вы не-ООП подходы к архитектуре?
D>От динамики вашей польза возможна лишь в очень узком множестве сценариев.
Вот, например, приду я к пластическому хирургу и попрошу мне пришить второй член на грудь. Вроде бы, все ранее имевшиеся свойства и модели поведения остались при мне, а вот новое свойство новый член public Dick dick2 к классу Man добавить как-то надо.
D>Да и в них, есть подозрение, гимору будет больше, чем пользы.
Потому что на динамике человек не будет париться заводить под меня такого красивого отдельный класс, а присобачит новое свойство динамически. После чего, где бы он с этим классом Man ни работал, нигде ему IDE не подскажет, что у этого класса может быть ещё и член dick2. Что, во-первых, чревато опечатками в имени свойства, а во-вторых, если факт его наличия/отсутствия влияет на поведение класса (а такое козырное свойство будет влиять да ещё как! гыгы), то вообще пиши пропало.