3 ms·
People seem to mention Elixir a fair amount, but I haven't heard of anybody building anything with it. One concern: Is it even slower than Erlang itself usuall
by codewright 14y ago
People seem to mention Elixir a fair amount, but I haven't heard of anybody building anything with it.
One concern: Is it even slower than Erlang itself usually is?
- devinus 14y agoNegative. Elixir should be no slower than Erlang as it uses the same data types as Erlang. Elixir tuples are Erlang tuples, Elixir function calls are Erlang function calls, etc. In practice, you may find that your Elixir code is even faster than the equivalent code you might write in Erlang. Elixir encourages some things like compiling some logic into your modules. For example, Dynamo compiles routes so they're super fast. String.Unicode is compiled from the UnicodeData.txt database itself[1]. [1]: https://github.com/elixir-lang/elixir/blob/master/lib/elixir/priv/unicode.ex https://github.com/elixir-lang/elixir/blob/master/lib/elixir...
- mononcqc 14y agoWeren't all Elixir records using proplists or orddicts? Isn't that slower than your usual data access that doesn't make use of them? Or did you find it had no impact in practice?
- yrashk 14y agoNot true. Elixir records are exactly what they are in Erlang — tuples
- codewright 14y agoOkay, if I wanted to get started writing a webapp in Dynamo using Elixir, how do I start? I looked at the GitHub repo and there didn't seem to be much. All I could find was: https://github.com/josevalim/dynamo/blob/master/examples/simple.exs https://github.com/josevalim/dynamo/blob/master/examples/sim... Can I mix a websockets server into a Dynamo app? Websockets are a key use-case for Erlang for me. I've been looking into how to do a WS server on Erlang and this was the most modern example I could find: https://github.com/ostinelli/misultin/blob/master/src/misultin_websocket.erl https://github.com/ostinelli/misultin/blob/master/src/misult... To be frank: pretty fucking gnarly.
- nirvana 14y agoDynamo seems to be still pretty early in development. You might want to watch the video linked to the page from the 0redev conference. He doesn't talk about dynamo much, but he does give "2013" as the date for Dynamo. On the WebSockets issue, I'd check out Cowboy. Cowboy seems to be the new hotness in erlang web apps. It has at least some support for web sockets. https://github.com/extend/cowboy https://github.com/extend/cowboy If you're looking for a full featured web framework with built-in web socket support then maybe what you really want is Nitrogen: http://nitrogenproject.com http://nitrogenproject.com Finally, and just for completeness, since I'm mentioning web frameworks, you'll probably want to see what ChicagoBoss's WS story is: http://www.chicagoboss.org http://www.chicagoboss.org or if someone's done something with WebMachine and websockets: http://basho.com http://basho.com I think Nitrogen sounds like the best bet. Since Elixir seems to mix effortlessly with Erlang, you should be able to write your code in Elixir using any of these frameworks.
- codewright 14y agoI usually really don't like huge web frameworks like Nitrogen. I'll take a look though. Edit: Took a look at the documentation. You couldn't pay me to touch Nitrogen. Hopefully Cowboy turns out to be more promising. I'm already familiar with CB.
- yrashk 14y agoI am building a lot of stuff with Elixir, both open source and commercial, including a commercial system for a customer