Все эти владения, заимствования нужны для того, чтобы не было нужды вызывать вручную удаление объектов из памяти, как в C++ и из-за этого не допускать ошибки. И есть другие причины, например, чтобы не было Race Condition, когда программист создал две изменяемые ссылки и в разных потоках одновременно попытался поменять одно и тоже значение у одного и того же объекта. То есть можно создать сколько угодно ссылок на чтение, если нет ранее созданных и живущих ссылок на запись, так же можно создать только одну ссылку на запись, если нет ранее созданных и живущих ссылок на чтение. Сколько хочешь на чтение, только одна на запись.
22:55 Странный пример. В нём ничего неизвестно, есть ли ссылки на Person в месте вызова метода changePersonName. И если подумать, какой смысл менять имя и сразу удалять объект person.
Я думаю Rust уже устоялся как язык системных инструментов и утилит, особенно в web сфере и является дополнением к javascript как язык для написания webassembly модулей.
чиста для хохмы если, то хронология такая: BASIC, Asm (CISC), C++, C, Python, Objective-C, Swift, Asm (RISC), Java (чисто для портирования старой своей прилажухи с С++), Rust (in progress).
Rust получше, чем архаичный C 1972 года, созданный для 8 битных процессоров, но не далеко от него ушел. Даже ООП не поддерживается, как и в C. С мощнейшим, благородным C# этот примитивный Rust даже не сравним в принципе! В Rust просто нет всего того великолепия, которое есть в C#! Что же до производительности, то 98% кода в ней вообще не нуждаются. 2% кода можно оптимизировать и на C# даже не прибегая к неуправляемому коду, просто используя структуры и записи.
Если он такой неказистый, по сравнению с С#. То почему именно Microsoft настаивает, чтоб ее разработчики переходили на него для написания системы, а не на этот мощнейший С# 🙃. Видно не все можно оптимизировать и не везде впихнуть этот благородный С# 😁
@@Mytest437, C# и Rust предназначены совершенно для разного! Rust - системный язык, для разработки ядра операционной системы и драйверов. Rust полностью заменяет архаичный C, но даже не сравним с благородным C#! C# это язык общего назначения, с очень гибкой и очень богатой поддержкой ООП и функционального программирования! C# не для крошечных драйверов, а для гигантских прикладных информационных систем!
@@Torzd1 , если тебе кажется будто бы полная поддержка ООП в императивном языке не обязательна, а лишь "плюс" какой-то, то ты просто не умеешь программировать! Потому что всё императивное программирование осуществляется в первую очередь на паттернах ООП!
@@Alexander.Glazkov что? Паттерны ООП для того и создали что бы ООП как то одинаково применять. Это чисто для ООП, вещь сама в себе. На расте в функциональном стиле можно код структурировать
Все эти владения, заимствования нужны для того, чтобы не было нужды вызывать вручную удаление объектов из памяти, как в C++ и из-за этого не допускать ошибки. И есть другие причины, например, чтобы не было Race Condition, когда программист создал две изменяемые ссылки и в разных потоках одновременно попытался поменять одно и тоже значение у одного и того же объекта. То есть можно создать сколько угодно ссылок на чтение, если нет ранее созданных и живущих ссылок на запись, так же можно создать только одну ссылку на запись, если нет ранее созданных и живущих ссылок на чтение. Сколько хочешь на чтение, только одна на запись.
Очень круто, спасибо за видос.
22:55 Странный пример. В нём ничего неизвестно, есть ли ссылки на Person в месте вызова метода changePersonName. И если подумать, какой смысл менять имя и сразу удалять объект person.
после классического сишного кода Rust чуть непривычен, особенно его система обработки ошибок, но это дело привычки
Я думаю Rust уже устоялся как язык системных инструментов и утилит, особенно в web сфере и является дополнением к javascript как язык для написания webassembly модулей.
Как вы пришли к такому выводу? Он же на чём-то основан?
точка-запятая после свифта бесила очень. а потом оказалось, что ее наличие\отсутвтие - это не опция, а влечет вполне конкретные последствия.
👍👍👍
чиста для хохмы если, то хронология такая: BASIC, Asm (CISC), C++, C, Python, Objective-C, Swift, Asm (RISC), Java (чисто для портирования старой своей прилажухи с С++), Rust (in progress).
Прогресс по Rust на 2024 год есть у тебя? 🙂
Python и изучаю Rust
раст это игра такая але
Rust получше, чем архаичный C 1972 года, созданный для 8 битных процессоров, но не далеко от него ушел. Даже ООП не поддерживается, как и в C.
С мощнейшим, благородным C# этот примитивный Rust даже не сравним в принципе! В Rust просто нет всего того великолепия, которое есть в C#!
Что же до производительности, то 98% кода в ней вообще не нуждаются. 2% кода можно оптимизировать и на C# даже не прибегая к неуправляемому коду, просто используя структуры и записи.
Если он такой неказистый, по сравнению с С#. То почему именно Microsoft настаивает, чтоб ее разработчики переходили на него для написания системы, а не на этот мощнейший С# 🙃. Видно не все можно оптимизировать и не везде впихнуть этот благородный С# 😁
@@Mytest437, C# и Rust предназначены совершенно для разного!
Rust - системный язык, для разработки ядра операционной системы и драйверов. Rust полностью заменяет архаичный C, но даже не сравним с благородным C#! C# это язык общего назначения, с очень гибкой и очень богатой поддержкой ООП и функционального программирования! C# не для крошечных драйверов, а для гигантских прикладных информационных систем!
Нет ООП это только плюс языку😊
@@Torzd1 , если тебе кажется будто бы полная поддержка ООП в императивном языке не обязательна, а лишь "плюс" какой-то, то ты просто не умеешь программировать!
Потому что всё императивное программирование осуществляется в первую очередь на паттернах ООП!
@@Alexander.Glazkov что? Паттерны ООП для того и создали что бы ООП как то одинаково применять. Это чисто для ООП, вещь сама в себе. На расте в функциональном стиле можно код структурировать