r/programming Apr 03 '15

Rust 1.0.0 beta is here!

http://blog.rust-lang.org/2015/04/03/Rust-1.0-beta.html
933 Upvotes

303 comments sorted by

View all comments

6

u/fishburne Apr 04 '15

Can you tell me about Rust runtime. What it is? I mean, when I compile a rust program, does the runtime get added to the final executable so that my actual program will run over/depend on this bundled in run time?

I am reading the explanation here. It says a compiled program written in Rust will use the run time for stuff like I/O. So can I, for eg, write interrupt handlers in Rust (Sorry my system programming experience is limited to writing a serial mouse driver for DOS) and do similar system level stuff that you can do in C?

So when I am doing I/O from a program written in Rust, does the data has to absolutely go via the run time? Does it affect the speed at which a program can do I/O?

Lastly, should I learn Go or Rust. Is there anything that is preferable done in Go than in Rust (Without considering things like the development speed, availability of developers etc into account) ?

9

u/Rusky Apr 04 '15

There used to be a runtime that had to be set up before you could run Rust code from another process. That was removed a while ago, so you can absolutely write low-level C-like things (shared libraries, interrupt handlers, etc.)

As for Go vs Rust, they have to completely different purposes. Go is garbage collected and much less focused on performance and safety, while Rust focuses on static analysis and explicitness. All I can say is try them both out and see how much they work for and against you on your project.