| There are actually plenty of languages that can lead you down this path, including some designed for the purpose. For real world learning, C is still what you want. It is one of the easier roads through. However, here's a just few languages that can let you build a kernel up quickly: + Forth. It is well suited for the purpose. A tiny bit of assembly, and then just a bunch of definitions and you've built it all from the ground up. But if you think C is too complex for learning, then the idea of moving to a stack-based language could get in the way. + Lisp. The Symbolic Lisp machines might be in the past, but the various versions of Lisp are still flexible enough to let you build an OS, and lots of CS students do. + Lua. It is only slightly higher level than C, but with fun things like coroutines, hash tables, dynamic typing and GC. Due to its C99 nature and the desire to keep the language constrained, it runs on bare metal great. You don't have to modify Lua to run it baremetal on a Pi. [0] [0] http://lua-users.org/lists/lua-l/2020-01/msg00157.html |