
Paul
16.03.2017
08:53:07
Разумеется

Sergey
16.03.2017
08:53:20

Paul
16.03.2017
08:53:36

Sergey
16.03.2017
08:53:46
ну то есть балуются ж в C++ абстрактными виртуальными классами или всякими интерфейсами в java

Google

Sergey
16.03.2017
08:54:14
под "далеко" я подразумеваю что-то серьезное

Сергей
16.03.2017
08:54:44
на Js же пишут)
шуткую))

Paul
16.03.2017
08:55:06

Sergey
16.03.2017
08:55:49
у нас же там в памяти будет почти что vtable

Paul
16.03.2017
08:56:22
Тот самый 1%

Sergey
16.03.2017
09:00:29
да и процент не имеет значения. динамическая диспетчеризация нужна. если у тебя нет других способов в рантайме подменить реализацию.

Google

Paul
16.03.2017
09:01:48
Пля

Sergey
16.03.2017
09:01:51
))

Paul
16.03.2017
09:01:54
Где я сказал, что она не нужна?

Sergey
16.03.2017
09:02:40
но ты говоришь что "она нужна редко", и я согласен. Но это именно то что позволяет вырастить гибкую систему
и даже если это редко - 1% в 90% проектов

Paul
16.03.2017
09:04:15
Просто где-то она идиоматична, а где-то нет. Вот взять к примеру кресты — каждый объект будет иметь ссылки на vtable (несколько, если множественное наследование) + сами данные, посколько полиморфизм подтипов во все поля. Если же взять раст, то там для динамической диспетчеризации используется trait object-ы и это не ссылка на vtable+даннные, а отдельно ссылка на vtable и ссылка на данные, чтобы не платить за лишние 8 байт. Просто потому что идиоматично использовать статическую диспетчеризацию

Sergey
16.03.2017
09:04:17
то это 90% проектов

Paul
16.03.2017
09:04:52
Ладно, я не знаю о чём мы говорим уже

Sergey
16.03.2017
09:05:09
да я тоже, но последняя инфа по rust мне кажется полезной, почитаю

Paul
16.03.2017
09:05:25
Полиморфизм подтипов легко меняется на типажи/интерфейсы и получаешь возможность использовать статическую диспетчеризацию.
Единственный кейс для динамики остаётся только в создании колекции над разными объектами одного интерфейса
Это те самые драйвера (выбор среди списка драйверов), vfs (среди списка ФС)
Вот тут да, никак не обойтись без динамики

Sergey
16.03.2017
09:06:25

Paul
16.03.2017
09:06:35

Sergey
16.03.2017
09:06:44
Спасибо

Paul
16.03.2017
09:09:46
Ибо для каждой виртуальной функции уже должен быть слот в ней

Sergey
16.03.2017
09:12:50
ну теперь буду пережевывать информацию так ли нужен late binding...

Google

Sergey
16.03.2017
09:13:22
в языках для которых всеравно надо пересобирать проект для того что бы поменять например какие зависимости подставлять
(не smalltalk/erlang)

?
17.03.2017
13:38:39
https://www.youtube.com/watch?v=YKXfOYTBaI4

Артур Евгеньевич
17.03.2017
17:29:13
Привет бандиты, у меня тут вопрос в ТЗ специально прям как для вас)
Какая идеологическая разница между интерфейсом с трейтами в сравнении с абстрактным классом?

da horsie
17.03.2017
17:30:28
в php?

Aleh
17.03.2017
17:30:29
интерфейс с трейтами это то, что в пыхе
или то, за что @ployd топит?)

Артур Евгеньевич
17.03.2017
17:44:13
Но чаще пыха подразцмеваетсч
Вот я помню у вас дискуссия была

da horsie
17.03.2017
17:47:39
в пыхе трейты не подразумевают интерфейс

Rodion
17.03.2017
17:48:35
трейт не привязан к типу
трейт - исключительно про реализацию
абстрактный класс - про контракт и частичную реализацию
короче в типах дело
в контрактах

