3 ms·
Also, +1 for building the application in Erlang on top of Cowboy (which Chicago Boss uses under the hood). You'll learn a lot, especially about the entire HTTP/
by banachtarski 13y ago
Also, +1 for building the application in Erlang on top of Cowboy (which Chicago Boss uses under the hood). You'll learn a lot, especially about the entire HTTP/Websocket protocol. Be prepared, however, to never want to develop a web application in another language again once you understand Erlang idioms and why they are superior to Go, Scala, Clojure, C++, etc. It is said, after all, that Erlang isn't a programming language but a DSL for distributed systems (this is, in fact, why it was built by Ericsson).
- timClicks 13y agoI think the real magic of Erlang is probably OTP. Over time, I can see Riak Core also being a fantastic tool for bootstrapping high-availability services.
- tel 13y agoI've wanted to implement something atop Riak core for a long while now.
- tel 13y agoAs someone who just scrapped a lot of Erlang code running Cowboy for a Haskell codebase, I'm not completely convinced. There are lots of runtime features I miss, but it's significantly harder to manage non-distributed code in Erlang as I experienced it.
- banachtarski 13y agoThis is how I do it: Erlang manages the distributed portions of my application but a throughput oriented language (such as Haskell) handles the non-distributed portions. A la using the right tool for the job. Cloud Haskell has come a long way but it is still missing Erlang's per-process heaps and scheduler behavior.
- gtani 13y agoMmm, erlang is a nice language and cowboy, too (Misultin, if that's what it was called, was fun to play with too) But all the things that erlang promotes, instantly spinning up millions of processes on 1 server with overhead /process of a few hundred bytes, the gen_*'s, profiling/logging, I have to say akka (the actors/futures modules that's now a full fledged member of the scala distribution), it has all those. Akka can hot swap actors but not chunks of the entire runtime AFAIK. Akka doesn't have as many large apps in production but getting there. Akka does't have the glass ceiling, where sooner or later you know you're going to have to write C nodes/BIF's/NIF's or whatever they've come up with, to speed up an erlang app doing, say, lots of floating point math. http://doc.akka.io/docs/akka/2.1.4/scala/actors.html http://doc.akka.io/docs/akka/2.1.4/scala/actors.html
- banachtarski 13y agoThe problem I have with Akka is the runtime, and these problems won't go away with any feature additions built on top of it.