Fork me on GitHub
#core-async
<
2016-02-13
>
rickmoynihan00:02:44

@aria_: I drank the Erlang cool aide before I got into Clojure, and though Erlang has some nice ideas in it, it has a lot of sharp edges... In particular, strings are badly broken (and arguably also small integers), the standard library is very basic and inconsistent; and at least when I did a fair bit of Erlang (which admitedly was about 5+ years ago) the library/package management situation consisted of random tar balls on random websites... Also the REPL is really bad - and doesn't properly support the whole language - e.g. it can't evaluate erlang forms, and records were problematic (though I believe they now finally have hashmap literals!)... Also the language really lacks good ways to create abstractions which leads to quite a lot of copy/pasting and/or falling back to preprocessor macro/magic. Actors are quite nice, but they're really pretty low level - and you can't really build anything higher-level on top of them (like channels)... Basically everything in Erlang feels unfinished... contrast it to Clojure maybe even before v1.0 was released and it felt complete and mature

rickmoynihan01:02:50

The libraries aren't really very functional either

bbloom18:02:55

a simpler thought on actors: they’re solving a different problem than CSP - a harder problem

bbloom18:02:38

if you concurrency problem isn't a distributed problem, might as well choose a solution that doesn’t need to shoulder the burden of distributed subproblems

bbloom18:02:09

and then, even if you do have to worry about the network, you should still consider queues 😉