Hacker News new | past | comments | ask | show | jobs | submit login

1) Yes.

2) No. It's sugar + opinions.

Elixir gives you a lot of 21st century development tools: Async Tasks, Compilation environment (dev vs prod vs test out of the box), first class documentation and first class test suite. Sure you could implement these in erlang, but in Elixir, it's opinionated and everyone is basically on board with the same set of tools.

Some of these tools are making their way back to erlang, like telemetry, and some aspects of docgen.

There are also some under the hood features, too. I can run async tests where the test is given an id, the database gets a sandbox with that id, I can escape the vm (via chromedriver, eg) passing the id, and when the request hits the http server component, it and all child tasks is aware of the test that it's in, so all of the database calls are routed to the correct sandbox, resulting in concurrent and idempotent end-to-end tests. Again, you could do this from top to bottom in erlang, but elixir has support for this out of the box, and the good anointed and 3rd party libraries (Mox, ecto, hound) use these elixir features.

It's pretty nice to be able to run a full suite of unit and E2E tests in about 10 seconds.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: