Гайд Почему стоит попробовать язык программирования Rust или из-за чего он столь популярен последнее время.

AL lib: (EE) alc_cleanup: 1 device not closed
Участник
Статус
Оффлайн
Регистрация
5 Май 2019
Сообщения
915
Реакции[?]
200
Поинты[?]
1K
Rust - это относительно новый(2010 год выпуска первой версии) мультипарадигмальный C-подобный язык программирования разрабатываемый Mozilla.

Почему Rust?
Вы не заскучаете ни во время изучения ни использования самого языка.

Rust несёт в себе большинство особенностей и довольно интересного с точки зрения новизны синтаксиса

Просто посмотрите:
сейчас будет вставка моего говно-кода с комментариями написанными вообще не для этого треда при этом это всё будет без подсветки синтаксиса, #разработчиктысука не добавил в список япов раст для вставки кода, у сука.

C-like:
// импортирование как в петухоне, но лучше
use rand::Rng; // нужно добавить в главный файл карго, это проект-менеджер по сути
use std::cmp::Ordering; // std либы не нуждаются в импорте через карго
use std::io; // для получения данных
fn main() {
    // ебашу луп потому-что я долбоёб, ой из-за некоторых особенностей языка, не всегда обязательно
    loop {
        println!("Please input min number that can be generated");
        
        // до 32 строки идёт получение и преобразование минимально и максимально возможно сгенерированных чисел
        
        let mut minrand = String::new(); 
        io::stdin()
            .read_line(&mut minrand)
            .expect("Failed to read line");
        let minrand: u32 = match minrand.trim().parse() { // преобразование в unsigned int 32b и вылов всевозможных ошибок, из-за этого по сути и весь код в залупе ой лупе
            Ok(num) => num,
            Err(_) => continue,
        };
        println!("Please input max number that can be generated");
        let mut maxrand = String::new();
        io::stdin().read_line(&mut maxrand)
            .expect("Failed to read line");
    
        let maxrand: u32 = match maxrand.trim(). parse::<u32>() {
            Ok(num) => {
                num + 1
            }
            Err(_) => continue,
        };


        println!("Guess the number!");
        let secret_number = rand::thread_rng().gen_range(minrand, maxrand); // генерируем случайное число для угадывания, мой русский ис вери крута
        println!("Please input your guess.");
        loop {
            let mut guess = String::new();
            io::stdin()
                .read_line(&mut guess)
                .expect("Failed to read line");
            let guess: u32 = match guess.trim().parse() {
                Ok(num) => num,
                Err(_) => continue,
        };
        println!("You guessed: {}", guess);
        // проверка, правильно или нет
        match guess.cmp(&secret_number) {
            Ordering::Less => println!("Too small!"),
            Ordering::Greater => println!("Too big!"),
            Ordering::Equal => {
                println!("You win!");
                panic!(); // делаю паник, и чё вы мне сделаете, я в другом городе живу
            }
        };
    }
}
}

Это игра "Угадай число" улучшенная мной из официальной документации(о ней разделом позже).
ConEmu64_r7B9JMwqcs.png

Просьба обратить внимание: Эта ошибка - не ошибка, а ручной краш программы по причине: я еблан, и не знаю как по другому:roflanBuldiga:

Переведённая официальная документация

Почему это плюс? Да потому-что в других языках просто напросто плохо написана документация и по сути это просто список с функциями языка без всяких объяснений, в расте же это дело только в документации std либы, и то не всегда.
Документация же раста имеет перевод на русский в 2 вариациях и объясняет все особенности языка, почему так нахуй?, и вообще написано людьми для людей.
Пожалуйста, авторизуйтесь для просмотра ссылки.
- документация Rust-а на английском.
Пожалуйста, авторизуйтесь для просмотра ссылки.
- русская документация по расту и Async Book(1 вариация)
Пожалуйста, авторизуйтесь для просмотра ссылки.
- не так хорошо прописана как 1 вариация, но имеет некоторые тонкости которых там нету но которые могут пригодится.
Пожалуйста, авторизуйтесь для просмотра ссылки.
- пак задач на расте.

Уникальный и удобный проект-менеджер Cargo

Делает всю работу за вас. Введите 1 команду, и вот, папка с проектом и шлюхами в которой: сурсы, файл конфигурации карго и сборки. Вроде мелочь(хотя нихуя не мелочь сука на деле), а глаз радует.

Волшебная штука. Поможет вам организоваться, что-бы стать продуктивнее И ДОПИСАТЬ ЭТОТ ГРЁБАННЫЙ ПРОЕКТ ЧУТОЧКУ БЫСТРЕЕ!.

Библиотеки

Благодаря ним на расте можно написать всё что угодно, они не хуже либ в питоне.

Например:
Пожалуйста, авторизуйтесь для просмотра ссылки.
- либа реквестов.
Пожалуйста, авторизуйтесь для просмотра ссылки.
- дискорд либа.
Пожалуйста, авторизуйтесь для просмотра ссылки.
- асинк как смысл жизни, вроде как самая популярная неофф. либа для раста

Либу на любой вкус и цвет вы можете найти на
Пожалуйста, авторизуйтесь для просмотра ссылки.
.

Лёгкость безопасного программирования и всевозможное его поддержание

Вылови все эти баги, Джонни.
Rust подразумевает под собой что вы будете программировать чёрт безопасно. В нём есть очень много плюшек для этого, и документация тебе прямо так и показывает - пиши безопасно, ну можно ведь! И да, можно, и очень даже нужно, таким образом в программе написаной на Rust грамотно будет намного меньше багов если разработчик не дебил, чем в любых других языках.

Удобный ToolChain

Я ЖЕНЮСЬ НА RUSTFMT МАТЬ ТВОЮ!

Rust имеет очень интересный и удобный тулчейн, например rustfmt - маскирует тебя под натурала, подправляя твой стиль кода.

Вот и конец треда. Надеюсь что этот тред по крайней мере рассказал вам о чём то новом, если не переубедил попробовать этот язык программирования.

А, и, зачем я это делаю?
Раст довольно беден в плане комьюнити(но оно очень активно расширяется последнее время), надо ведь как-то его расширять, да и это мой любимый язык программирования, ачё нет)


(сука, нету нормального префикса, поставил гайд, апохуй)
P.S. Я не уточнил много вещей дабы оставить вам на растерзание, ведь какой тогда интерес? И да, у меня беда с башкой ой форматированием текста, извините.
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А как у него с классами дела обстоят?
 
Сверху Снизу