Size: a a a

Эликсир и Вунш

2019 March 20

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Ну и конечно gs это не только crud его стейта. Например любые “асинхронные” либы кидаются сообщениями, которые ловятся во всяких там handle_info, вообще ни имеющих АПИ.
источник

DS

Dmitry Shpagin in Эликсир и Вунш
Dmitry Takoyvot
Так ребятки, всем привет! Есть инфа или какая аналитическая статься про будующее ElexirА?) Он выживет с маленьким комьюнити и с опаской компаний использовать ее в своих проектах из-за опять-таки малого числа специалистов? Спасибо!
Есть мнение, что если компании заинтересованы в эликсире и эликсирщиках, сами понимают, что специалистов мало, а хотят экономить на кадрах - то количество специалистов расти не будет
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Źmićer Rubinštejn
Где вы нашли apply в gs то? Может я чего не знаю
https://github.com/erlang/otp/blob/master/lib/stdlib/src/gen_server.erl#L661 => Mod:handle_call(Msg, From, State) - динамический вызов, кроме вариабильности аргументов apply не отличается
источник

DT

Dmitry Takoyvot in Эликсир и Вунш
Dmitry Shpagin
Есть мнение, что если компании заинтересованы в эликсире и эликсирщиках, сами понимают, что специалистов мало, а хотят экономить на кадрах - то количество специалистов расти не будет
@JustStealIt А как сейчас дела обстоят с этим? Может есть какая статья аналитическая или из опыта можешь сказать?
источник

DS

Dmitry Shpagin in Эликсир и Вунш
По моим наблюдениям, за 2 года на hh количество вакансий elixir выросло с 10 до 18 😄
источник

DS

Dmitry Shpagin in Эликсир и Вунш
но это не показатель
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Dmitry Russ (Aleksandrov)
https://github.com/erlang/otp/blob/master/lib/stdlib/src/gen_server.erl#L661 => Mod:handle_call(Msg, From, State) - динамический вызов, кроме вариабильности аргументов apply не отличается
Он динамический, потому что Mod - переменная?
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
И типа apply такой же по стоимости?
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Źmićer Rubinštejn
И типа apply такой же по стоимости?
Applying an exported function (Mod:Name(), apply(Mod, Name, [])) is about twice as expensive as calling a fun or about six times as expensive as calling a local function.
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
It no longer matters (from a performance point of view) whether you write:

Module:Function(Arg1, Arg2)
or:

apply(Module, Function, [Arg1,Arg2])
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Ясно
источник

DT

Dmitry Takoyvot in Эликсир и Вунш
@JustStealIt Я вот собираюсь с ребятами пилить стартапчик. И стоит вопрос elixir или нода. Есть места где нужно будет использовать веб сокеты, я сам на js пишу клиент, и новый синтаксис может немного запутать, но с другйо стороны на elexire все смотриться куда яснее и работает ожидаемо, и как мне кажется тут нет проблем с асинхронными вызовами, тут куда не плюнь цепочки вызовов).
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
The following code is slightly slower because the shape of the list of arguments is unknown at compile time.

apply(Module, Function, Arguments)
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Т.е. с неизвестным количеством аргументов чуть медленее
источник

DT

Dmitry Takoyvot in Эликсир и Вунш
@JustStealIt Пока одного разраба хватит, а потом что делать? Вообще большинство задач на elexir по сути решаются быстрее или медленные чем на ноде? На ноде уже куча проверенных либ, а на elexir пока картина не совсем ясна
источник

K

Konstantin in Эликсир и Вунш
Dmitry Takoyvot
@JustStealIt Я вот собираюсь с ребятами пилить стартапчик. И стоит вопрос elixir или нода. Есть места где нужно будет использовать веб сокеты, я сам на js пишу клиент, и новый синтаксис может немного запутать, но с другйо стороны на elexire все смотриться куда яснее и работает ожидаемо, и как мне кажется тут нет проблем с асинхронными вызовами, тут куда не плюнь цепочки вызовов).
не берите Elixir
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Dmitry Russ (Aleksandrov)
It no longer matters (from a performance point of view) whether you write:

Module:Function(Arg1, Arg2)
or:

apply(Module, Function, [Arg1,Arg2])
Т.е написать

def call(:foo), do: Bar.foo
def call(:bar), do: Bar.bar


стоит столько же сколько и
def call(fname), do: apply(Bar, fname)

?
источник

DT

Dmitry Takoyvot in Эликсир и Вунш
@konstantin_zo Почему?
источник

K

Konstantin in Эликсир и Вунш
Чтоб писать что-то адекватное на Elixir - его надо понять и немного хотя бы разобраться. Это не серебрянная пуля, которая спасет ваш стартап.
Вы просто потратите уйму времени, чтоб написать непонятный код, который работать будет ни чуть не лучше того, что наклепаете на ноде.
В итоге не найдете ни разработчиков, ни профита не получите
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
Dmitry Takoyvot
@JustStealIt Я вот собираюсь с ребятами пилить стартапчик. И стоит вопрос elixir или нода. Есть места где нужно будет использовать веб сокеты, я сам на js пишу клиент, и новый синтаксис может немного запутать, но с другйо стороны на elexire все смотриться куда яснее и работает ожидаемо, и как мне кажется тут нет проблем с асинхронными вызовами, тут куда не плюнь цепочки вызовов).
Если у вас есть возможность нанять одного опытного Elixir-щика на команду и review code будет рабочим, то с Elixir-ом не будет никаких проблем. Мой опыт показывает, что на команду нужен один опытный разработчик на Elixir-е, который будет поднимать качество всей комманды до своего качества и соответственно опыт разработки будет расти очень быстро у всей команды.
источник