3 ms·
The Erlang Ecosystem (2018) [video]
- rramadass 3y agoNote: Erlang is not just a language but one part of a whole system collectively called The Erlang System. Robert Virding was one of the original three along with Joe Armstrong and Mike Williams who designed it and here presents the complete overview of it in the clearest and simplest manner possible.
- beefman 3y agoAlso notable, The Soul of Erlang and Elixir by Sasa Juric (40min) https://www.youtube.com/watch?v=JvBT4XBdoUE https://www.youtube.com/watch?v=JvBT4XBdoUE discussed here: https://news.ycombinator.com/item?id=20942767 https://news.ycombinator.com/item?id=20942767
- ben_bai 3y agoAnd Erlang the Movie II https://www.youtube.com/watch?v=rRbY3TMUcgQ https://www.youtube.com/watch?v=rRbY3TMUcgQ
- worthless-trash 3y agoI come back to watch this ever year.
- rramadass 3y agoAfter watching the above which gives one an idea of the Erlang System's capabilities, watch this presentation by Bryan Hunter where the design and architecture of a complete distributed and fault-tolerant Erlang/Elixir system is shown; You get to really see the mind-blowing power of the Erlang System in this - https://www.youtube.com/watch?v=pQ0CvjAJXz4 https://www.youtube.com/watch?v=pQ0CvjAJXz4
- abrookewood 3y agoI really enjoy his "water park" videos. Amazing that they've built a system that is so fault tolerant with relatively little infrastructure.
- rramadass 3y agoThe Infrastructure is there; just that most of it is provided by the Erlang System itself which i think was the point of the presentation.
- abrookewood 3y agoAgreed - I just haven't seen a better explanation of how to use those features to achieve this. It's one of the few examples I've read about that embraced hot code reloading in order to maintain uptime.
- ChrisArchitect 3y ago(2018)
- dang 3y agoAdded. Thanks!
- h4ch1 3y agoSince Elixir runs on the Erlang VM and is more "modern" with modern tooling/resources; should I be using Elixir for new projects or Erlang? (I know neither, but I have a good functional background with Haskell). Also are there cases where one is well suited than the other?
- rramadass 3y agoThink of the relationship between Erlang->Elixir as that between C->C++. The latter is effectively built on the abstract machine model defined by the former. So whether you prefer Elixir or not you have to know Erlang. This becomes even more true when you have to go outside the Elixir/any other BEAM based language ecosystem but still need the BEAM facilities. The Erlang System is actually an "Application Operating System (AOS)" (Joe Armstrong's definition) and the "Erlang language" is its "native system language". An analogy is writing Python code running on Linux but making a kernel system call through the C language interface. Here Python is your Elixir, Linux is the Erlang AOS(ERTS+BEAM) and the C language interface is the Erlang language interface. PS: I hope you have watched the two videos i have linked to in this thread, they are well worth your time and answer all your questions.
- throwawaymaths 3y ago> Think of the relationship between Erlang->Elixir as that between C->C++. This is not right. It's more like Java -> Kotlin > So whether you prefer Elixir or not you have to know Erlang. Not really. You can get quite far in Elixir without knowing any Erlang. Eventually you probably should learn to read Erlang docs (but not necessarily code) and maybe you might need to be able to read Erlang code, but this is truly rare.
- rramadass 3y agoI was making a loose analogy to get the point across and also used the phrase "abstract machine model" for a reason. > It's more like Java -> Kotlin Not quite true either. If you want to do the analogy of a VM-based language the BEAM is not just a VM like the JVM. It plus the rest of the ERTS is an AOS. > Not really. You can get quite far in Elixir without knowing any Erlang. True. But eventually when you do want to go outside of the Elixir ecosystem you need Erlang to access the BEAM facilities. The point was that Erlang is the "native language" of the "Erlang AOS" and is worth knowing whether you prefer Elixir/whatever on BEAM.