The OpenNET Project / Index page

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



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

Оглавление

В 3.6% протестированных Python-репозиториев выявлены ошибки, связанные с пропущенными запятыми, opennews (??), 08-Янв-22, (0) [смотреть все]

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


1. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –7 +/
Сообщение от Аноним (1), 08-Янв-22, 10:43 
Это вам не сишка!
Ответить | Правка | Наверх | Cообщить модератору

7. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +10 +/
Сообщение от Анонимemail (7), 08-Янв-22, 10:58 
ирония в том, что стандартный интерпретатор написан на Си, и очень много питоновских фич работают шустро благодаря именно его оптимизации
Ответить | Правка | Наверх | Cообщить модератору

97. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +1 +/
Сообщение от rshadow (ok), 08-Янв-22, 19:42 
Да большинство языков так. А потом делают отдельный проект с реализацией интерпретатора языка на самом же языке.
Ответить | Правка | Наверх | Cообщить модератору

109. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –3 +/
Сообщение от Здрасьте (?), 08-Янв-22, 21:45 
PyPy написан на Пайтоне и работает быстрее того, что написан на Си.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

123. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +1 +/
Сообщение от trdm (ok), 09-Янв-22, 09:09 
да никогда такого не будет и не было.
Ответить | Правка | Наверх | Cообщить модератору

136. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –2 +/
Сообщение от Мира (ok), 09-Янв-22, 18:48 
PyPy не написан на Python. Он написан на RPython, который транслирован в C и скомпилирован.
Ответить | Правка | К родителю #109 | Наверх | Cообщить модератору

137. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +1 +/
Сообщение от Аноним (-), 09-Янв-22, 19:23 
> PyPy не написан на Python. Он написан на RPython, который транслирован в C и скомпилирован.

Ыксперты, мля ...
PyPy JIT написан на подмножестве питона (RPython), который напрямую генерирует машинный код:
https://github.com/reingart/pypy/blob/master/rpython/jit/bac...


if IS_X86_64:
            mc.MOV_rs(esi.value, WORD*2)
            # push first arg
            mc.MOV_rr(edi.value, ebp.value)
            align = callbuilder.align_stack_words(1)
            mc.SUB_ri(esp.value, (align - 1) * WORD)

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

116. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –3 +/
Сообщение от vitalif (ok), 09-Янв-22, 01:05 
шустро cpython не работает. он раз в 10 медленнее node.js. шустро работает только pypy
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

119. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +4 +/
Сообщение от myhand (ok), 09-Янв-22, 04:09 
Моя думать, что твоя всерьез целочисленную арифметику не использовал.  Твоя поймет как pypy может сосать.
Ответить | Правка | Наверх | Cообщить модератору

125. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от n00by (ok), 09-Янв-22, 12:02 
Мне тут разрекламировали этот PyPy, на синтетическом тесте показал ощутимый прирост. Перевёл на него emerge в Gentoo, не заметил разницы. Решил, что руки у меня кривые. Но нет, это так и у всех, всего на 35% ускоряет https://blogs.gentoo.org/mgorny/2020/10/06/speeding-up-emerg.../
Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

132. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +1 +/
Сообщение от vitalif (ok), 09-Янв-22, 15:38 
Ну всё правильно, tracing jit... Прирост максимальный там, где один и тот же блок кода выполняется очень много раз. Ноду не переплюнут, гугл хорошо постарался :-)
Ответить | Правка | Наверх | Cообщить модератору

147. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от n00by (ok), 10-Янв-22, 11:55 
emerge это утилита для "установки пакетов" типа apt. Строит граф зависимостей и обсчитывает его рекурсивно, то есть в цикле.
Ответить | Правка | Наверх | Cообщить модератору

21. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +14 +/
Сообщение от Анонн (?), 08-Янв-22, 11:43 
Ты кроме заголовка ничего не читал?
Прямо же в новости написано "При этом проблемы с запятыми не специфичны для Python и часто всплывают в проектах на C/C++" и ссылки на фиксы! Зато первым отметился...
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

34. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +15 +/
Сообщение от Аноним (34), 08-Янв-22, 13:10 
90% комментаторов тут такие, даже противно стало заходить в комменты.
Ответить | Правка | Наверх | Cообщить модератору

95. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от Аноним (95), 08-Янв-22, 19:30 
> стало

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

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

44. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –2 +/
Сообщение от Аноним (-), 08-Янв-22, 13:34 
проблемы с запятыми в си сильно зависят от компиляторов, в неправильных компиляторах часто пробел как ошибка
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

46. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +9 +/
Сообщение от Аноним84701 (ok), 08-Янв-22, 13:39 
>> Случайно пропущенная запятая в списках, кортежах и множествах, приводящая к объединению строк вместо их интерпретации как отдельных значений
> проблемы с запятыми в си сильно зависят от компиляторов, в неправильных компиляторах часто пробел как ошибка

 
$ echo '#include<stdio.h>                                                        
int main(void) { return  puts("привет" "анонимно""параллельный" "мир");}'| gcc -Wall -Wextra -xc -oнашареальность - && ./нашареальность
приветанонимнопараллельныймир

(ISO/IEC 9899:TC3): " 6. Adjacent string literal tokens are concatenated."

Хорошо вам там, в параллельной вселенной! А в нашей реальности все немного по другому :(

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

57. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –7 +/
Сообщение от Аноним (57), 08-Янв-22, 14:28 
Да ты ещё трусы на голову надень, чтобы тебе удобней было, и всё будет хорошо, но только для тебя.

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

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

62. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +6 +/
Сообщение от Аноним84701 (ok), 08-Янв-22, 14:41 
>>> в неправильных компиляторах часто пробел как ошибка
>> цитата ISO C99 плюс простейший пример прямо в шелл
> Да ты ещё трусы на голову надень, чтобы тебе удобней было, и всё будет хорошо, но только для тебя.

Спешу Вас огорчить -- в нашей реальности ношение трусов на голове как-то не способствует изменению стандарта ЯП.
Так что Ваш опыт нам не подходит, увы :(

> Никогда не пиши код, который оформлен, как в твоём примере, ибо это признак того, что программист - чудак на букву "м"

Какая унылая попытка перевести стрелки ...

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

126. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –1 +/
Сообщение от n00by (ok), 09-Янв-22, 12:08 
Лучше бы написали, что там return лишний, а стало быть множество электронов напрасно пострадало от эксперимента. ;)
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

68. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +1 +/
Сообщение от Аноним (68), 08-Янв-22, 15:05 
Справедливости ради, с puts() ошибиться не получится - запятые она не примет. И с printf тоже - количество стрингов, если пропустить запятые, не будет совпадать с тем, что в строке-шаблоне.
А вот в питоне беда с этими кортежами и массивами. Вот из недавнего:
Image.open(fname).convert(mode) вернёт 3х мерный массив, если mode='RGB', и двухмерный, если mode='L'. Где логика?
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

77. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от Аноним84701 (ok), 08-Янв-22, 15:45 
> Справедливости ради, с puts() ошибиться не получится - запятые она не примет.
> И с printf тоже - количество стрингов, если пропустить запятые, не
> будет совпадать с тем, что в строке-шаблоне.

Ну, в новости приведены вполне реальные примеры ошибок:
https://github.com/EhsanKia/llvm-project/blob/21832121e112d9...


static const std::string DefaultIgnoredParameterTypeSuffixes =
...
                                 "ConstReverseIterator",
                                   "Const_Reverse_Iterator",
                                   "const_reverse_iterator"
                                   "Constreverseiterator",
                                   "constreverseiterator"
...

Что принципильно ничем не отличается от ["issues", "releases" "discover" ...] в
>>> Например, в Sentry в одном из тестов была пропущена запятая между строками "releases" и "discover" в списке, что привело к проверке несуществующего обработчика "/releasesdiscover"
>>>

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

96. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от Ordu (ok), 08-Янв-22, 19:38 
> Справедливости ради, с puts() ошибиться не получится - запятые она не примет.

Не примет, да.

> И с printf тоже - количество стрингов, если пропустить запятые, не будет совпадать с тем, что в строке-шаблоне.

Похрен. Ругнётся варнингом, но скомпилирует. В функцию с эллипсисом, согласно стандарту, можно запихать сколько угодно аргументов. Варнинги -- это уже специальный костыль компилятора, который знает про printf и его форматную строку. Если ты напишешь свою реализацию printf, типа "myprintf", то варнингов не будет. gcc позволяет пометить свою функцию как "printf-like", чтоб выполнять проверку аргументов, но если в твоём printf'е будет свой собственный синтаксис форматной строки, то эта пометка лишь сделает ситуацию хуже.

> А вот в питоне беда с этими кортежами и массивами.

В C ровно такая же беда с массивами:

char* strs[8] = {"how", "many" "non-null", "strings" "in" "this", "array" "?"};

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

100. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от Anonymoustus (ok), 08-Янв-22, 19:57 
> с puts() ошибиться

Опытные собаководы рекомендуют функции на f:


fputs()

fscanf()

fprintf()

и т. п.

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

79. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –3 +/
Сообщение от pavlinux (ok), 08-Янв-22, 16:09 
Детская попытка высера.
> puts("привет"

...

В C можно нах...ячить так, что ни одни парсер, анализатор, человек не вдуплят.    


#include<stdio.h>

int main(void) {

    int value = 1;
    return  printf("value %d" "value+1 %d", "value +2 %d\n", value, value+1, value+2);
}


$ ./a.out
value -412667900 value+1 1


Рекомендую для старта: grep -R va_list /usr/include/  
А не выёб... гуглением стандартов.


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

81. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +4 +/
Сообщение от Аноним (81), 08-Янв-22, 16:18 
Ты просто усложнил пример, не показав ничего нового. Зато как наехать так сразу.
Ответить | Правка | Наверх | Cообщить модератору

83. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от Аноним84701 (ok), 08-Янв-22, 16:24 
> Детская попытка высера.
>> puts("привет"

 
#include<stdio.h>
int main(void) {
      int value = 0;
   return  printf("value %d", "value+1 %d", "text", value, value + 1);
}

> <stdin>: In function 'int main()':
> <stdin>:5:20: warning: format '%d' expects argument of type 'int', but argument 2 has type 'const char*' [-Wformat=]
> <stdin>:5:20: warning: too many arguments for format [-Wformat-extra-args]

О, демонстрация "как правильно, по взрослому"?

>>> проблемы с запятыми в си сильно зависят от компиляторов, в неправильных компиляторах часто пробел как ошибка
> Рекомендую для старта: grep -R va_list /usr/include/
> А не выёб... гуглением стандартов.

Рекомендую перед ваянием ответа читать тему целиком, а не пытаться выёб..., раздергивая на отдельные части.
ЗЫ:
И новость читать тоже желательно -- _реальные_ примеры для "не вдуплят" там тоже есть.

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

84. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –2 +/
Сообщение от pavlinux (ok), 08-Янв-22, 16:28 
> Рекомендую перед

Я ж говорю, завязывай с дpoчиловом на идеальный мир ...
Сходи на хитбаб, ознакомься как в реaльном мире живут  с -W -Wall -Wextra  -petantic -ansi -Wstrict- .... итп


Такой муйнёй занимаются только домашние хелловордисты. :D

Когда у тебя в проекте заняты 50 человек, 5-6 языков, три платформы, 4 аппаратные арх.
личные тикеты расписаны до ноября 2022 года ... те не до рассматривания срача от -Wall -Wextra  

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

86. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +1 +/
Сообщение от Аноним84701 (ok), 08-Янв-22, 16:36 
> Я ж говорю, завязывай с дpoчиловом на идеальный мир ... Сходи на

Я ж говорю, завязывай с чтением с помощью афедрона -- тебе в новости уже привели реальный пример, который не ловится никакими Wall (причем именно из-за стандарта), в отличие от.
И ответ, кстати, был на "в неправильных компиляторах часто пробел как ошибка", что прекрасно демонстрируется с помощью puts, но для этого нужно было читать глазами.

> Такой муйнёй занимаются только домашние хелловордисты. :D

"Отмазывайся теперь!" (с)

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

98. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от user (??), 08-Янв-22, 19:44 
Что мешает добавить второй способ сборки и спокойно там ковыряться когда время есть?
Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

111. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от _kp (ok), 08-Янв-22, 22:01 
int main[-1]; //это корректный однострочник на Си с интересным эффектом ;)
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

99. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  +/
Сообщение от Anonymoustus (ok), 08-Янв-22, 19:54 
Однострочники на Сишечке — это прекрасно!
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

56. "В 3.6% протестированных Python-репозиториев выявлены ошибки,..."  –1 +/
Сообщение от Аноним (57), 08-Янв-22, 14:26 
Это каким дундуком надо быть, чтобы на Си не ставить запятые? У Си вообще самый удобный синтаксис, просто писать на нём надо так, чтобы программа была прозрачной, а не хитровыеб-ной, чтоб "никто не догадался".

Лгут эти тестировщики.

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

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

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




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

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