I would like recommendations for a modern programming language for system-level developing. By system-level I mean for developing a kernel from scratch, drivers, embedded firmware, boot-loaders, etc. I am only interested in new, modern languages that attempt to be a better C/C++. Must be a compiled language, and run on Linux and Windows. Thanks

  • 1
    I'm not sure what the best place is for this question. I understand how this might be off-topic here, but sites like Stack Overflow tend to discourage recommendation questions. In any case, the other major choice in this problem space besides Rust is D. – John Y Jan 18 '16 at 19:32

The Rust Programming Language

Check out Rust. It has similar syntax to C++, and is meant to modernize the semantics in an attempt to improve speed and prevent software crashes. Not only that, there's a great tutorial on system-level coding!

As the official site tutorial describes it:

"Rust is a programming language with a focus on type safety, memory safety, concurrency and performance. It is intended for writing large-scale, high-performance software that is free from several classes of common errors. Rust has a sophisticated memory model that encourages efficient data structures and safe concurrency patterns, forbidding invalid memory accesses that would otherwise cause segmentation faults. It is statically typed and compiled ahead of time."

To get you started, here is a quick "30 minute" introduction.

And here is the link to the tutorial on booting into your RUST code.

Rust's Official Site

Note: system level design is NOT simple and I'd recommend getting a book and taking a course on it, after working yourself up to that level of skill. That said, messing with system level is a great way to learn, just don't be too disappointed if you find yourself hitting a wall based on knowledge - it is a great way to learn what you don't know! (Also, computer hardware devices are much less documented / standardized then one would expect.)

  • Can you actually program an OS with Rust? – beppe9000 Jun 13 '16 at 23:28

Not the answer you're looking for? Browse other questions tagged or ask your own question.