Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The keyword let in Rust #11

Open
yorkie opened this issue Sep 26, 2015 · 0 comments
Open

The keyword let in Rust #11

yorkie opened this issue Sep 26, 2015 · 0 comments
Labels

Comments

@yorkie
Copy link
Owner

yorkie commented Sep 26, 2015

The programming keyword let is basic and useful, but very fallible, the reason I’ll show you later.

How it works in JavaScript?

In Javascript, we use var to define our variable and constants(actually there is no real constants in javascript), very simple, but to state one key point to you:

var x = 10;
var y = x;
console.log(x, y);

we could use x and y totally, let us see what happened in these 3 lines.

line 1: specify a variable x, then assign the value 10 to it, in our memory, it apply for blocks to do this.

line 2: specify a variable y, then read the value of previous variable x, copy it to the memory of variable, then come so far we will spend 2x blocks to save the same value, it looks you do sleep in two beds, so luxurious, right?

This is not the failure of Javascript, in fact in C-style language family, all the members always looks so wasteful.

How it works in Rust?

let x = 10;
let y = x;
print!("x:{}", x);

The line 3 could not be executed correctly, because the x has been moved to y, please notice this: rust does move, not copy.

It indicates the program only waste 1x(itself) blocks in memory, that’s the reason why I think the program written by rust is better than other languages.

At my beginner of learning rust, this feature(bug at that time) impede me more or less, I think you are, too, then next section, I wanna show you how to skip this hinder, and then enjoy the fun with Rust.

Tip: take your brain out first and then in something about Rust

Yeah, you must change your brain in a way, I can compare this problem to compute process.

The keyword var is very similar with NPM, it does much redundancies IMO(In my opinion), but NPM use disk, it is cheap and easy to gain, but memory is not. Once you consider programming in this way, it is easy to skip this let hinder, actually the meaning of this creative way to define variable just guide us(programmers, geeks) to the right road: save your precious resouces ASAP.

End

Rust ever has amount number of features that introduced by its developers, however the language is going, it is valuable to you.

Rust Language: http://rust-lang.org
Github: https://github.com/rust-lang/rust

@yorkie yorkie added the Notes label Sep 26, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant