Reasons to Use Elixir in Finance
blog.johnorford.com
blog.johnorford.com
Articles like this one though are doing it a disservice in my opinion. It's heavy on hype and subjective opinion, light on facts and outright misleading in a few places, for example:
- 1-1.5kb of memory per process is for a process that does nothing. It's less overhead than any other platform I know of, but I am not sure how that translates to: "Want to keep track of a large portfolio of stocks? Easy. Want to keep track of the whole market? No sweat."
- 9 9s uptime is a function of architecture, not language. OTP makes it easier to build resilient systems, but it's not a silver bullet and there's a tonne to learn in order to just use OTP effectively. Elixir is not going to give you anything for free.
"Massive parallelism also results in massive redundancy." - how exactly? My massively parallel application could be running on one machine. The author must have meant distribution which Erlang/OTP is indeed very good at.
"Want to coordinate across markets or geographies?"
You would certainly not want to distribute an Erlang cluster across two different data centers, much less geographies.
"Add more hardware, and Elixir's performance will increase almost linearly along with it."
No it won't - https://en.wikipedia.org/wiki/Amdahl%27s_law
"Moreover, whereas Erlang was built to run on telecom networks, Elixir is built to run websites, phone apps and web services. New and exciting stuff."
What? Elixir runs on top of BEAM, the exact same VM that Erlang runs on. Moreover, using Elixir in your typical 12Factor web-app makes very little sense - you wouldn't be benefitting from any of OTP and taking a hit on development time due to lack of libraries.
None of the reasons with the exception of syntax (bikeshedding and arguable still, since the syntax can be a false friend when the semantics are so unlike what it implies), modern (which is simply crock, the libs for "websites, phone apps and web services" the author is talking about came from or have equivalents in the Erlang world - Phoenix uses Cowboy!), the pipe operator (bikeshedding: http://erlang.org/pipermail/erlang-questions/2015-July/subje...) and young (this is considered intrinsically desirable?) are exclusive to Elixir in the slightest.
The Elixir users are doing themselves a disservice inundating with these trite, content-free articles that amount to "Erlang advocacy 101... but in Elixir". Might as well do the same for LFE.
Nothing wrong with Elixir advocacy if there's meat in it, but by and large the community just reeks of opportunism and bandwagon hopping.
In my world (derivatives market making) those four make the language complete non-starters. Firms in the trading world are quite risk-adverse, even F# and Scala can be steep asks. It's a shame though, Erlang would make a really nice home in the finance world.
"Elixir systems can achieve nine nines stability. Five nines is about 5 minutes of downtime per year and would be considered extremely good to anyone in the finance industry, right? Nine nines is 31 milliseconds! How? Massive parallelism also results in massive redundancy."
Wat.