Re[9]: Что вы думаете о Rust?
От: reversecode google
Дата: 05.09.23 09:02
Оценка:
сообщество плюсовиков потеряло единственного с++ одепта(T4r4sB) который противостоял растоманам?
или я чего то непонял?
Re[4]: Что вы думаете о Rust?
От: sergii.p  
Дата: 05.09.23 09:15
Оценка:
Здравствуйте, CRT, Вы писали:

надо сказать, что на расте поведение аналогично

let i: i8 = -1;
println!("{}", i as u64);


18446744073709551615

Re[5]: Что вы думаете о Rust?
От: Константин Б. Россия  
Дата: 05.09.23 11:22
Оценка: +1
Здравствуйте, sergii.p, Вы писали:

SP>Здравствуйте, CRT, Вы писали:


SP>надо сказать, что на расте поведение аналогично


SP>
SP>let i: i8 = -1;
SP>println!("{}", i as u64);
SP>


SP>

SP>18446744073709551615


Пример не идентичный )

let i: i8 = 0xff;
println!("{}", i as u64);


error: literal out of range for `i8`
--> src\main.rs:2:17
|
2 | let i: i8 = 0xff;
| ^^^^
|
= note: the literal `0xff` (decimal `255`) does not fit into the type `i8` and will become `-1i8`
= help: consider using the type `u8` instead
= note: `#[deny(overflowing_literals)]` on by default
help: to use as a negative number (decimal `-1`), consider using the type `u8` for the literal and cast it to `i8`
|
2 | let i: i8 = 0xffu8 as i8;
| ~~~~~~~~~~~~

Re[8]: Что вы думаете о Rust?
От: CreatorCray  
Дата: 05.09.23 22:59
Оценка:
Здравствуйте, CRT, Вы писали:

CRT>а мы говорим об интуитивности.

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

CRT>Вот ты так понимаешь: "ЗНАКОВОЕ, расширенное до бОльшего колва бит."

Мне интуитивно понятно что сначала происходит расширение битности, банально потому что я начинал с ассемблера и знаю как оно работает в проце.

CRT>а кто-то понимает так "если я преобразую в беззнаковый тип, какого хрена он знаковый бит размножает??"

Этому человеку банально не хватает знаний архитектуры железа.

CRT>Что за хрень? (был когда-то вопрос у меня). Я же применяю БЕЗЗНАКОВЫЙ сдвиг >>>, то есть не должен знаковый бит копироваться в освобождаемые биты! Оказывается оператор >>> нифига не байт сдвигает — он не умеет байты сдвигать. Сначала байт расширяется до int, потом int сдвигается беззнаково — получаем 0x7fffffff, а потом результат впихивается в байт обрубая старшие биты. Потому что integer promotion

"Учите матчасть!" (С)

CRT>понятно что это правила, но эта подветка пошла от вопроса "Что не так с integer promotion?".

С ним всё так, не так с теми, кто не знает и не хочет узнавать.

CRT>то есть "а не лучше ли если бы были другие правила или лучше так оставить?"

ЛОЛ! С++ низкоуровневый язык который растёт от железа.
Если человек не имеет базовых знаний и не желает читать документацию — будут вот такие вопросы.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: Что вы думаете о Rust?
От: Разраб  
Дата: 06.09.23 01:49
Оценка:
Здравствуйте, rudzuk, Вы писали:


Р>> ЯП это же инструмент, следовательно его нужно освоить,помимо новых идей в расте компилятор умный.


R>Освоить ради освоения, или ради чего?

Не попробуешь не узнаешь. так ведь.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Что вы думаете о Rust?
От: Разраб  
Дата: 06.09.23 01:52
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>Zig вообще ничем не похож и ничего нового особо не приносит.

Z>В нем никаких новых идей по сравнению с С нет, только синтаксис другой.

