I don't think modern OSes will allow any user space application to access any
hardware directly. Any hardware access must be performed through system
calls(low level e.g. asm), which often encapsulated into function calls(higher
level).
But beside normal user space application, Nim can produce
Nim also allows [Assembler statements and
expressions](http://forum.nim-lang.org///nim-lang.org/docs/manual.html#statements-and-expressions-assembler-statement)
It means that when hardware has mapped itself to some data in memory, nim can
just read it and use it. I don't know how such things work in Python, but in
java it is always a big hassle, because java always needs these buffer objects
that on one hand give what you want to do with pointers, but w
I've been a Python programmer, far away from low-level stuffs.