The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.73, opennews (??), 05-Окт-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


60. "Выпуск языка программирования Rust 1.73"  +3 +/
Сообщение от Аноньимъ (ok), 06-Окт-23, 01:47 
Потому что нельзя указатель на воид проанализировать.
Как и пачку ub.
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск языка программирования Rust 1.73"  –4 +/
Сообщение от kir (??), 06-Окт-23, 02:15 
Садись, 2, ты не понимаешь, как работает статический анализатор. UB опять-таки, определяются стандартом, и если анализатор видит, что возможно UB, его дело на это поругаться, что вполне реализуемо.
Ответить | Правка | Наверх | Cообщить модератору

213. "Выпуск языка программирования Rust 1.73"  +1 +/
Сообщение от Аноньимъ (ok), 06-Окт-23, 16:00 
> Садись, 2, ты не понимаешь, как работает статический анализатор.

В С++ он никак не работает. В С++ абстракции внесённые в стандарт дословно построены на багах компилятора.

> UB опять-таки, определяются
> стандартом

Да, и в этом проблема.

> и если анализатор видит, что возможно UB, его дело на
> это поругаться, что вполне реализуемо.

Во первых, совсем, вот совсем не всегда видит.
Во вторых, ну и толку если он на пол кода поругается? Зачем оно нужно?
Целочисленное переполнение тоже UB например. И что дальше?

Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск языка программирования Rust 1.73"  –2 +/
Сообщение от kir (??), 06-Окт-23, 02:17 
UB -- это не ошибка, оно не случается где попало, это решение комитета по стандартизации оставить детали реализации на усмотрение разработчиков компилятора.
Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

73. "Выпуск языка программирования Rust 1.73"  +1 +/
Сообщение от Аноним (245), 06-Окт-23, 04:12 
> Садись 2
> это решение комитета по стандартизации оставить детали реализации на усмотрение разработчиков компилятора.

Чел, ты лучше сам сядь. Да выучи, чем отличается UB от implementation-defined behavior.

На опеннете как всегда: чем более некомпетентен эксперт, тем сильнее он воюет против Раста.

Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск языка программирования Rust 1.73"  +9 +/
Сообщение от ЁжеЪ (?), 06-Окт-23, 04:52 
Rust, как задумка, хорош, но синтаксис отвратно наркоманский.  
Ответить | Правка | Наверх | Cообщить модератору

92. "Выпуск языка программирования Rust 1.73"  –4 +/
Сообщение от Прохожий (??), 06-Окт-23, 05:39 
Такой же, как в Плюсах.
Ответить | Правка | Наверх | Cообщить модератору

159. "Выпуск языка программирования Rust 1.73"  +1 +/
Сообщение от voiceofreason (?), 06-Окт-23, 10:40 
Он ещё хуже, чем в крестах. Хотя казалось бы, хуже уже некуда.
Ответить | Правка | Наверх | Cообщить модератору

276. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Прохожий (??), 07-Окт-23, 03:06 
В чем конкретно хуже?
Ответить | Правка | Наверх | Cообщить модератору

343. "Выпуск языка программирования Rust 1.73"  +1 +/
Сообщение от Аноним (339), 07-Окт-23, 23:21 
Буквально во всем, нет ничего в чем он лучше.
Ответить | Правка | Наверх | Cообщить модератору

257. "Выпуск языка программирования Rust 1.73"  +1 +/
Сообщение от freecoder (ok), 06-Окт-23, 22:20 
Что не нравится в синтаксисе? Часто за непонятным синтаксисом просто скрыта незнакомая семантика.
Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

267. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноньимъ (ok), 07-Окт-23, 01:17 
> Что не нравится в синтаксисе? Часто за непонятным синтаксисом просто скрыта незнакомая
> семантика.

Ну, они явно сишку и с++ решили копировать, что само по себе нехорошо.

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

У сишников от этого случается надрыв мозговой извилины, вроде скобочки всякие похожие, но понять извилина прочитанного не может.

Ответить | Правка | Наверх | Cообщить модератору

344. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноним (339), 07-Окт-23, 23:23 
>непонятным синтаксисом просто скрыта незнакомая семантика.

Таким макаром можно и синтаксис C++ оправдать, да и вообще что угодно.

Ответить | Правка | К родителю #257 | Наверх | Cообщить модератору

101. "Выпуск языка программирования Rust 1.73"  –1 +/
Сообщение от Аноним (322), 06-Окт-23, 06:18 
>> Садись 2
>> это решение комитета по стандартизации оставить детали реализации на усмотрение разработчиков компилятора.
> Чел, ты лучше сам сядь. Да выучи, чем отличается UB от implementation-defined
> behavior.

Ну, давай учить в_месте:

3.4.3

1 undefined behavior
behavior, upon use of a nonportable or erroneous program construct or of erroneous data, for which
this International Standard imposes no requirements

2 Note 1 to entry: Possible undefined behavior ranges from ignoring the situation completely with unpredictable results,
to behaving during translation or program execution in a documented manner characteristic of the environment (with or
without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic
message).

3 EXAMPLE An example of undefined behavior is the behavior on integer overflow.

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

198. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноним (245), 06-Окт-23, 14:50 
Правильно. Ты где-то тут видишь "оставить детали реализации на усмотрение разработчиков компилятора"?

А определение implementation-defined ты решил тактично не приводить, да? Но ты все же глянь на него: там как раз и сказано о "оставить детали реализации на усмотрение разработчиков компилятора".

Ответить | Правка | Наверх | Cообщить модератору

221. "Выпуск языка программирования Rust 1.73"  –1 +/
Сообщение от Аноним (322), 06-Окт-23, 16:17 
> Правильно. Ты где-то тут видишь "оставить детали реализации на усмотрение разработчиков
> компилятора"?

Во втором пункте. За исключением одного нюанса: не компилятора, а транслятора ИЛИ имплементации стандартной библиотеки.

> А определение implementation-defined ты решил тактично не приводить, да? Но ты все
> же глянь на него: там как раз и сказано о "оставить
> детали реализации на усмотрение разработчиков компилятора".

Ты сначала определение UB уясни, прежде чем переходить к следующей теме.

Ответить | Правка | Наверх | Cообщить модератору

233. "Выпуск языка программирования Rust 1.73"  +1 +/
Сообщение от Аноним (245), 06-Окт-23, 17:52 
>> Правильно. Ты где-то тут видишь "оставить детали реализации на усмотрение разработчиков
>> компилятора"?
> Во втором пункте. За исключением одного нюанса: не компилятора

Ага, "не компилятора" у нас теперь "нюанс". Аплодирую твоей ментальной акробатике.

> транслятора ИЛИ имплементации стандартной библиотеки

Это ты так ловко перевел "documented manner characteristic of the environment"? Я правильно понял?

Ответить | Правка | Наверх | Cообщить модератору

281. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноним (322), 07-Окт-23, 06:37 
>>> Правильно. Ты где-то тут видишь "оставить детали реализации на усмотрение разработчиков
>>> компилятора"?
>> Во втором пункте. За исключением одного нюанса: не компилятора
> Ага, "не компилятора" у нас теперь "нюанс". Аплодирую твоей ментальной акробатике.

В смысле, ты не читал стандарт и не знаешь, что там вместо compiler пишется translator и/или conforming implementation, в зависимости от контекста (compiler - когда речь идёт об оптимизации целевого кода)? Ты мог бы попробовать поймать оппонента буквоедством, но вместо этого продемонстрировал непонимание сути.

>> транслятора ИЛИ имплементации стандартной библиотеки
> Это ты так ловко перевел "documented manner characteristic of the environment"? Я
> правильно понял?

Я не очень ловко поучаствовал в создании conforming implementation, а не только анонимной экспертизе. Именно так мы и трактовали стандарт, в случаях UB документировали поведение. То есть заявление #63 по своей сути верно, несмотря на формулировку.

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

Ответить | Правка | Наверх | Cообщить модератору

143. "Выпуск языка программирования Rust 1.73"  +4 +/
Сообщение от Пряник (?), 06-Окт-23, 09:54 
Чем меньше знает человек, тем упорнее он за это знание держится.
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

205. "Выпуск языка программирования Rust 1.73"  –1 +/
Сообщение от kir (??), 06-Окт-23, 15:20 
https://www.youtube.com/watch?v=cvSW6sWxitk&t=1086s

