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
closed as off-topic by 3ventic, Franck Dernoncourt, Nick Wilde, Ken Herbert, Cornelius Apr 30 '14 at 8:00
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "This question does not appear to be about software recommendations, within the scope defined on meta and in the help center." – 3ventic, Franck Dernoncourt, Cornelius
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.
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.)