@proGO

Страница 1474 из 1674
FRD Official - Dmitriy
31.05.2018
09:09:45
Похоже, только один, в вики я больше не нашел таких, которые бы требовали наследование.
Есть 3 базовых принципа ООП - Инкапсуляция, Наследование, Полиморфизм. Нету одного из них - это не ООП

Daniel
31.05.2018
09:12:39
Ой

Google
Daniel
31.05.2018
09:12:51
Я просто нажал, оно само открылося )000)0)

Bogdan (SirEdvin)
31.05.2018
09:12:57
Andrey
31.05.2018
09:13:33
в js ты перекрываешь методы у общего родителя

Andrey
31.05.2018
09:13:39
через прототип

Bogdan (SirEdvin)
31.05.2018
09:14:05
Но это не наследывание, а прототипирование

Andrey
31.05.2018
09:14:28
все потомки будут наследовать общее поведение

Andrey
31.05.2018
09:14:40
Синяя Книга Богдана

Цвет наследования - Синий

FRD Official - Dmitriy
31.05.2018
09:15:06
На самомо деле, нет. Вот в js наследования нет (не было), а ооп есть)
Ну не было там ООП. Там была попытка повторить синтаксис явы, ага.

К примеру Алан Кей считает что без наследования ООП впринципе безсмысленно

Alexander
31.05.2018
09:15:59
Есть 3 базовых принципа ООП - Инкапсуляция, Наследование, Полиморфизм. Нету одного из них - это не ООП
ООП - это макакеноинкапсуляция, макакенонаследование и макакенополиморфизм, прошу не путать

Google
Alexander
31.05.2018
09:19:24
Поясни
Да что тут пояснять. Инкапсуляция в ООП так себе, наследование данных и реализации - худшее, что могли вообще придумать дизайнеры ЯП, ну а полиморфизм подтипов - херня полная по сравнению с параметрическим полиморфизмом.

Bogdan (SirEdvin)
31.05.2018
09:19:29
все потомки будут наследовать общее поведение
Но все же это не наследование, потому что наследование должно быть между классами. А когда из этого объекта создается другой - это вроде как прототипирование.

Alexander
31.05.2018
09:19:52
К примеру Алан Кей считает что без наследования ООП впринципе безсмысленно
А ещё статитечская типизация - от сатаны, стоит ли доверять таким авторитетам. Да что уж там, стоит ли вообще доверять авторитетам?

FRD Official - Dmitriy
31.05.2018
09:20:33
Andrey
31.05.2018
09:20:47
в эликсире все красиво, нет проблемы с полиморфизмом, все через матчеры

Bogdan (SirEdvin)
31.05.2018
09:20:48
Ну, при наследовании логика одного шаблона наследуется другим, а объекты создаются напрямую от шаблона. В случае прототипа - от объекта.

Правда оказалось, что прототипы в 99% случаев не очень удобны и все скатилось к шаблонам опять.

Bogdan (SirEdvin)
31.05.2018
09:22:23
что за книга?
Книга юного сурка про паттерны, же.

Pawel
31.05.2018
09:23:18
Надоело читать фигню. Вы трёте из пустого в порожнее. Пора завязывать этот бессмысленный базар про наследование и ООП. С помощью админа или без.

FRD Official - Dmitriy
31.05.2018
09:23:37
ООП в джаве та же императивщина, только с классами
Ну она мультипарадигменный язык, хотя точнее стала им по мере развития. Да и трудно назвать исключительно ООП языки.

Alexander
31.05.2018
09:24:27
Ну она мультипарадигменный язык, хотя точнее стала им по мере развития. Да и трудно назвать исключительно ООП языки.
> исключительно ООП языки уверен что вы назовёте всё ту же императивщину с классами

FRD Official - Dmitriy
31.05.2018
09:25:18
> исключительно ООП языки уверен что вы назовёте всё ту же императивщину с классами
Смаллтолк? Но я его наискосок пробегал, так что утверждать не могу

Olzhas
31.05.2018
09:26:11
о, сегодня про гуй срача уже нет?

начался за ООП

Igor
31.05.2018
09:26:23
ООП - это слияние данных и поведения в одну сущность (в отличии от функциональщины), а также объекты и сообщения, которыми они обмениваются. Все остальное - это уже конкретные реализации и детали имплементации.

Google
Olzhas
31.05.2018
09:26:29
завтра ФП и хаскель?

Andrey
31.05.2018
09:26:56
предлагаю тему на вброс - сколько зарабатывает начинающий гошник?

Olzhas
31.05.2018
09:27:26
нисколько - он не может найти работу, так как всем нужны синьоры от 5 лет опыта и со знанием блокчейна

Olzhas
31.05.2018
09:28:24
а как вы хеджируете риски?
не надо тут матерными словами разбрасываться да

Alexander
31.05.2018
09:28:31
Смаллтолк? Но я его наискосок пробегал, так что утверждать не могу
Хорошо. На этом список заканчивается. А дело в том, что ООП - не самостоятельная парадигма, сегодня ООП это набор методик и практик, которые существуют только для того, чтобы хоть как-то справится со сложностью в императивном программировании.

Andrey
31.05.2018
09:28:48
я просто гошник из финтеха, тут иначе нельзя

Bogdan (SirEdvin)
31.05.2018
09:29:29
Igor
31.05.2018
09:31:44
Я на ерланге не писал, но думал всегда, что это функциональный язык.

Kirill
31.05.2018
09:33:09
Императивная и функциональная парадигмы сами по себе неполноценны.
@demeliorator, а ты на это что имеешь сказать? У меня вот словарный запас меня подвёл

