@typescript_ru

Страница 654 из 669
Oleg
15.06.2018
10:07:50
а не кажется что топить против функциональщины или ооп - это срач годов с 80-х?)

Andrey
15.06.2018
10:07:57
Это не поможет, потому что типизация абсолютно разныя.

Andrey
15.06.2018
10:08:20
Google
kana
15.06.2018
10:08:26


Oleg
15.06.2018
10:08:27
нет, это вечный срач
ну я и говорю, как в прошлом веке загорелось так и горит

Aleh
15.06.2018
10:08:37
да и в джаву лямбды завезли
Я календарь переверну...

Алексей
15.06.2018
10:08:47
с шарпе дженерики и там так получается

Сергей
15.06.2018
10:08:51
бля

Сергей
15.06.2018
10:09:02
выкиньте нахуй свои привычки, если лезете в жс

вот вам итог

Oleg
15.06.2018
10:09:44
только наследование на прототипах - только хардкор)

Andrey
15.06.2018
10:10:25
Если я не ошибаюсь, тои на бекенде вас нахуй пошлют, если вы наследоваться захотите.

kana
15.06.2018
10:10:35


Алексей
15.06.2018
10:10:36
Что бы тут функциональщики не говорили, но JS мультипарадигменный язык, а значит ООП тут не запрещено.

Google
Andrey
15.06.2018
10:10:37
Только интерфейсы и композиция.

Сергей
15.06.2018
10:10:49
но оно и работает не так как в других языках

и цена другая

Andrey
15.06.2018
10:11:16
Ошибаешься
Ну, значит у нас особый бекенд.

Abu
15.06.2018
10:11:23
и цена другая
Видел проект с дичайшим ООП?)

Алексей
15.06.2018
10:11:29
Я вообще топлю за правильное смешение ФП и ООП

Oleg
15.06.2018
10:11:31
а в го есть наследование?

Alexander
15.06.2018
10:11:36
ну, каждый кулик хвалит своё болото, ясен пень. Как в любом мультипарадигменном языке кто к чему привык -- тот тем и пользуется.

Алексей
15.06.2018
10:11:37
Сергей
15.06.2018
10:11:39
и с ооп

и с наследованием в ооп

Andrey
15.06.2018
10:11:51
Где за почти любую попытку наследоваться будем по башке бить.

Сергей
15.06.2018
10:11:54
и с цепью виртуальных методов

Alexander
15.06.2018
10:12:07
Да всюду есть наследование в том или ином виде, йомайо, и в го, и в расте, и в *ваш любимый язык*. Просто работают чуть чуть по разному

Andrey
15.06.2018
10:12:10
Потому что потом задолбаешься это говно разбирать.

Aleh
15.06.2018
10:12:20
видел
Точно с ооп?)

Сергей
15.06.2018
10:12:44
Точно с ооп?)
может ты мне расскажешь что такое ооп?

Google
Сергей
15.06.2018
10:12:51
или мне открыть objc проект и показать? (бля,не смогу)

Алексей
15.06.2018
10:12:51
Aleh
15.06.2018
10:13:12
может ты мне расскажешь что такое ооп?
Вряд ли, сам все хочу узнать

Алексей
15.06.2018
10:13:50
Morsik
15.06.2018
10:13:58
А в лиспе! *шуткаминутка в сраче*
Ммм, у нас в универе было

kana
15.06.2018
10:14:13
Sunlive
15.06.2018
10:14:20
как будто что то новое

Denis
15.06.2018
10:14:21
затем.jpg
ну просто наследование можно заменить

Сергей
15.06.2018
10:14:29
лол

Алексей
15.06.2018
10:14:50
а зачем тебе наследование?
Мне в одном месте хотелось бы, чтобы базовый класс владел информацией, которая появляется только в классе-потомке.

ну просто наследование можно заменить
Ах если бы было всё так просто.

Denis
15.06.2018
10:16:06
Алексей
15.06.2018
10:16:32
Вот видите какие костыли пошли. Декораторами надо.

А в Go нет декораторов

и наследования нет

Denis
15.06.2018
10:16:44
это первое что в голову пришло

Google
Denis
15.06.2018
10:16:55
А в Go нет декораторов
я поэтому написал паттерн

а не синтаксис

Дмитрий
15.06.2018
10:17:16
Алексей
15.06.2018
10:17:17
И единственный способ, который я вижу - это явно передавать объект в каждый вызываемый метод.

Что весьма костыльно

Тогда он в состоянии взять что ему нужно из потомка напрямую
Про классы я не правильно выразился, потому что в Go классов нет и наследования нет

Фу, наследование реализаций
Как я уже тут приводил примеры, есть вещи, которые без наследования реализаций красиво и нормально сделать либо нельзя либо сложно.

И вообще не стоит впадать в крайности.

Denis
15.06.2018
10:19:56
один раз

Алексей
15.06.2018
10:20:40
Ну то есть фактически самому реализовать то самое наследование

Дмитрий
15.06.2018
10:20:51
Не вижу ничего сложного в том чтобы прочитать свойства объекта

kana
15.06.2018
10:20:55


Дмитрий
15.06.2018
10:21:22
Denis
15.06.2018
10:21:33
Ну то есть фактически самому реализовать то самое наследование
енто называется композиция, у неё есть плюсы перед наследованием

Алексей
15.06.2018
10:21:47
Это включение, а не наследование
Да, вот только оно будет вести себя в точности как наследование

Дмитрий
15.06.2018
10:21:58
Наоборот

Наследование будет вести себя как включение

Алексей
15.06.2018
10:22:27
вот прям в точности, вплоть до виртуальных методов

Единственное отличие будет в том, что всё это будет реализованно руками, а не компилятором

Google
Denis
15.06.2018
10:22:56
Да, вот только оно будет вести себя в точности как наследование
его можно будет в рантайме менять например в отличии от наследования, можно будет пихать разные реализации базового класса

Сергей
15.06.2018
10:23:28
вот прям в точности, вплоть до виртуальных методов
а виртуальные методы как разрулишь?

Дмитрий
15.06.2018
10:24:25
class Child {} class Parent { child: Child }

Вжух! Чтение свойств наследника из базового класса

Алексей
15.06.2018
10:25:18
а виртуальные методы как разрулишь?
class Child { doSmth() {} } class Parent { child: Child doSmth() { this.child.doSmth(); } }

Сергей
15.06.2018
10:25:32
только это не разруливание

вообще ни разу

Дмитрий
15.06.2018
10:26:00
class Child {} class Parent { child: Child }
Feel the difference, как грится

Сергей
15.06.2018
10:26:03
виртуальные методы немного не так работают (в плюсах по крайней мере)

Алексей
15.06.2018
10:26:19
и как же они работают?

Сергей
15.06.2018
10:26:28
в зависимости от типа

Child foo = new Parent() foo->doSmth() будет вызван у чайлда

Алексей
15.06.2018
10:27:34
кто-то тут запутался, и скорее всего это я

Сергей
15.06.2018
10:27:36
и есть ещё несколько кейсов динамической диспетчеризации которые я не вспомню сходу

Алексей
15.06.2018
10:28:44
тут наоборот надо Parent *foo = new Child(); foo->doSmth();

kana
15.06.2018
10:29:20
это же каким умным нужно быть что со всем этим программировать

Дмитрий
15.06.2018
10:29:53
Обычным

Алексей
15.06.2018
10:29:54
да не гением точно

Сергей
15.06.2018
10:30:08

Страница 654 из 669