строгая типизация, да и defer один только уже круто.
вот взять яп с исключениями. try finally
где-то ниже по коду закрыли файл(или нет).
а тут открыли и следующей строкой defer f.close();
наглядно и надежно.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[5]: Что вы думаете о Rust?
От: CreatorCray  
Дата: 06.09.23 05:51
Оценка: :))
Здравствуйте, Разраб, Вы писали:

Р>Не попробуешь не узнаешь. так ведь.

Хехе, ты правда не догадываешься какого объёма банка с червями открывается этой невинной фразой?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Что вы думаете о Rust?
От: rudzuk  
Дата: 06.09.23 06:50
Оценка: :)
Здравствуйте, Разраб, Вы писали:

Р> R>Освоить ради освоения, или ради чего?


Р> Не попробуешь не узнаешь. так ведь.


Часто, достаточно понюхать, пробовать не обязятально
avalon/3.0.2
Re[3]: Что вы думаете о Rust?
От: so5team https://stiffstream.com
Дата: 06.09.23 07:08
Оценка: 1 (1)
Здравствуйте, Разраб, Вы писали:

Р>строгая типизация, да и defer один только уже круто.


Круто тем, что его можно забыть написать?

Р>вот взять яп с исключениями. try finally


Вот взять C++, ЯП с исключениями. Никаких finally. Деструкторы рулят и бибикают.

Даже собственный defer можно наговнякать за 5 минут.
Re[9]: Что вы думаете о Rust?
От: CRT  
Дата: 06.09.23 07:28
Оценка: +2
Здравствуйте, CreatorCray, Вы писали:


CRT>>Вот ты так понимаешь: "ЗНАКОВОЕ, расширенное до бОльшего колва бит."

CC>Мне интуитивно понятно что сначала происходит расширение битности, банально потому что я начинал с ассемблера и знаю как оно работает в проце.

Понятно что расширение битности. А вот будет размножаться или нет знаковый бит при преобразовании знакового типа к более широкому беззнаковому типу — это из какой конструкции ассемблера тебе интуитивно понятно?

В ассемблере вообще у переменных нет знаковости или беззнаковости. Ты объявляешь размерность переменной: 1, 2, 4 или 8 байтов. А знаковоые они или беззнаковые ты никак не объявляешь.
Ты когда работаешь с ними, сам явно выбираешь какие команды использовать — те которые трактуют переменную как знаковую, или те которые трактуют ее как беззнаковую.
Отредактировано 06.09.2023 19:32 CRT . Предыдущая версия . Еще …
Отредактировано 06.09.2023 9:54 CRT . Предыдущая версия .
Re[4]: Что вы думаете о Rust?
От: Константин Б. Россия  
Дата: 06.09.23 09:50
Оценка: :)
Здравствуйте, so5team, Вы писали:

S>Здравствуйте, Разраб, Вы писали:


Р>>строгая типизация, да и defer один только уже круто.


S>Круто тем, что его можно забыть написать?


S>Вот взять C++, ЯП с исключениями. Никаких finally. Деструкторы рулят и бибикают.


По той же логике можно и обертку с деструктором забыть написать. Или забыть raii применить.

Вообще такую закономерность наблюдаю — чем сложнее какая-то штука делается, тем чаще про нее "забывают". А в языках где-то же самое делается просто — почему-то не забывают.

Программисты на с/с++ самые забывчивые получаются. И проецируют свой нерелевантный опыт на другие языки программирования.
Re[5]: Что вы думаете о Rust?
От: so5team https://stiffstream.com
Дата: 06.09.23 09:57
Оценка:
Здравствуйте, Константин Б., Вы писали:

S>>Вот взять C++, ЯП с исключениями. Никаких finally. Деструкторы рулят и бибикают.


КБ>По той же логике можно и обертку с деструктором забыть написать. Или забыть raii применить.


Что характерно, что Си-программисты, которые думают, что программируют на C++, как раз и забывают.
Тогда как одно из отличий C++программистов от Си-программистов в том, что C++программисты про RAII не забывают, а используют во все поля.

