There sure has been some definition creep of ELI5...
Beam VM Wisdoms (2019)
21–30 of 40 posts
Re: Beam VM Wisdoms (2019)
#22Earlier quoted context omitted.
What 5 y.o. wouldn't understand an explanation as simple as this: > This way it is easy to jump to a location in C code which handles next opcode. Just read a void* pointer and do a goto *p. This feature is an extension to C and C++ compilers. This type of VM loop is called direct-threaded dispatch virtual machine loop. ...I guess the author works with quite smart 5 years olds, right...
I mean ELI5 is clearly hyperbolic, but explaining dispatch like "Just read a void* pointer and do a goto *p" is definitely 1st year of CS level. This wouldn't be valid for teaching actual VM implementation fundamentals. Some may wish courses about compilers & VMs would be as easily (and naively) explained, but this style misses a lot of critical and complex details. Nobody likes complexity, but if it exists, it exist…
Re: Beam VM Wisdoms (2019)
#23There sure has been some definition creep of ELI5...
I guess the first and foremost for an ELI5 is WTF is BEAM VM? The "BEAM VM ELI5" page doesn't explain what it is specifically, and how it's not a Hypervisor VM, but as a bytecode interpreter in Erlang. When I see 'VM' I think first of a hypervisor virtual machine. Maybe I'm a bit of a curmudgeon, but I'd like to think an ELI5 would at least bring in the basics. http://beam-wisdoms.clau.se/en/latest/eli5-vm.html
> When I see ‘VM’ I think first of a hypervisor virtual machine.
That’s kind of a strange interpretation to me. In the context of programming languages VM is quite clear ala BEAM VM, CLR, JVM, LLVM, etc.
Re: Beam VM Wisdoms (2019)
#24Earlier quoted context omitted.
I mean ELI5 is clearly hyperbolic, but explaining dispatch like "Just read a void* pointer and do a goto *p" is definitely 1st year of CS level. This wouldn't be valid for teaching actual VM implementation fundamentals. Some may wish courses about compilers & VMs would be as easily (and naively) explained, but this style misses a lot of critical and complex details. Nobody likes complexity, but if it exists, it exist…
Most "1st year of CS" people do not know C or understand how pointers work, let alone an 'opcode'
Re: Beam VM Wisdoms (2019)
#25I thought modern processors had enough branch prediction that threaded interpreters were no longer faster than a normal switch loop. Wonder if that also applies to aarm64
Re: Beam VM Wisdoms (2019)
#26Earlier quoted context omitted.
Most "1st year of CS" people do not know C or understand how pointers work, let alone an 'opcode'
C is not a mandatory subject in first year of CS where you live? At least it used to be where I live, pretty universally (although at that time our universities were in the middle of a Pascal-to-C transition, so as to speak).
I would estimate many more programs use Java than C.
Re: Beam VM Wisdoms (2019)
#27Earlier quoted context omitted.
C is not a mandatory subject in first year of CS where you live? At least it used to be where I live, pretty universally (although at that time our universities were in the middle of a Pascal-to-C transition, so as to speak).
I had Ada95 in my introductory classes, and today my alma mater uses Java, I think. I would estimate many more programs use Java than C.
Re: Beam VM Wisdoms (2019)
#28There sure has been some definition creep of ELI5...
I guess the first and foremost for an ELI5 is WTF is BEAM VM? The "BEAM VM ELI5" page doesn't explain what it is specifically, and how it's not a Hypervisor VM, but as a bytecode interpreter in Erlang. When I see 'VM' I think first of a hypervisor virtual machine. Maybe I'm a bit of a curmudgeon, but I'd like to think an ELI5 would at least bring in the basics. http://beam-wisdoms.clau.se/en/latest/eli5-vm.html
This is the collection of easy to read (ELI5) articles as well as in-depth knowledge such as VM internals, memory layout, opcodes etc.
Re: Beam VM Wisdoms (2019)
#29Earlier quoted context omitted.
I had Ada95 in my introductory classes, and today my alma mater uses Java, I think. I would estimate many more programs use Java than C.
We still have C/C++ as a first year subject where I studied, with Java being a second year subject.
Re: Beam VM Wisdoms (2019)
#30This is quite a deep rabbit hole! Recently I decided to try learning erlang/elixir so reading about the beam vm internal is fascinating even though I barely know the language at all.
This list I maintain hasn’t been tested for broken links for a while, but it should still be useful: https://gist.github.com/macintux/6349828