3 ms·
Two other languages that I can think of that have their roots in South America are Lua and Elixir.
by auvi 7y ago
Two other languages that I can think of that have their roots in South America are Lua and Elixir.
- holtalanm 7y agoi've been a huge fan of elixir ever since i found it a few years ago. The main web framework (phoenix) is doing some really cool stuff right now with live-view, too, and I'm pretty darn excited about it. I've always thought that the best system for a web server would be erlang OTP, because of the design based around uptime and system recovery. It has been proven in production by a few companies now in web dev, and erlang has been used for years by telecom companies for their own infrastructure. elixir, imo, is awesome because of the ruby-like syntax, but I would probably be using erlang for my personal projects regardless because of what I mentioned earlier.
- haliax 7y agoIsn't elixir just syntactic sugar on top of Erlang semantics?
- dnautics 7y ago1) 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.