КБ>Программисты на с/с++ самые забывчивые получаются.


Вообще-то само по себе "программисты на c/c++" -- это сферический конь в вакууме. Т.к. нет такого языка, как c/c++.

Но даже если забить на это (хотя зачем забивать, одно это уже отправляет ваше мнений по вполне заслуженному адресу), то пруффы какие-то будут? Или это все из личного опыта?
Re[6]: Что вы думаете о Rust?
От: Константин Б. Россия  
Дата: 06.09.23 10:34
Оценка:
Здравствуйте, so5team, Вы писали:

S>Здравствуйте, Константин Б., Вы писали:


S>>>Вот взять C++, ЯП с исключениями. Никаких finally. Деструкторы рулят и бибикают.


КБ>>По той же логике можно и обертку с деструктором забыть написать. Или забыть raii применить.


S>Что характерно, что Си-программисты, которые думают, что программируют на C++, как раз и забывают.

S>Тогда как одно из отличий C++программистов от Си-программистов в том, что C++программисты про RAII не забывают, а используют во все поля.

Ну вот и программисты на zig не забывают defer.

КБ>>Программисты на с/с++ самые забывчивые получаются.


S>Вообще-то само по себе "программисты на c/c++" -- это сферический конь в вакууме. Т.к. нет такого языка, как c/c++.


Да. Это два отдельных языка. Утверждение справедливо и для тех и для других.

S>Но даже если забить на это, то пруффы какие-то будут? Или это все из личного опыта?


Сразу после пруфов про забытые defer.
Re[5]: Что вы думаете о Rust?
От: CRT  
Дата: 06.09.23 10:43
Оценка:
Здравствуйте, Константин Б., Вы писали:


S>>Вот взять C++, ЯП с исключениями. Никаких finally. Деструкторы рулят и бибикают.


КБ>По той же логике можно и обертку с деструктором забыть написать.


Можно. Только деструктор ты пишешь один раз при определении класса, а потом много раз пользуешься классом .
а defer тебе надо каждый раз писать при использовании.
соответственно вероятность забыть написать defer — выше. Или такая же, если ты пользуешься классом только один раз.

хотя я бы от defer или finally в С++ не отказался. Шлепать свой класс для каждого типа объекта из какого-нибудь API на С не очень удобно.
Отредактировано 06.09.2023 10:47 CRT . Предыдущая версия . Еще …
Отредактировано 06.09.2023 10:46 CRT . Предыдущая версия .
Отредактировано 06.09.2023 10:46 CRT . Предыдущая версия .
Re[7]: Что вы думаете о Rust?
От: so5team https://stiffstream.com
Дата: 06.09.23 11:06
Оценка:
Здравствуйте, Константин Б., Вы писали:

КБ>>>Программисты на с/с++ самые забывчивые получаются.


S>>Вообще-то само по себе "программисты на c/c++" -- это сферический конь в вакууме. Т.к. нет такого языка, как c/c++.


КБ>Да. Это два отдельных языка. Утверждение справедливо и для тех и для других.


В C++ деструкторы вызываются автоматически, так что для C++программистов "справедливо" сильное переувеличение.

S>>Но даже если забить на это, то пруффы какие-то будут? Или это все из личного опыта?


КБ>Сразу после пруфов про забытые defer.


Да легко. Было сказано:

Круто тем, что его можно забыть написать?

Итак, нужно доказать что "можно забыть".
Есть ли в zig какие-то средства, которые заставляют разработчика использовать defer для освобождения ресурсов (закрытия файла, например)?
Вроде нет. А раз так, раз по рукам никто не бьет, значит забыть написать defer можно.

Заметьте, я говорил только про возможность забыть написать дефер. Я ничего не утверждал про то, что это забывают делать. И ничего про то, насколько часто они это забывают делать по сравнению с другими.

Тогда как вы высказались вот так:

Программисты на с/с++ самые забывчивые получаются.

