I can assure you that Rust's syntax is not designed to further separate application development from system development, if anything, we encourage a way broader audience to learn Rust than just pure systems programmer folks. In general, Rust's syntax is intended to be vaguely similar to C/C++/Java, but with some influence from functional languages where appropriate, and with syntactic forms that work better with type inference. There is very few syntactic forms that are truly novel in Rust (even lifetimes are taken from OCaml's generic syntax, because lifetimes are generics!)
That said,
fn my_panic(_info: &core::panic::PanicInfo) -> ! {
would be something like
[[ noreturn ]] void my_panic(&core::panic::PanicInfo _info) {
in C++, which is
very similar, syntactically speaking. The main differences are:
* fn for function declarations
* Rust has the return type after parameter list, and adds ->
* ! is [[ noreturn ]], less punctuation actually!
* no need for the superflous void return type
* "name: type" not "type name", which adds a single :
I am admittedly very biased, but it seems much more similar than different.