The OpenNET Project / Index page

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



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

Оглавление

Первый стабильный выпуск Arti, официальной реализации Tor на языке Rust , opennews (?), 03-Сен-22, (0) [смотреть все]

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


28. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Аноним (35), 03-Сен-22, 11:45 
>Излишняя требовательность компилятора rustc, отмечаемая некоторыми как недостаток, на деле оказалась благом, так как если код компилируется и проходит тесты, значительно повышается вероятность его корректности.

Я тоже это заметил, когда начал писать на расте. Программа компилируется ... и либо сразу работает, без отладки сигсегвов, либо сразу паникует, сообщив, что не так.

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

40. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +1 +/
Сообщение от Аноним (13), 03-Сен-22, 11:55 
как и любая другая программа. ты только что начал программировать вообще, а не именно на расте
Ответить | Правка | Наверх | Cообщить модератору

51. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  –2 +/
Сообщение от Аноним (35), 03-Сен-22, 12:07 
Это просто ты на C++ и особенно на C не программировал. В C можно 3 часа отлаживать один сигсегв, чтобы потом выяснить, что C не проверяет типы указателей при вызове функций и что у тебя либо местами перепутаны 2 указателя на 2 структуры, либо в функцию вообще передана левая хрень. В плюсах с этим получше. Либо обнаружить, что код-то выглядит хорошо, но в маросах в лучшем случае дрянь по типу #define PI (3.14 + random() * 0.01) // happy debugging, bastards.
Ответить | Правка | Наверх | Cообщить модератору

54. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +3 +/
Сообщение от Аноним (54), 03-Сен-22, 12:27 
> C не проверяет типы указателей при вызове функций

Это что за компилятор такой?

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

91. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +1 +/
Сообщение от Аноним (91), 03-Сен-22, 14:01 
>#define PI (3.14 + random() * 0.01) // happy debugging, bastards

Я не программист от слова совсем. Без подкола, поясни, плз, в чем здесь засада?

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

101. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  –1 +/
Сообщение от Анонн (?), 03-Сен-22, 14:32 
Засада в том, что написавший это нехороший человек "переопределяет" константу PI и все результаты будут чуть плавать на значение random()*0.01.
Ответить | Правка | Наверх | Cообщить модератору

109. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 03-Сен-22, 14:54 
Засада в том, что стандарт мало кто читает, чем много кто злоупотребляет. "Переопределять" макрос нельзя.

6.10.3/2
An identifier currently defined as an object-like macro shall not be redefined by another #define
preprocessing directive unless the second definition is an object-like macro definition and the two
replacement lists are identical. Likewise, an identifier currently defined as a function-like macro
shall not be redefined by another #define preprocessing directive unless the second definition is a
function-like macro definition that has the same number and spelling of parameters, and the two
replacement lists are identical.

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

118. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +1 +/
Сообщение от НяшМяш (ok), 03-Сен-22, 15:43 
> shall not

Это переводится не как "не может быть", а как "не должен быть". Программ, злоупотребляющих парой #undef + #define полно.

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

126. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 03-Сен-22, 17:20 
>> shall not
> Это переводится не как "не может быть", а как "не должен быть".

В случае стандарта оно формализовано вот так:

4. Conformance
1 In this International Standard, “shall” is to be interpreted as a requirement on an implementation or on a program; conversely, “shall not” is to be interpreted as a prohibition.

То есть запрет. Далее можно начать теоретизировать на тему UB, но лучше запустить транслятор и посмотреть, не напишет ли он чего. Потому что если он выдаст диагностику, то теоретика сразу будет видно.

> Программ, злоупотребляющих парой #undef + #define полно.

Так это другой случай. В примере нет #undef.

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

203. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +1 +/
Сообщение от Аноним (-), 04-Сен-22, 01:25 
> Это переводится не как "не может быть", а как "не должен быть".
> Программ, злоупотребляющих парой #undef + #define полно.

ЧСХ у компилеров есть варнинги на эту тему. Вот как раз чтобы там где это и правда важно - не откушать креатива. А если ты на варнинги и опции статического анализа забивал - какая разница что за ЯП? Пофигист даже с питоном RCE сделает.

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

345. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от НяшМяш (ok), 06-Сен-22, 19:34 
А много больших и полезных программ существует, которые компилируются без единого варнинга (если их не глушить динамитом конечно)? А то я компилирую себе ядро, месу и вайн (остальное с апстрима беру) - в каждом из них gcc сыпет предупреждениями.
Ответить | Правка | Наверх | Cообщить модератору

263. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Аноним (91), 04-Сен-22, 15:02 
>нехороший человек "переопределяет" константу

Неужели невозможно на этапе компиляции запретить redefine уже определенных констант?

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

299. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  –1 +/
Сообщение от Ананимус (?), 05-Сен-22, 13:21 
>>нехороший человек "переопределяет" константу
> Неужели невозможно на этапе компиляции запретить redefine уже определенных констант?

В C препроцессор работает до концепляции :)

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

330. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +1 +/
Сообщение от Аноним (276), 06-Сен-22, 00:54 
> В C препроцессор работает до концепляции :)

Тем не менее, в gcc каком есть опции на эту тему. А еще - только подумайте, есть статические анализаторы, они вообще позволяют мутный код на чистую воду выводить только в путь. И вообще-то качественный код переживает пуск на нем статических анализеров в придирчивом режиме. А если вы это не пробовали - ну значит и качество кода вас не сильно интересовало, на что тогда жаловаться? То что гамнокодом могут накормить - ни разу не новость.

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

337. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  –1 +/
Сообщение от Ананимус (?), 06-Сен-22, 14:28 
> Тем не менее, в gcc каком есть опции на эту тему.

Какие опции, родное сердце? Препроцессор просто заменяет одну строчку на другую строчку. Причем не всегда синтаксически валидную строчку.

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

С болью, страданиями и кучей false positive.

> И вообще-то качественный код переживает пуск на нем статических анализеров в придирчивом режиме.

Линуксовое ядро регулярно прогоняется через Coverity. Кучу тупых багов это не отменяет.

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

341. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 06-Сен-22, 17:55 
Будешь дальше гнать лажу - придётся применить к тебе препроцессор.
Ответить | Правка | Наверх | Cообщить модератору

343. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Ананимус (?), 06-Сен-22, 19:16 
> Будешь дальше гнать лажу - придётся применить к тебе препроцессор.

Самое нелепое, что у nooby подгорело и он меня заблокировал :D

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

340. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 06-Сен-22, 17:51 
>>нехороший человек "переопределяет" константу
> Неужели невозможно на этапе компиляции запретить redefine уже определенных констант?

Поскольку выше ответил тролль и любитель мракобесия Ананимус, вот правильный ответ:


$ cat macro.c
#define PI 1
#define PI 2

$ gcc macro.c
macro.c:2: предупреждение: «PI» переопределён
    2 | #define PI 2
      |
macro.c:1: замечание: это расположение предыдущего определения
    1 | #define PI 1
      |


Если добавить ключ -Werror, то вместо предупреждения будет ошибка.
Ответить | Правка | К родителю #263 | Наверх | Cообщить модератору

344. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Ананимус (?), 06-Сен-22, 19:25 
>>нехороший человек "переопределяет" константу
> Неужели невозможно на этапе компиляции запретить redefine уже определенных констант?

n00by пытается казаться умным, но у него не получается:

#define FOOBAR пиписька
#undef  FOOBAR
#define FOOBAR большая_пиписька

int
main(void)
{
    FOOBAR;
}

n00by, перестань позориться пожалуйста.

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

348. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 07-Сен-22, 11:12 
>> #define
>> #define
> #define
> #undef  
> #define
> гы лол я самый умный

Вот хорошо видна гнусная демагогия, какую любят друзья мракобесия - добавил #undef и переложил с больной головы на здоровую.

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

108. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +3 +/
Сообщение от n00by (ok), 03-Сен-22, 14:51 
Если три часа отлаживаете - то обычно дело не в языке, а том что глаз замылился. Через 30-60 минут стоит переключиться на что-то другое, в итоге время сэкономите.
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

157. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от лютый ж.... (?), 03-Сен-22, 21:50 
>Если три часа отлаживаете - то обычно дело не в языке, а том что глаз замылился.

я как-то месяца три ловил логическую ошибку на плюсах из-за которой супер редко случался выход за границы массива. случалась она не в отладчике есно, а только в проде. ну и чё там си обычно пишет (за давностью лет не помню), ошибка обращения к памяти 0x34ee5345ff... даже непонятно в чем суть ошибки.

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

204. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +4 +/
Сообщение от Аноним (-), 04-Сен-22, 01:27 
> пишет (за давностью лет не помню), ошибка обращения к памяти 0x34ee5345ff...
> даже непонятно в чем суть ошибки.

Поэтому культурные люди со временем учатся в юнит-тесты, test driven development и fuzzing. Это кстати не только на сях полезно так то. Особенно в сетевом и т.п. софте. Ремоты же могут что угодно слать. Те за кого "яп подумает" узнают чем это чревато сложным способом.

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

261. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +1 +/
Сообщение от Аноним (260), 04-Сен-22, 14:40 
Ага, а потом эти люди получают кучу говнокода, который способен проходить тесты, но изменения резко не приветствуются.
Ответить | Правка | Наверх | Cообщить модератору

331. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Аноним (-), 06-Сен-22, 00:57 
> Ага, а потом эти люди получают кучу говнокода, который способен проходить тесты,
> но изменения резко не приветствуются.