т.е. вы говорите, что в C++ забывают чаще, чем на других языках. И вот этот вот нуждается в пруффах, которые вы, конечно же, сейчас предоставите, ведь ваша просьба была удовлетворена.
Re[6]: Что вы думаете о Rust?
От: so5team https://stiffstream.com
Дата: 06.09.23 11:11
Оценка: +1
Здравствуйте, CRT, Вы писали:

CRT>хотя я бы от defer или finally в С++ не отказался. Шлепать свой класс для каждого типа объекта из какого-нибудь API на С не очень удобно.


Оно уже есть. Да и собственный вариант наговнокодить на коленке можно если не за 5мин, то за 15-20 наверняка.

Для многих C-шных библиотек, в которых функции возвращают указатели на что-то при создании (типа того же fopen), отлично работает стандартный unique_ptr с кастомным deleter-ом. Но вот почему-то об этом знают далеко не все
Re[8]: Что вы думаете о Rust?
От: Константин Б. Россия  
Дата: 06.09.23 11:44
Оценка:
Здравствуйте, so5team, Вы писали:

S>Да легко. Было сказано:

S>

Круто тем, что его можно забыть написать?

S>Итак, нужно доказать что "можно забыть".
S>Есть ли в zig какие-то средства, которые заставляют разработчика использовать defer для освобождения ресурсов (закрытия файла, например)?
S>Вроде нет. А раз так, раз по рукам никто не бьет, значит забыть написать defer можно.

Замечательно. Есть ли в С++ средства которые заставляют разработчика использовать raii для освобождения ресурсов (закрытия файла, например)?
Вроде нет. А раз так, раз по рукам никто не бьет, значит забыть использовать raii можно.
Re[9]: Что вы думаете о Rust?
От: so5team https://stiffstream.com
Дата: 06.09.23 11:52
Оценка:
Здравствуйте, Константин Б., Вы писали:

S>>Да легко. Было сказано:

S>>

Круто тем, что его можно забыть написать?

S>>Итак, нужно доказать что "можно забыть".
S>>Есть ли в zig какие-то средства, которые заставляют разработчика использовать defer для освобождения ресурсов (закрытия файла, например)?
S>>Вроде нет. А раз так, раз по рукам никто не бьет, значит забыть написать defer можно.

КБ>Замечательно. Есть ли в С++ средства которые заставляют разработчика использовать raii для освобождения ресурсов (закрытия файла, например)?

КБ>Вроде нет. А раз так, раз по рукам никто не бьет, значит забыть использовать raii можно.

Да, можно. Разве я утверждал, что нельзя? Перечитайте, плз, еще раз то, что вам пишут.

А теперь пруфф утверждения про:

Программисты на с/с++ самые забывчивые получаются.

Или слив?
Re[9]: Что вы думаете о Rust?
От: so5team https://stiffstream.com
Дата: 06.09.23 11:54
Оценка: +3
Здравствуйте, Константин Б., Вы писали:

КБ>Замечательно. Есть ли в С++ средства которые заставляют разработчика использовать raii для освобождения ресурсов (закрытия файла, например)?


Ну и как бы нельзя не поделиться ссылкой: ifstream (равно как и ofstream, равно как и fstream). Если вы открыли файл, то не закрыть его вы просто так уже не сможете.
Re[10]: Что вы думаете о Rust?
От: Константин Б. Россия  
Дата: 06.09.23 12:39
Оценка: :)
Здравствуйте, so5team, Вы писали:

S>Здравствуйте, Константин Б., Вы писали:


КБ>>Замечательно. Есть ли в С++ средства которые заставляют разработчика использовать raii для освобождения ресурсов (закрытия файла, например)?


S>Ну и как бы нельзя не поделиться ссылкой: ifstream (равно как и ofstream, равно как и fstream). Если вы открыли файл, то не закрыть его вы просто так уже не сможете.


Конечно смогу
new std::ifstream("file.txt");
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.