jononomo
What other famous virtual/abstract machines are there other than the BEAM and the JVM?
In all my thinking about the Elixir ecosystem all I can do is keep comparing it to Java because in my mind the BEAM is analogous to the JVM (but takes an approach that suits my brain better). I’m wondering if there are other well known virtual machines that I can compare and contrast the BEAM with.
Thanks!
Most Liked
kip
- Actual machine for Lisp in the Lisp machine
- Smalltalk VM
yukster
Surprised no one has mentioned the one lurking in millions of pockets all over the world: the Android Runtime (ART): Android Runtime - Wikipedia.
I would love to see a cross-compiler to translate BEAM files into .dex but I’m sure there are lots of technical hurdles to that. But as an Elixir lover who has suffered through trying to get somewhere with building a mobile app using React Native, being able to write at least an Android app in Elixir would be awesome.
jononomo
Another observation I have is that when I am thinking about the BEAM I find myself thinking about “programming a computer”. When I think about the JVM I think about “using an interface to program a computer”.
The BEAM feels like putting my whole arm up inside a puppet, whereas the JVM feels like trying to control a puppet via some strings attached to a stick.
I think that the reason the BEAM feels directly like a computer to me whereas the JVM feels like only an interface to a computer is that the BEAM allows me to reason about processes and threads of execution in a clearer and more powerful way.
There is also a sense in which I think of the BEAM as being “turned on”, sort of like a computer might be turned on or a car might be idling in the driveway. The environments for Python/Ruby/Perl never feel like this to me.
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









