diff --git a/_images/rust-energy.png b/_images/rust-energy.png new file mode 100644 index 0000000..437af43 Binary files /dev/null and b/_images/rust-energy.png differ diff --git a/porque-rust.html b/porque-rust.html index e2db6b8..f48bd08 100644 --- a/porque-rust.html +++ b/porque-rust.html @@ -102,13 +102,69 @@

... pelo 4⁰ ano seguido.

+ +

+
+

"Low Level Language with High Level Abstractions"

+
+ +
+

Resultado final com performance semelhate ao C...

+ + + + +
+ +
+

... mas com abstrações em algo nível

+ + + + +
+
+

Imutabilidade por Default

+ +
@@ -131,6 +187,11 @@ fn main() { 4 | a = 3; | ^^^^^ cannot assign twice to immutable variable + +
@@ -141,12 +202,25 @@ fn main() { println!("{}", a); } + +

Borrow Checker

+ +
@@ -157,6 +231,12 @@ a = String::from("hello");
"Variável a tem o valor "hello"" + +
@@ -170,7 +250,24 @@ a = String::from("hello"); - + +
+ +
+ + +
@@ -206,12 +303,24 @@ error[E0382]: borrow of moved value: `a` | = note: move occurs because `a` has type `std::string::String`, which does not implement the `Copy` trait + +

E se eu precisar acessar a variável em mais de um lugar?

References

+ +
@@ -225,7 +334,12 @@ fn main() {
- + + +
@@ -238,6 +352,16 @@ fn main() {

A região é desalocada quando o dono sair de escopo.

+ +
@@ -250,6 +374,14 @@ fn main() {

... desde que elas não durem mais do que o dono.

+ +
@@ -267,22 +399,54 @@ fn main() {
+ +
presente := Presente { ... }
 canal <- presente
  
+ +
presente := Presente { ... }
 canal <- presente
 presente.abrir()
+ +
Swift 5 Exclusivity Enforcement + +
@@ -297,6 +461,32 @@ presente.abrir()

localtime

SimpleDateFormatter

+ +
@@ -305,6 +495,17 @@ presente.abrir()

Não

... na verdade, nem ia compilar.

+ +
@@ -324,6 +525,10 @@ struct Present { content: String } + +
@@ -456,6 +661,12 @@ OK(())
+
+
+

Traits/Generics

+
+
+

Crazy stuff

@@ -535,40 +746,6 @@ fn call_isan(num: &str) -> Result<Success, Error> {
-
-
-

E quem usa?

-
- -
-

Magic Pocket

- -

Dropbox

- -

Petabyte storage

-
- -
-

Servo

- -

Mozilla

- -

Base do Firefox Quantum

-
- -
-

Azure

- -

Microsoft

- -

Usado na parte de IoT do Azure

-
- -
-

Tor

-
-
-