Посмотри, м.б. в голове на место встанет

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

141. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноним (141), 06-Окт-23, 09:50 
а нехер указатели на войд юзать, это тебе не си и не си с классами, несмотря на то, что надстройка над си
Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

217. "Выпуск языка программирования Rust 1.73"  –1 +/
Сообщение от Аноньимъ (ok), 06-Окт-23, 16:03 
> а нехер указатели на войд юзать, это тебе не си и не
> си с классами, несмотря на то, что надстройка над си

А нахер тебе С++ если не юзать указатели на воид?
Если убрать из С++ си с классами и добавить строгую типизацию то что получится, и кому это надо?

Ответить | Правка | Наверх | Cообщить модератору

282. "Выпуск языка программирования Rust 1.73"  +1 +/
Сообщение от Аноним (322), 07-Окт-23, 06:59 
> А нахер тебе С++ если не юзать указатели на воид?

Плюсы и придумали, что бы заменить void* смартпоинтерами.

> Если убрать из С++ си с классами и добавить строгую типизацию то что получится, и кому это надо?

Получится функциональщина в духе Степанова и Ли, STL.

Ответить | Правка | Наверх | Cообщить модератору

296. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноньимъ (ok), 07-Окт-23, 13:43 
> Плюсы и придумали, что бы заменить void* смартпоинтерами.

Чтож не заменили?

> заменить void* смартпоинтерами

Я в начале не понял, а потом как понял 😃

> STL

Сжечь.

> функциональщина
> The Standard Template Library (STL) is a set of C++ template classes
> template classes

Ответить | Правка | Наверх | Cообщить модератору

328. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноним (322), 07-Окт-23, 19:08 
>> Плюсы и придумали, что бы заменить void* смартпоинтерами.
> Чтож не заменили?

Заменили.

>> заменить void* смартпоинтерами
> Я в начале не понял, а потом как понял 😃

Как? Что кому-то синтаксис unique_ptr<> показался некошерным, вот он и придумал новый язык с передачей владения?

>> STL
> Сжечь.
>> функциональщина
>> The Standard Template Library (STL) is a set of C++ template classes

STL создали Степанов и Ли, название изначально сложено из их фамилий. В библиотеку входят алгоритмы и итераторы, позволяющие писать в функциональном стиле. Позже к STL надобавляли всё подряд и назвали это стандартная библиотека. Не надо путать эти две разницы, употребляясь неопытному плюсовику.

>> template classes

И? Задача Страуструпа была прикрутить параметрический полиморфизм к синтаксису Си, потому и получилось громоздко. Позже ввели ключевое auto и осилили вывод типов для большинства случаев.

Ответить | Правка | Наверх | Cообщить модератору

329. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноньимъ (ok), 07-Окт-23, 19:23 
> Заменили

В каком-то конкретном компиляторе, стандарте, или где?
Представьте ссылку.

Ответить | Правка | Наверх | Cообщить модератору

359. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноним (322), 08-Окт-23, 06:32 
>> Заменили
> В каком-то конкретном компиляторе, стандарте, или где?

В исходных текстах программ на плюсах вместо void* используют умные указатели. Программисты делают это либо самостоятельно, либо руководствуясь принятыми в проекте стандартами кодирования.

> Представьте ссылку.

Первая попавшаяся

Ownership and Smart Pointers

Prefer to have single, fixed owners for dynamically allocated objects. Prefer to transfer ownership with smart pointers.

https://google.github.io/styleguide/cppguide.html#Ownership_...

Ответить | Правка | Наверх | Cообщить модератору

365. "Выпуск языка программирования Rust 1.73"  +/
Сообщение от Аноньимъ (ok), 08-Окт-23, 11:13 
> Заменили
> Prefer

Вы не видете разницы между рекомендацией использования гдетотам и заменой?

Кстати утверждение о том что С++ для этого создавался безумно, вумные указатели в нем сильно позже появились его создания.

> В исходных текстах программ на плюсах вместо void* используют умные указатели. Программисты
> делают это либо самостоятельно, либо руководствуясь принятыми в проекте стандартами кодирования.

Это сильное заявление.
А в стандарте оно нафига тогда?

И как смартпойнтер может *void вообще заменить? А если может то имеет теже проблемные свойства.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру