Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

C vs Rust

Name: Anonymous 2015-02-13 1:07

C:
int main(int argc, char **argv) {
int r;
if(argc > 1) {
r = atoi(argv[1]);
} else {
usage();
exit(EXIT_FAILURE);
}
}


Rust:
fn main() {
let argv: Vec<Result<String,OsString>> = std::env::args()
.map(|x| x.into_string())
.collect();

let r = match argv.get(1) {
Some(x) => match x.parse::<i32>() {
Ok(v) => v,
Err(_) => {
show_usage();
panic!()
},
},
None => {
show_usage();
panic!()
}
}
}


Type explosion is to be expected. Do notation could have been used to keep the control logic as clean as C, but Rust is not HASKAL and never will be anything like HASKAL and you're an asshole for wanting to write readable code you filthy shit fuck.

Name: Anonymous 2015-02-16 22:34

>>44,48
Rust is handicapped because it is a Mozilla project. All posturing to the contrary, making the language suitable for use in unhosted applications like kernels does not add a lot of value for Mozilla. Mozilla isn't writing kernels, they're writing a browser and they want a simpler safer alternative to C++ for that purpose. Once that is understood it should no longer be surprising that things like decoupling from libc are in fact a complete mess in Rust.

This is a sad situation if you're actually looking for a practical alternative to C in non-userland code, because there really is a lot of room for improvement there.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List