Bogdan (SirEdvin)
31.05.2018
09:33:12
Декларативная парадигма просто неосуществима, судя по всему. Выбор между неполноценным и неосуществимым вроде не такой сложный?

Alexander
31.05.2018
09:33:23
Ерланг это язык, главной фичей которого являются вездесущие акторы - те самые объекты обменивающиеся сообщениями.

Pawel
31.05.2018
09:34:23
завтра ФП и хаскель?
завтра погода стабилизируется, перестанет давление сокать - и шизики угомонятся до поры

Google
Igor
31.05.2018
09:34:49
завтра погода стабилизируется, перестанет давление сокать - и шизики угомонятся до поры
Покажи пример как сделать патерн шаблонный метод на го, и тогда все угомонятся )

Daniel
31.05.2018
09:35:25
если и правда нужен ответ - разверните вопрос

Alexander
31.05.2018
09:35:31
@demeliorator, а ты на это что имеешь сказать? У меня вот словарный запас меня подвёл
в функциональщине тебе нужны костыли, чтобы программа взаимодействовала с внешним миром. В императивщине ты просто не можешь строить нетекущие абстракции и тем самым бороться со сложностью.

Daniel
31.05.2018
09:35:36
если нет - советую угомонитьс уже сейчас

Igor
31.05.2018
09:35:43
Ерланг это язык, главной фичей которого являются вездесущие акторы - те самые объекты обменивающиеся сообщениями.
Тут уже нюансы терминологии, если для ООП достаточно только меседжей и объектов, то Ерланг - ООП, согласен. Но определения не столь однозначны.

Vladimir
31.05.2018
09:40:46
давайте вернемся к зарплатам гошников, не знающих блокчейна

а то заладили со своими парадигмами

Admin
ERROR: S client not available

Daniel
31.05.2018
09:41:00
зарплаты в другом чате

Pavel
31.05.2018
09:41:06
кто сказал что javascript говно?

Bogdan (SirEdvin)
31.05.2018
09:41:21
Покажи пример как сделать патерн шаблонный метод на го, и тогда все угомонятся )
Кстати, можно сделать что-то в таком духе: https://play.golang.org/p/y-bEcA0yME6

FRD Official - Dmitriy
31.05.2018
09:41:24
Покажи пример как сделать патерн шаблонный метод на го, и тогда все угомонятся )
Ну это сделать можно, но через Ж и лучше так не делать. Посути реализовать виртуальную таблицу методов, копирование структур и т.д. Не могу представить зачем.

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

Vladimir
31.05.2018
09:43:19
лох, щегол и неудачник?

FRD Official - Dmitriy
31.05.2018
09:43:43
И? Где тут облом?

Igor
31.05.2018
09:44:49
И? Где тут облом?
Ну вооде нет примера в той репе для этого патерна.

Alexander
31.05.2018
09:44:54
Покажи пример как сделать патерн шаблонный метод на го, и тогда все угомонятся )
Покажите пример где этот шаблонный метод может понадобится

Google
Bogdan (SirEdvin)
31.05.2018
09:46:08
Только вот не надо начинать эту любимую игру в духе "покажите пример - а ваша задача неправильная сформулирована, можно обойтись и без шаблонного метода". В целом он нужен для того, что бы давать возможность собирать логику в одном месте.

Bogdan (SirEdvin)
31.05.2018
09:49:00
Так собирайте без "шаблонного метода". Что вам мешает?
Ну вот предположим, у меня есть базовый метод парсера, он делает такие вещи: 1. Считывание данных 2. Преобразование в унифицированный формат 3. Чистка данных 4. Преобразование. 5. Транформация данных в итоговый результат И у меня есть базовый парсер. Далее мне нужен еще один, в котором я выполняю дополнительную трансформацию (скажем, высчитываю дополнительное поле) и второй, в котором более строго чищу данные.

Daniel
31.05.2018
09:49:21
ну

Bogdan (SirEdvin)
31.05.2018
09:50:04
Шаблонный метод как раз весьма неплохо подходит под эту задачу.

Daniel
31.05.2018
09:50:25
это хорошо

Kirill
31.05.2018
09:51:01
И почему бы вдруг тебе не хватило бы встраивания?

Pawel
31.05.2018
09:51:27
коллега, а покажите мне пример для того, чтобы я понял, зачем оно вам понадобилось
это очень общий паттерн, один из самых общих. При желании любой код, где функция принимает/возвращает не пустой интерфейс вместо конкретного типа можно трактовать как реализацию шаблонного метода. Но это всё гуманитарщина конечно

Bogdan (SirEdvin)
31.05.2018
09:52:51
Вам рассказать как эта задача решается композицией или сами додумаетесь?
Всякую задачу можно решить на тьюринг полном языке, это софистика. С таким подходом можно на brainfuck писать и радоватся жизни.

Daniel
31.05.2018
09:52:54
если бы мне реально было нужно что-то такое - я пишу этот код руками. если мне вдруг хочется менять поведение рантайме (в зависимости от данных и/или ключей при запуске) - я передаю в базовый парвер ссылки на функции, которые надо позвать для соответствующих действий. если у меня у меня есть потребность сделать это все для сотни разных типов - я расчехляю кодогенератор

Daniel
31.05.2018
09:56:56
а это принципиально - ссылки на функции или ссылка на интерфейс с методами?
нет, но ссылку на интерфейс я бы передал в яве. тут у нас существуют функции сами по себе, а не как методы класса, поэтому я класс отбросил, как ненужную сущность

Daniel
31.05.2018
09:58:16
ну и в параметрах функции можно потребовать передать конкретный тип, а ресивер интерфейса может оказаться чем угодно

Страница 1474 из 1674