It has some really good uses, fault tolerance is really interesting. But they claim it’s a functional language and the whole idea of the functional language is that you don’t have a state.
Bzz. Во-первых, общепринятого определения понятия "функциональный" вообще не существует. Во-вторых, Роберто путает функциональность и чистоту. В-третьих, "полностью чистый язык - полностью бесполезен".
>And Erlang has a huge hidden state in the messages that are sent and not yet received.
А ещё он имеет стейт в стейтах процессов. И в словарях. И в ets/dets. И на этом фоне содержимое мейлбоксов, по которому так скорбит Роберто, вообще не заметно.
>So each little process is completely functional but the program itself is completely non-functional.
Так и есть. Эрланг - ФП, ОТП - ООП. Это общее место, вообще говоря.
>It’s a mess of hidden data
А можно продемонстрировать, что это именно mess? А то я вот не могу вспомнить случая, чтобы мне за 16 лет работы с Эрлангом пришлось хоть раз руками лазить в ящик. Я вообще не уверен, что это возможно без дополнительной эквилибристики, зато отчётливо вижу, что сам Роберто подобного даже не пробовал.
>that is much worse than global variables because if it were global variables, you would print them
Да, Роберто, давай, докажи нам, что local в Луа - это на самом деле преимущество.
>Every single moment, what’s the state of the system?
Не знаю и знать не хочу. Эрланг позволяет решать задачи, не отслеживая состояние каждого отдельного бита. А если у тебя возникает такое желание, то с тобой как с программистом что-то глубоко не так.
Буду краток. Согласен.
Правда я читал в переводе и долго плевался по поводу качества оного. Ну да ладно)))
Обсуждают сегодня