Тебя что, тесты с комитом послали? Ну извини, может быть, твой код был не так уж и хорош как ты себе это возомнил? У людей видите ли психология, свое д@рьмо не пахнет :). А машинам, вот, пофиг - они железные и поэтому мой код и код другого анонимуса обругают совершенно одинаково.

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

217. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 04-Сен-22, 08:33 
Вы же при этом не пялились в отладчик всё это время, а писали «не воспроизводится». Я ловил ошибки, когда компилятор с определёнными ключами генерировал мусор, так что не очень разделяю восторги некоторых.
Ответить | Правка | К родителю #157 | Наверх | Cообщить модератору

332. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Аноним (-), 06-Сен-22, 01:00 
> Вы же при этом не пялились в отладчик всё это время, а
> писали «не воспроизводится». Я ловил ошибки, когда компилятор с определёнными
> ключами генерировал мусор, так что не очень разделяю восторги некоторых.

Более того - о том что процесс видите ли можно под дебагером запустить он видимо тоже не знал. При том в линухе например GDB даже опосля на ходу можно приаттачить к процессу, и сам по себе он вообще и ресурсов особо не жрет, и не мешает ничему этакому. Так что если он пару дней в фоне и повисит - да и хрен с ним. А когда наконец упадет можно уже с пониманием дела состояние процесса поковырять, узнав кто там по этому адресу что хотел и почему вышел факап.

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

220. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Аноним (221), 04-Сен-22, 10:08 
Нет, дело в языке. C++ о таком предупреждает на этапе компиляции в вибе error, а си - проглатывает.
Ответить | Правка | К родителю #108 | Наверх | Cообщить модератору

255. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 04-Сен-22, 12:21 
Да хоть в HTML, не надо ничего три часа отлаживать, когда на то нет веских оснований. Академический час 45 минут, перерывы, даже фильм в среднем полтора часа - всё это не на пустом месте придумано. Если это неизвестно и не понятно интуитивно, то возникает вопрос, а на своём ли месте человек, кто допустил Вас до отладки.
Ответить | Правка | Наверх | Cообщить модератору

265. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Аноним (-), 04-Сен-22, 18:16 
> Академический час 45 минут, перерывы, даже фильм в среднем полтора часа - всё это не на пустом месте придумано.

Расчёт на среднестатистическую психику, для которой удерживать внимание дольше 15 минут сложно, а целый час невозможно.

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

303. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 05-Сен-22, 13:35 
В вузы идут не среднестатистические. Но даже Бог на 7й день отдыхал.
Ответить | Правка | Наверх | Cообщить модератору

305. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Ананимус (?), 05-Сен-22, 14:35 
> В вузы идут не среднестатистические. Но даже Бог на 7й день отдыхал.

Ват? У нас 32% граждан с высшим образованием.

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

308. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 05-Сен-22, 14:56 
>> В вузы идут не среднестатистические. Но даже Бог на 7й день отдыхал.
> Ват? У нас 32% граждан с высшим образованием.

Что там у вас за высшее, когда не слышали про нормальное распределение? Где - можете не отвечать, оно и так понятно и уже не актуально.

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

310. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от Ананимус (?), 05-Сен-22, 15:05 
> Что там у вас за высшее, когда не слышали про нормальное распределение? Где - можете не отвечать, оно и так понятно и уже не актуально.

На какой именно глобус ты пытаешься тут нормальное распределение натянуть, прости?

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

311. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от n00by (ok), 05-Сен-22, 15:18 
>> Что там у вас за высшее, когда не слышали про нормальное распределение? Где - можете не отвечать, оно и так понятно и уже не актуально.
> На какой именно глобус ты пытаешься тут нормальное распределение натянуть, прости?

То есть высшего у тебя нет. Так, галлюцинации с глобусом. Видать со вчера не отпустило.

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

298. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +/
Сообщение от _kp (ok), 05-Сен-22, 12:30 
>> 3 часа отлаживать один сигсегв

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

>> C не проверяет типы указателей при вызове

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

>>В плюсах с этим получше

Так можно настроить, что б и Си более строго проверял типы, и противился компиляции кода в морально устаревшем стиле.

>>#define

Это инструмент позволяющий "прострелить себе ногу", хочешь простреливай, не хочешь, так используй более безопасные средства, и в c++ тем более.

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

301. "Первый стабильный выпуск Arti, официальной реализации Tor на..."  +1 +/
Сообщение от Ананимус (?), 05-Сен-22, 13:27 
>>> 3 часа отлаживать один сигсегв
> А собрать отладочную версию, чтоб само показало где... нет.. тольлько харкор.

В ядре уже несколько лет отлавливают порчу памяти при использовании мелланоксовского драйвера. Там гонка, которая портит SLAB. Либо не воспроизводится совсем, либо по пять раз подряд. Отловить до сих пор не могут.

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

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

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




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

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