Rust vs C#: два способа решить проблему ссылок в структурах
Возврат ссылки на структуру из метода, объявленную в этом самом методе, является одним из самых классических примеров "висячих ссылок". Но что если возвращается не ссылка, а структура, содержащая ссылку? И не явно, а через вызов другого метода? Как понять, где у нас явный "провис ссылки", а где нормальный код? Звучит как какая то "дичь", но подобный кейс - вполне реальная боль для авторов языков программирования.
Давайте посмотрим на примере Rust и C# как авторы решают эту неоднозначную проблему.
https://habr.com/ru/post/718424/
Возврат ссылки на структуру из метода, объявленную в этом самом методе, является одним из самых классических примеров "висячих ссылок". Но что если возвращается не ссылка, а структура, содержащая ссылку? И не явно, а через вызов другого метода? Как понять, где у нас явный "провис ссылки", а где нормальный код? Звучит как какая то "дичь", но подобный кейс - вполне реальная боль для авторов языков программирования.
Давайте посмотрим на примере Rust и C# как авторы решают эту неоднозначную проблему.
https://habr.com/ru/post/718424/
Хабр
Rust vs C#: два способа решить проблему ссылок в структурах
Возврат ссылки на структуру из метода, объявленную в этом самом методе, является одним из самых классических примеров "висячих ссылок". Но что если возвращается не ссылка, а структура, содержащая...
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Rust Programming
RUST Based Desktop on Linux - System76 chose this over C Programming!
RUST in the Linux Kernel - Coming sooner than you think!
Create your first RUST Program on LINUX | Rust Programming for Beginners
Use RUSTUP to create your first RUST Program on LINUX | Rust Programming for Beginners (EP1)
How to Create a Rust Project using Cargo on Linux (EP2)
How to Add a Crate/Dependency to Rust using Cargo (EP3)
RUST might be coming to UEFI BIOS Firmware on Linux
•
RUST Based Desktop on Linux - System76 chose this over C Programming!
RUST in the Linux Kernel - Coming sooner than you think!
Create your first RUST Program on LINUX | Rust Programming for Beginners
Use RUSTUP to create your first RUST Program on LINUX | Rust Programming for Beginners (EP1)
How to Create a Rust Project using Cargo on Linux (EP2)
How to Add a Crate/Dependency to Rust using Cargo (EP3)
RUST might be coming to UEFI BIOS Firmware on Linux
•
👍6🤔1
Не так страшен Rust, как его излагают
Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф?
Я предположил, что те базовые знания по программированию, которые предлагают распространенные курсы можно дать и с помощью Rust.
https://habr.com/ru/articles/677978/
Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф?
Я предположил, что те базовые знания по программированию, которые предлагают распространенные курсы можно дать и с помощью Rust.
https://habr.com/ru/articles/677978/
👍6
Media is too big
VIEW IN TELEGRAM
Самоучитель по Rust Полный курс
Rust - это язык, который выбирают те, кто ищет высокую производительность, безопасность памяти и все инструменты, необходимые для написания безошибочного кода с легкостью. В этом учебнике я создал полный курс по программированию на Rust. Временные метки ниже позволят вам быстро перейти к тому, что вас интересует.
GitHub https://github.com/derekbanas/Rust-Tutorial
0:00 Intro
01:24 Create Project
02:43 TOML
02:54 Cargo.lock
03:45 Use / Libraries
04:30 Dependencies
06:00 Main
07:54 Mutable
09:28 Input
09:57 Expect
12:28 Variables
12:34 Constant
14:03 Shadowing
15:40 Data types
19:32 Math
23:03 Random
24:08 If
26:20 Ternary Operator
27:48 Match
32:39 Arrays
34:30 Loop
37:11 While
38:33 For
39:20 Tuples
41:27 Strings
50:25 Casting
51:52 Enums
55:55 Vectors
1:00:00 Functions
1:07:42 Generic
1:11:25 Ownership
1:20:09 HashMaps
1:24:50 Struct
1:27:54 Trait
1:34:14 Modules
1:45:36 Error Handling
1:47:14 File IO
1:48:11 Result
1:53:28 ErrorKind
1:55:40 Iterators
1:58:10 Closures
2:05:50 Smart Pointers
2:06:51 Box
2:15:03 Concurrency
2:17:10 Thread
2:25:26 Rc T
2:33:02 Installation
источник
👉 @Rust
Rust - это язык, который выбирают те, кто ищет высокую производительность, безопасность памяти и все инструменты, необходимые для написания безошибочного кода с легкостью. В этом учебнике я создал полный курс по программированию на Rust. Временные метки ниже позволят вам быстро перейти к тому, что вас интересует.
GitHub https://github.com/derekbanas/Rust-Tutorial
0:00 Intro
01:24 Create Project
02:43 TOML
02:54 Cargo.lock
03:45 Use / Libraries
04:30 Dependencies
06:00 Main
07:54 Mutable
09:28 Input
09:57 Expect
12:28 Variables
12:34 Constant
14:03 Shadowing
15:40 Data types
19:32 Math
23:03 Random
24:08 If
26:20 Ternary Operator
27:48 Match
32:39 Arrays
34:30 Loop
37:11 While
38:33 For
39:20 Tuples
41:27 Strings
50:25 Casting
51:52 Enums
55:55 Vectors
1:00:00 Functions
1:07:42 Generic
1:11:25 Ownership
1:20:09 HashMaps
1:24:50 Struct
1:27:54 Trait
1:34:14 Modules
1:45:36 Error Handling
1:47:14 File IO
1:48:11 Result
1:53:28 ErrorKind
1:55:40 Iterators
1:58:10 Closures
2:05:50 Smart Pointers
2:06:51 Box
2:15:03 Concurrency
2:17:10 Thread
2:25:26 Rc T
2:33:02 Installation
источник
👉 @Rust
👍6
Rust Programming Tutorial
#1 - Introduction To Rust Programming
#2 - Using Rust Tools (cargo, rustfmt)
#3 - Variables, Constants and Shadowing
#4 - Data Types
#5 - Console Input
#6 - Arithmetic and Type Casting
#7 - Conditions and Control Flow (if/else if/else)
#8 - Functions, Expressions & Statements
#9 - Memory Management, Heap & Stack
👉 @rust_lib
#1 - Introduction To Rust Programming
#2 - Using Rust Tools (cargo, rustfmt)
#3 - Variables, Constants and Shadowing
#4 - Data Types
#5 - Console Input
#6 - Arithmetic and Type Casting
#7 - Conditions and Control Flow (if/else if/else)
#8 - Functions, Expressions & Statements
#9 - Memory Management, Heap & Stack
👉 @rust_lib
👍5❤2
Qrcode-encrypted
Программа, благодаря которой можно создать/читать qrcode с закодированным/зашифрованным текстом
Доступные методы шифровки/кодировки: base64, hex, morse, rot13, caesar. Также возможно создать qrcode с простым текстом
Проект написан на Rust
https://github.com/knoxydev/qrcode-encrypt
Программа, благодаря которой можно создать/читать qrcode с закодированным/зашифрованным текстом
Доступные методы шифровки/кодировки: base64, hex, morse, rot13, caesar. Также возможно создать qrcode с простым текстом
Проект написан на Rust
https://github.com/knoxydev/qrcode-encrypt
👍5❤1