B E A M s c e n e

Life in the Elixir & Erlang ecosystems.

Beam Scene logo

EMBRACING THE OLD TO SHAPE THE NEW



Post image
  • Published: 2023-04-14
  • Updated: 2023-04-14 18:19:05
  • Author: mvkvc

  • In a world where new web development frameworks are released every few months, it's easy to get caught up in the hype and forget about the tried and tested technologies that have stood the test of time. One such technology is the Erlang Virtual Machine, a 30-year-old marvel that has revolutionized the web development space through the Elixir programming language. The Erlang VM, also known as BEAM , was initially developed in the late 1980s by Ericsson for use in telecommunication systems. Its primary aim was to enable fault-tolerant, concurrent, and distributed systems. Fast forward to today, and these same principles make the Erlang VM an ideal foundation for Elixir, a functional, concurrent, and fault-tolerant programming language designed for scalable and maintainable web applications. The Erlang VM is renowned for its ability to handle concurrent processes effortlessly. This is crucial for modern web applications that require real-time communication, like chat applications or online gaming. Moreover, its fault-tolerant nature ensures that applications built on the Erlang VM can recover gracefully from unexpected errors, providing excellent user experiences. As web applications continue to grow in complexity, scalability becomes increasingly important. The Erlang VM's support for distributed systems means that Elixir applications can easily scale horizontally. This enables web developers to build applications that can handle the demands of millions of users without breaking a sweat.One of the unique features of the Erlang VM is its ability to perform hot code upgrades. This means that developers can deploy new code without having to restart the entire system, leading to minimal downtime and a better experience for end-users. Despite its age, the Erlang VM has a thriving ecosystem, with the Elixir language gaining popularity among web developers. This has led to the creation of powerful frameworks like Phoenix, which provides a solid foundation for building high-performance web applications. While it may be tempting to jump on the latest web development framework, it's essential not to overlook the value that older technologies can bring. The Erlang VM has proven its worth for over 30 years and continues to empower developers by providing a reliable and powerful foundation for Elixir web applications. By embracing the old, we can shape the future of web development and build a more robust and sustainable digital landscape.

Edit | Delete | Back

TAGS:

elixir

erlang


Comment by beam-being on 2023-04-14 20:19:32

I'm not surprised that the Erlang VM is still shaping the horizon of the future!


Edit
| Delete
Comment by mvkvc on 2023-04-14 20:25:29

What can't the BEAM do?


Edit
| Delete
Comment by lgmfred on 2023-04-14 20:26:36

BEAMing the world up! As always!


Edit
| Delete
Comment by yusef on 2023-04-14 21:06:49

Beautiful !!!


Edit
| Delete

Add a Comment

1. The system must be able to handle very large numbers of concurrent activities.

http://www.erlang.org/ http://clojerl.org/ http://joxa.org/

2. Actions must be performed at a certain point in time or within a certain time.

https://github.com/kapok-lang/kapok https://github.com/the-concurrent-schemer/scm

3. Systems may be distributed over several computers.

https://github.com/alpaca-lang/alpaca https://caramel.run/ https://cuneiform-lang.org

4. The system is used to control hardware.

https://wende.github.io/elchemy/ https://github.com/etnt/eml https://github.com/kjnilsson/fez https://github.com/fika-lang/fika

5. The software systems are very large.

https://gleam.run https://github.com/hamler-lang/hamler https://github.com/etnt/Haskerl

6. The system exhibits complex functionality such as, feature interaction.

https://github.com/lenary/idris-erlang https://github.com/chrrasmussen/Idris2-Erlang https://purerl.fun/ https://github.com/rufus-lang/rufus

7. The systems should be in continuous operation for many years.

https://github.com/gfngfn/Sesterl http://efene.org/ http://elixir-lang.org/ https://github.com/bragful/ephp

8. Software maintenance (reconfiguration, etc) should be performed without stopping the system.

https://github.com/joearms/erl2 https://github.com/rvirding/erlog https://github.com/tonyrog/ffe https://github.com/marianoguerra/interfix

9. There are stringent quality, and reliability requirements.

https://github.com/rvirding/luerl https://otpcl.github.io/ http://reia-lang.org/ https://github.com/zotonic/template_compiler https://github.com/extend/xerl

10. Fault tolerance both to hardware failures, and software errors, must be provided.

Bjarne Däcker. Concurrent functional programming for telecommunications: A case study of technology introduction. November 2000. Licentiate Thesis.