da horsie
17.03.2017
17:52:15
отвечая на вопрос в рамках пыха, если интерфейс описывает то же поведение, что и абстрактный класс, комбинацией трейты+интерфейсы можно описать несколько поведений в одном объекте, а наследованием от абстрактного класса - нельзя.

Rodion
17.03.2017
17:52:41
это адмен phpgeeks)
который оценил себя в своем резюме в 140к рублей

Google

da horsie
17.03.2017
17:55:31
это сарказм?
админ != эксперт
или я не понял, о чем ты

Rodion
17.03.2017
17:57:23
не суть важно

Артур Евгеньевич
17.03.2017
20:58:21

Admin
ERROR: S client not available

Rodion
17.03.2017
20:58:49
оверпрайснута

Sergei
17.03.2017
20:59:53
да и ладно, почему нет?

da horsie
17.03.2017
20:59:57
ммм. не тот чатик

Sergei
17.03.2017
21:00:05
Отож

Сергей
18.03.2017
22:15:41
Отступы
2 пробела – 25
??????? 42%
4 пробела – 17
????? 29%
Таб – 16
???? 27%
3 пробела ?! – 1
▫️ 2%
? 59 people voted so far.

Evgeniy
18.03.2017
22:19:54
а еще можно без отступов )))

Sergei
18.03.2017
23:50:21
https://image.slidesharecdn.com/slides-150227073035-conversion-gate02/95/how-to-use-selenium-successfully-java-edition-10-638.jpg?cb=1425043961

Sergey
19.03.2017
16:32:22

Max
19.03.2017
19:12:03
День добрый. Подскажите, кто-нибудь использует UML в реальной работе, рисует там овердофига диаграм со связями и тд? Или это только в кровавом энтерпрайзе?

Sergey
19.03.2017
19:12:54
диаграммы классов практически никогда, только если пост фактум надо что-то показать рассказать
диаграммы юзкейсов, активити и т.д. - приходится иногда тупо что бы можно было прикинуть "как оно там будет"
ну то есть если ты ищешь поводов не знакомиться с UML - то не, с ним стоит познакомиться
тут как бы все просто. Если ты знаешь UML ты так или иначе найдешь ему полезное применение. Ну а если нет - не найдешь)

Google

Max
19.03.2017
19:15:52
я к тому, что в универе щас пытаются заставить вызубрить все нотации, UML, DFD и тд, пытаюсь понять, потеря времени это или нет. Для себя гораздо проще на бумажке что-то абстрактное нарисовать и от этого отталкиваться.

Sergey
19.03.2017
19:16:15
ну когда "заставляют вызубривать" это всегда плохо и потеря времени

Max
19.03.2017
19:16:42
С UML я конечно же пришлось познакомится, но каждый раз забываю, в какую сторону там треугольник должен быть повернут при наследовании, запомнить как там композиция\агреггация обозначается - лично для меня боль.

Sergey
19.03.2017
19:16:45
но разобраться надо)

Max
19.03.2017
19:17:39
Если это в реальности где-то еще используется, то конечно надо, да, потому тут в чатике у опытных товарищей и спрашиваю)

Sergey
19.03.2017
19:17:40
так попроще будет запомнить это все ну и в целом потом штуки вроде "инверсии зависимостей" будут восприниматься как само собой разумеющаяся штука
а вот например как прописываются асинхронные действия или там как правильно описать рекурсивные операции я и сейчас хз
обычно гуглю
ну то есть тебе больше надо уметь читать UML нежели писать)
писать ты можешь всегда нужные штуки загуглить

Max
19.03.2017
19:20:00

Paul
19.03.2017
19:22:35
Потому что не помогает, лол

Sergey
19.03.2017
19:22:49
ее иногда просят

Paul
19.03.2017
19:23:08
Диаграмма компонентов, DFD, диаграмма последовательности — вот эти помогают