Size: a a a

2021 March 31

((

(fun () -> ()) in pro.elixir
точнее в мире ООП она стала чуть ли не главным паттерном. Контракты создаются везде и всегда
источник

LL

Lama Lover in pro.elixir
V
Осталось только понять, зачем это всё
Обычно для тестов. Реже — как протоколы аля Ecto.Queryable и всё такое
источник

((

(fun () -> ()) in pro.elixir
но как и любая идея, DI тоже хорошая штука, просто не надо ей злоупотреблять
источник

AD

Anastasiya Dyachenko in pro.elixir
Lama Lover
Обычно для тестов. Реже — как протоколы аля Ecto.Queryable и всё такое
еще для того чтобы разные сервисы использовать локально / на тестовом стенде / на проде
источник

N

Nate in pro.elixir
Приветствую коллеги, ищем в команду Middle Elixir разработчика в Питере.
источник

DP

Dmitry Ponyatov in pro.elixir
(fun () -> ())
это вообще не то)) dependency inversion - инвертирование зависимости, если раньше модуль А использовал модуль Б напрямую, то теперь модуль А объявляет контракт (interface) и использует его, а кто его реализует ему всё равно. Вот и получает инверсия, раньше модуль А зависел от модуля Б, а теперь модуль Б зависит от контракта которым ему дал модуль А.
а кто сказал что в ООП есть контракты?
сообщение (вызов) приходит к объекту, и проваливается в сортирную дырку NotImplementedException
источник

LL

Lama Lover in pro.elixir
Dmitry Ponyatov
а кто сказал что в ООП есть контракты?
сообщение (вызов) приходит к объекту, и проваливается в сортирную дырку NotImplementedException
Это может в интерпретируемых языках так, а вот в компилируемых такого нет
источник

DP

Dmitry Ponyatov in pro.elixir
Lama Lover
Это может в интерпретируемых языках так, а вот в компилируемых такого нет
кто нибудь может меня ткнуть носом в автора этой херомантии про "интерпретируемые"/"компилируемые" языки? Вирт поди?
источник

DP

Dmitry Ponyatov in pro.elixir
язык — это формальная система, не бывает интерпретируемых/компилируемых языков, это их реализация, немного сильно разные вещи
источник

LL

Lama Lover in pro.elixir
Dmitry Ponyatov
язык — это формальная система, не бывает интерпретируемых/компилируемых языков, это их реализация, немного сильно разные вещи
Ой, искренне прошу прощения, ваше величество. Не узнал вас в этом чатике
Чем я могу служить вам, Король Зануд?
источник

DP

Dmitry Ponyatov in pro.elixir
Lama Lover
Это может в интерпретируемых языках так, а вот в компилируемых такого нет
ну получите segfault если рантайм не умеет в обработку NotImplemented, делов то
источник

DP

Dmitry Ponyatov in pro.elixir
(fun () -> ())
точнее в мире ООП она стала чуть ли не главным паттерном. Контракты создаются везде и всегда
а вы точно систему типов с ООП не путаете?
источник

LL

Lama Lover in pro.elixir
Dmitry Ponyatov
ну получите segfault если рантайм не умеет в обработку NotImplemented, делов то
В какой-нибудь java не скомпилируется программа с нарушенными контрактами
В каком-нибудь python вылетит NotImplement

А причём тут sedfault ?
источник

DP

Dmitry Ponyatov in pro.elixir
Lama Lover
В какой-нибудь java не скомпилируется программа с нарушенными контрактами
В каком-нибудь python вылетит NotImplement

А причём тут sedfault ?
а при чём тут ООП? не скомпилируется — значит компилятор умеет такие ошибки статически находить
источник

((

(fun () -> ()) in pro.elixir
Dmitry Ponyatov
а вы точно систему типов с ООП не путаете?
в ЯП с системой типов везде DI принцип?
источник

LL

Lama Lover in pro.elixir
Dmitry Ponyatov
а при чём тут ООП? не скомпилируется — значит компилятор умеет такие ошибки статически находить
Ты сказал

> а кто сказал что в ООП есть контракты?
> сообщение (вызов) приходит к объекту, и проваливается в сортирную дырку NotImplementedException
источник

DP

Dmitry Ponyatov in pro.elixir
в рантайме! или компиляция отваливается на статическом анализаторе реализации языка
источник

LL

Lama Lover in pro.elixir
Dmitry Ponyatov
в рантайме! или компиляция отваливается на статическом анализаторе реализации языка
Так есть языки, где компилятор гарантирует что такого в рантайме не произойдёт, мой уважаемый Король
Я об этом и написал вот тут https://t.me/proelixir/182414
источник

DP

Dmitry Ponyatov in pro.elixir
Dmitry Ponyatov
в рантайме! или компиляция отваливается на статическом анализаторе реализации языка
это как в эликсире — нет обработчика для сообщения, оно куда пойдет?
источник

((

(fun () -> ()) in pro.elixir
Dmitry Ponyatov
а кто сказал что в ООП есть контракты?
сообщение (вызов) приходит к объекту, и проваливается в сортирную дырку NotImplementedException
interface это не контракт?
источник