It does, but you really need a better IDE for it. Using the default set (from way back when I was in school) made it so difficult to tell so many things apartā¦ ^.^;
It has some fascinating design bits though.
However the syntax was horridā¦ ^.^;
Uhhh, like 4 years ago I hit a bug in the Official Sun JVM7 (latest version, it was never fixed in any J7, only J8+) where if you had a certain mix of mathematical work in a function then the JVM would JIT compile it to garbage assembly. So it worked when interpreted (so the first few runs of the function) then when it got JITād your program mysteriously start calculating garbageā¦
And that is only one of many bugs Iāve hit on the JVM when I had to work on it for over 5 years)ā¦ >.>
It is NOT battle proven or stable or lacking gotchasā¦
I would say banks = big data, and all eco system related to big data sadly or not is Java.
Hadoop
Apache Spark
Apache Fink
Apache Beam
Apache Kafka
Google Big Query
and I can count more , more ā¦
You donāt have such tooling in any other eco system ā¦
One example
Well some banks are pretty invested in BEAM Goldman Sachs has some very critical systems built with Erlang. Considering GSās status and image it might inspire adoption at other institutions.
Banking is actually something I would not recommend Elixir for (or even Java or C++ or Rust or whatever else).
Iād want some dependent type language, like Idris or so. You donāt want to take changes with doing things wrongā¦ It can of course call out to and integrate with whatever else, but for calculations Iād want it to be very well checked.
Now, you can of course have the communication system built in erlang/elixir that calls the Idris code of course.
My 2 cents and that from working with banks.
Usually their systems are old and no one knows what exactly happens behind the scenes so everybody is afraid touching any of the old stuff.
Just imagine what would happen if a job that moves one file from location to another stopped working, without that tiny little job all money transfers can stop.
Now you must understand that this said job was created on the mainframe 50 years ago and no one even remembers it exists.
The sad thing about this is that situation is not only imagined it exists in most banks in one way or another maybe not moving a file just clearing it every night or it wonāt affect money transfers for all costumers just a fewā¦
That is basically why most banks donāt change technologies easily, no one really knows exactly how everything is working or even why and just mapping it can take years.
I work for the insurance business which closely follows banking trends; we are also using C# and .NET for shipping products the main reasons being:
Co-workers familiarity with C# semantics
The need to maintain legacy applications that work under .NET
Also most companies in the region work under .NET, Java, Ruby or Python (the last 2 being a minority), I think this hugely shapes what programmers in the region learn to carry their āday to dayā tasks.
So (I think) it mostly comes down to familiarity, a lot of programmers will use the phrase āthe right tool for the right jobā but I think they really mean āthis is the tool weāre mostly familiar with, and donāt want to risk too muchā which I think is very understandable.
One of our new projects will need to closely enforce contracts which I think will be very hard to model with our current stack. Dependent typed languages like Agda, Idris or tools like Coq or Isabelle sound very helpful in this field.
Yet this is all supposition by meā¦ I havenāt really invested into dependently typed languages or proof assistants to really know what Iām getting into. Currently the Idris book is sitting in my desk but havenāt really invested the time to start it.
In addition to all the responses above. Its sort of like a small club and they do what their friends do &&& the word RISK MANAGEMENT (which last time I checked is a financial term so it sort of ego-validates financial memes/practices too). If you could spin the same args for Elixir/Erlang with 99.999999999999999999% SLA with a working precedent and with someone involved in this small club, perhapsā¦
I pinged a very smart guy who I once had the opportunity to work with who is a finance exec to look at Elixir and he reminded me that they are still using tons of tons of COBOLā¦