Куток

Обкладинка для допису Як я Rust вчив. День 1.
Артем Дадаш'янц
Артем Дадаш'янц

Додано

Як я Rust вчив. День 1.

"Почалося все дуже давно. Тоді, коли перша клітина мого організму з'явилася на цей дивний світ. Чому все почалося саме тоді? Бо вже тоді стало зрозуміло що виросту я не адекватом."

Саме так мав початися будь-який фільм про програміста на Rust. Ні, ви не подумайте, я не той... ну цей... Як назвати людей котрі расисти, але не через расу а через мову програмування принижують? Короче я не з них.

Мови поважаю всі (окрім Python). І писав на багатьох. Але коли з усіх щелин IT сфери почав текти Rust, то я чомусь не кинувся одразу його вчити. Щось мені підказувало, що сидячи на своєму C#, мені буде і так весело, купа усіляких помилок у коді, постійне бажання писати шось велике, і при цьому настільки ж велике бажання нічого не робити давали зрозуміти що треба щось змінювати.

Нормальні люди коли доходять до мого становища (гіка соціофоба, котрий дуже сильно боїться представників протилежної статі), починають щось якось виправляти.

Знаходять дівчину, починають працювати на нормальних роботах (заводі), і життя іде в гору. Але я тільки но завершив перший курс університету, і мені треба чимось займатися на канікулах.

Ну і да, хоч у чомусь я не такий пропащий для цього світу. Подругу на початку навчання я також собі знайшов. Ну і так трапилося, що після півроку гулянок, і цілого семестру взаїмодопомоги. Ми якось одностайно вирішили що треба щось на канікулах цих ваших вчити.

Вибір залежав від неї, бо я програмуванням займався з 12 років, і тому виступав у ролі людини, котра повинна була все розжувати. і подати на тарілці із голубим ободком. Тому написавши "Hello world!" на 10 мовах програмування котрі знайшла в інтернеті, вона чомусь вирішила що Rust виглядає прикольно. Ну. Rust так Rust.

Чи вчив я його до цього?

Відверто кажучи намагався. Аж 2 рази. Кожен раз на прикладі з грою відгадайки у Rustbook я з дикими воплями біг до мами чи тата, намагаючись одразу показати всю степінь жаху котру я пережив бачачи той код. Це зараз він виглядає максимально логічно. Але тоді для непідготовленного розуму шарпіста - це ніби засунути голову у мікрохвильову піч, і поставити на 3 хвилини.

Більш того, так як адекватного окрім Metanit та Rustbook нічого нема, то просто викинувши руснявий портал я зрозумів що ось воно, спасіння. Але як тільки но я відкрив цю біблію сатани, то зрозумів що так просто як із документацією по dotnet не буде.

Що я виніс з першого дня?

Насправді, після того як я почав пояснювати подрузі те що до цього прочитав у Rustbook, все якось встало на свої місця.

Я дізнався що є 2 типи змінних, мутабельна та імутабельна. Причому у Rust другий тип встановлений за замовчуванням. Тобто:

let the_test_variable; // - імутабельна змінна.
Увімкніть повноекранний режим Вийти з повноекранного режиму

Більш того, для того щоб вона стала мутабельною, треба написати після let деяке слово mut:

let mut the_test_variable;
Увімкніть повноекранний режим Вийти з повноекранного режиму

Окрім просто такої інфи про змінні, я вивчив як взагалі виглядають типи даних у rust, і приємно здивувало що нема всіляких byte, short, long і тд, є або маленький int (i8), або браття його старші (i16, i32, i64, i128). Чим більша цифра після i, тим більше цей тип може тримати в собі число.

У чому різниця мутабельності і імутабельності?

Насправді все дуже просто. Якщо ви можете в змінну спокійно перезаписувати значення нескінченну кількість разів, то це мутабельна змінна, тобто та, що в більшості мов програмування.

Імутабельна - та, в котру ви можете щось записати лише раз. І ні, це не константа. Як може виглядати імутабельна змінна в коді:

let a;
a = 10;
// далі ви вже не можете змінити значення змінної, лише читати.
Увімкніть повноекранний режим Вийти з повноекранного режиму
let a = 10;
// далі ви вже не можете змінити значення змінної, лише читати.
Увімкніть повноекранний режим Вийти з повноекранного режиму

А чим відрізняються константи? Тим що ви не можете записати туди значення потім. Тільки одразу при створенні:

const a: i32 = 10;
Увімкніть повноекранний режим Вийти з повноекранного режиму

Тобто вся різниця у тому, що імутабельні змінні ми можемо створити зараз, а записати щось потім. А в константи - створюємо і пишемо зараз.


Думаю те що я написав вище комусь допоможе. Що до наступних днів - напишу пізніше. Я хочу у такому форматі взагалі переписати растбук сюди, щоб люди не читали отой нудний текст, а читали щось більш веселе :)

Топ коментарі (0)

Куток

Підписуйтеся на наші соціальні мережі:
Telegram
Twitter
Facebook


Тепер у нас також є Youtube канал!