news.volyx.in

Why I wrote the BEAM book (happihacking.com)

613 points by lawik · 422 days ago · 151 comments on HN

Article summary

The author of The BEAM Book shares their motivations and experiences writing the book, which aims to provide a comprehensive guide to the BEAM, a virtual machine that runs Erlang and Elixir. The book covers topics such as schedulers, process management, and garbage collection. The author's goal is to help engineers understand the BEAM and fix issues before they become critical. The book is now available on Amazon and GitHub.

Main themes

  • BEAM internals
  • Erlang and Elixir
  • system scalability
  • concurrency and parallelism
  • programming language tradeoffs
  • distributed systems architecture

What commenters say

  • A 15ms pause in the BEAM can have significant consequences, such as stalling millions of payments and triggering a post-mortem analysis.
  • The BEAM's unique features, such as its actor model and message passing, are not necessarily better than other solutions, but rather a well-chosen set of tradeoffs.
  • Other programming languages and systems, such as Scala/Akka and Kubernetes, can provide similar functionality to the BEAM, but may require more effort to set up and use.
  • The Erlang community's emphasis on the BEAM's uniqueness can be seen as overly promotional and dismissive of other solutions.
  • The BEAM's integrated tools, such as its message bus, can be convenient, but may not be as flexible or scalable as dedicated tools and services.
  • Modern infrastructure, such as Kubernetes, can provide similar capabilities to the BEAM, making it a more common choice for deploying highly scalable and self-healing systems.