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-18 9:11

If so it will be the first Mozilla project I know of to have that success.

If you don't hate ES, I would count it as a success in that area. If you do hate it, I can see how you'd see it the other way (eg. wanting a bytecode.)

If you check the committers for zinc.rs you'll find that most of them also have contributions to Rust. The Rust team has generally sided with making this kind of thing possible (and pleasant though it's not exactly a priority.)

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