Size: a a a

2021 June 11

V

V in pro.elixir
Ладно. В общем недостаток жаба-ооп в том, что он внутренне противоречив. Наследование противоречит инкапсуляции (модифицируешь родителя - поехала логика в потомке). А полиморфизм через подмену исполнителя - лишь частный случай полиморфизма вообще, при том не самый удобный. Проблема ооп не в нём самом, а в попытке представить его универсальной парадигмой.
источник

VV

Vitaly Vasiliev in pro.elixir
блин, ну ты круче меня объяснил
источник

VV

Vitaly Vasiliev in pro.elixir
признаю, ты в этом больше разбираешься
источник

V

V in pro.elixir
При этом жаба-ооп хорошо подходит для синглтонов, например в объектах удобно хранить хэндлеры к бд - инициализировал при создании, потом все процессы из них читают.
Эликсировский генсервер, агент работают как объекты.
источник

VV

Vitaly Vasiliev in pro.elixir
ну и вакансий полно, на хедхантере)))
источник

VV

Vitaly Vasiliev in pro.elixir
ну так да, я про это и говорю, что эрланг настоящее ооп)) где объекты между собой сообщениями обмениваются
источник

V

V in pro.elixir
ооп-модель жабы - инкапсулированные в скоупе стейт и методы с синхронным вызовом методов
ооп-модель эрланга - ооп жабы за разницей что вызова методов нет, а есть асинхронная отправка сообщений

Эта несколько иная разница чем то о чём я говорю, она не делает объекты принципиально более юзабельными
источник

VV

Vitaly Vasiliev in pro.elixir
а ты пробовал многопоточность в джаве? тебе нормально было?
источник

V

V in pro.elixir
я если честно джаву только на картинке видел
источник

Е

Евгений in pro.elixir
В ООП эрланга нет наследования
источник

VV

Vitaly Vasiliev in pro.elixir
ну я когда до многопоточности дошёл, в джаве, сразу понял - это не моё))))
источник

V

V in pro.elixir
я выше написал что наследование - ненужный кал, и дальше рассуждаю исходя из предположения, что вменяемые люди наследование использовать не будут
источник

Е

Евгений in pro.elixir
Наследование - один из вариантов субтипирования. Субтипировние - однозначно не кал.
источник

V

V in pro.elixir
Газета такая была раньше - аргументы и факты.
Если объекты использовать как аргументы, то наследование как субтипирование допустимо.
Если объекты использовать как исполнители, то тут наследование (с целью унаследовать в потомке поведение родителя) - кал.
Но это два разных случаях, и это как бы разные объекты, я во всяком случае их так воспринимаю. Субтипироване можно отделить от наследование поведения.
источник

M

MrFlorius in pro.elixir
Справедливости ради, на ash можно оч быстро апишки пилить
источник

Е

Евгений in pro.elixir
Крайние точки зрения - кал.
В том же Elixir есть элементы наследования. Тот же use GenServer - в какой-то степени наследование.
Протоколы туда же.
источник

Е

Евгений in pro.elixir
Главное не страдать ООП головного мозга. И тогда наследование тоже местами окажется полезным.
источник

Е

Евгений in pro.elixir
В ООП наследование - это далеко не всегда наследование поведения.
источник

Е

Евгений in pro.elixir
Часто это наследование интерфейса.
источник

V

V in pro.elixir
Чтобы им не страдать - нужно понимать, какой именно из элементов парадигмы доставляет проблем. Наследование доставляет. Мне лично доставило столько, что сабтайпингу я предпочту алгебраические типы данных.
источник