Earlier quoted context omitted.
IIRC Joe Armstrong said he was puzzled why people latched on to the term "BEAM" so much, and he preferred that it was simply referred to as the Erlang VM.
Beam, with one syllable, is more convenient to say out loud than Erlang VM. It also sounds cooler.
Erlang: The coding language that finance forgot (2022)
111–120 of 155 posts
Re: Erlang: The coding language that finance forgot (2022)
#112The reason Erlang (and Elixir) are interesting are not the languages themselves (although Elixir is a very nice language in my opinion), but the runtime behind them, BEAM. The BEAM is the brainchild of the excellent engineers at Ericsson, the product of decades of R&D into building performant, scalable and reliable software for their telephony products. It scales like a dream, runs your application on all available c…
While the BEAM is the real magic, the languages (Erlang and later Elixir) are designed specifically to enable that. You can't just decouple the two.
Re: Erlang: The coding language that finance forgot (2022)
#113Who exactly claims Erlang is dead? The referenced article is SEO-infected garbage that also claims Haskell and Perl are dead.
It's only a word but the very fact the article refers to Erlang as a "coding language" and not a "programming language" is enough to give it a cheap, amateurish feel from the start IMHO. I'd just ignore it as low quality click bait if I were you.
Re: Erlang: The coding language that finance forgot (2022)
#114Earlier quoted context omitted.
Elixirs syntax is only Ruby like in that it’s very readable IMO. Any similarity with Ruby stops there.
Well sure but you could be more clear. Block parameters, implicit parentheses for certain method/function calls, uppercase significance, symbolic significance for brackets.
What do you mean by "symbolic significance for brackets?"
Re: Erlang: The coding language that finance forgot (2022)
#115Re: Erlang: The coding language that finance forgot (2022)
#116Earlier quoted context omitted.
Well sure but you could be more clear. Block parameters, implicit parentheses for certain method/function calls, uppercase significance, symbolic significance for brackets.
Elixir doesn't have blocks as a separate concept like Ruby. The "blocks" are just syntax sugar for passing keyword lists of code to macros. What do you mean by "symbolic significance for brackets?"
I spent many years in perl, so I’m of the opinion visual indicators for datatypes are actually a good thing at the point of instantiation/composition.
Not sure how to properly word it
Re: Erlang: The coding language that finance forgot (2022)
#117Earlier quoted context omitted.
Do you think Rust will replace these over time? What are the blockers for this? Is Rust perceived as a "better" language by those in your profession but of cours e you can't rewrite everything every 5-10 years? Would finance apps be written in Rust today if all of the C++/Java applications weren't already written?
I personally like Rust a lot, but it isn't on our radar at all. Nobody has even mentioned it. Java and C++ are fine for what we do. What advantages (other than memory safety, which Java has too) do you see in Rust?
No crazy enforced OOP with a gazillion classes and inheritance, no non-sense design patterns just because the language enforces you to use OOP for everything, an amazing type system, no null pointer exceptions, great compiler error messages and so on...
Of course there are problems, like any other language, but it is crazy how it as a systems programming language is so good at expressing domain logic.
Java has a much bigger ecosystem, but judging JUST by the language design, I'd pick Rust over Java without thinking twice.
Re: Erlang: The coding language that finance forgot (2022)
#118Re: Erlang: The coding language that finance forgot (2022)
#119Erlang isn't dying but not many people care for it in capital market. Looks at the traits of Erlang, it's designed for telecom environment which is almost opposite of capital market. 1. Fault tolerance is almost all hardware driven. Capital market participants spent billions of dollar building reliable private networks. 2. Distributed in trading doesn't mean what FAANG are doing. Trading systems for example usually r…
Funny anecdote about one of the FAANGs: before the idea of service meshes and Consul and Envoy a similar idea was being rolled out to transparently proxy, encrypt, and authenticate traffic between services. The initial implementation was on erlang and didn’t cause any operational issues for our team, from what I remember. The project was moved to another team who decided for version 2 to rewrite in Java (high made se…
I’ve been moving our tools and sidecars and lesser services to do more reuse, not for the code and effort duplication reasons, but so these technologies get more burnin time before they have to do it live. We have one service that is particularly good for this because it doesn’t see a lot of traffic on average, but it bursts up to production requests levels during a certain workflow that is less time sensitive than live traffic but still gets scrutiny because it blocks a run book until it’s done. Parts of that run book can be run as often as you like if you stop before the steps that alter production state, so you can run it a few times to take the median time and see if you’ve improved or regressed.
We turn things on there and if they haven’t caught on fire we feel a lot better about flipping it on for user facing traffic.
Re: Erlang: The coding language that finance forgot (2022)
#120Earlier quoted context omitted.
Elixir doesn't have blocks as a separate concept like Ruby. The "blocks" are just syntax sugar for passing keyword lists of code to macros. What do you mean by "symbolic significance for brackets?"
I’m not sure the word for it, but brackets only ever mean two things, to my knowledge. Hash or Block, in Ruby. I spent many years in perl, so I’m of the opinion visual indicators for datatypes are actually a good thing at the point of instantiation/composition. Not sure how to properly word it
Yea, each set of them ([], (), {}, ) has a very distinct meaning in Elixir.