The OpenNET Project / Index page

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



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

Оглавление

Недоработка в Python-скрипте могла привести к неверным резул..., opennews (??), 13-Окт-19, (0) [смотреть все]

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


2. "Недоработка в Python-скрипте могла привести к неверным резул..."  –7 +/
Сообщение от Аноним (2), 13-Окт-19, 11:18 
Вот поэтому разработку таких важных программ с виндой на ПК нельзя.
Ответить | Правка | Наверх | Cообщить модератору

5. "Недоработка в Python-скрипте могла привести к неверным резул..."  +15 +/
Сообщение от заминированный тапок (?), 13-Окт-19, 11:21 
так на винде же верный резльутат судя по статье.
хотя для этого сначала нужно статью читать, конечно
Ответить | Правка | Наверх | Cообщить модератору

10. "Недоработка в Python-скрипте могла привести к неверным резул..."  +1 +/
Сообщение от Аноним (2), 13-Окт-19, 11:22 
Так я об этом же. Если бы у разработчика был мак или убунту, он бы заметил сразу проблему, а так 5 лет никто не замечал.
Ответить | Правка | Наверх | Cообщить модератору

15. "Недоработка в Python-скрипте могла привести к неверным резул..."  –2 +/
Сообщение от заминированный тапок (?), 13-Окт-19, 11:32 
как минимум Ubuntu 16 (я так полагаю 16.04 которая LTS) уж точно есть

другое дело что на разных платформах фунаментальные вещи ведут себя по-разному - это уже красит язык не с лушчей стороны (жаль в статье не неписали ещё какой конкретно инструментарий и компилятор/транслятор)

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

32. "Недоработка в Python-скрипте могла привести к неверным резул..."  –5 +/
Сообщение от Чё (?), 13-Окт-19, 12:25 
Так и знал что кто-то вбросит про "питон уёвый". Не криворукие разработчики скрипта виноваты, а язык программирования Python лично! Офигенная логика, почти женская.
Ответить | Правка | Наверх | Cообщить модератору

44. "Недоработка в Python-скрипте могла привести к неверным резул..."  +3 +/
Сообщение от заминированный тапок (?), 13-Окт-19, 13:00 
я так же удивляюсь когда мне рассказывают про плохие C/C++, потому что простреленные ноги
Ответить | Правка | Наверх | Cообщить модератору

55. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (53), 13-Окт-19, 13:48 
Эксперты ЛОРа и ОпенНета любят рассуждать о языках программирования. Но ни одной строчки кода, ни на одном языке, за свою жизнь не написали.
Ответить | Правка | Наверх | Cообщить модератору

65. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от аноним3 (?), 13-Окт-19, 14:18 
а вдруг они хелло ворды написать успели. ты че почти разработчик))
Ответить | Правка | Наверх | Cообщить модератору

248. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от Антон (??), 14-Окт-19, 06:45 
У вас ноги бетонные?
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

213. "Недоработка в Python-скрипте могла привести к неверным резул..."  +1 +/
Сообщение от Мамочка (?), 13-Окт-19, 22:33 
Нет-нет, Питон хороший, не плачь
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

284. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Чё (?), 14-Окт-19, 12:44 
Всех по себе не суди.
Ответить | Правка | Наверх | Cообщить модератору

35. "Недоработка в Python-скрипте могла привести к неверным резул..."  +3 +/
Сообщение от Аноним (35), 13-Окт-19, 12:34 
Это не фундаментальная вещь. Функция в языке возвращает неотсортированное множество файлов. И она его правильно возвращает. Это уже автор скрипта нафантазировал, что результат сортируется и привязал к этому ключевую функциональность. Даже если оно и сортируется, могут быть куча разных алгоритмов этой сортировки. Банально f100.txt и f20.txt -- какой из этих файлов должен стоять раньше, а какой позже? Можно рассматривать каждую цифру в отдельности и тогда f20.txt будет впереди, или все число и тогда f100.txt будет впереди.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

42. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (42), 13-Окт-19, 12:54 
> Функция в языке возвращает неотсортированное множество файлов.

Если бы было так, проблемы бы не было. Но она есть, потому что при определённых обстоятельствах оно отсортировано, при других — нет.
Подход, исключающий ошибку программиста, реализован в Go: там принято либо всегда возвращать использовать сортировку (как в filepath.Glob()), либо использовать заведомо непредсказуемый порядок (как в range по отображению).

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

45. "Недоработка в Python-скрипте могла привести к неверным резул..."  +2 +/
Сообщение от заминированный тапок (?), 13-Окт-19, 13:02 
ну в данном случае всё же ошибка не петона, тк >>> "в то время как в документации на glob указано, что порядок вывода не гарантируется. "
Ответить | Правка | Наверх | Cообщить модератору

140. "Недоработка в Python-скрипте могла привести к неверным резул..."  –2 +/
Сообщение от Аноним (42), 13-Окт-19, 17:24 
Да, это ошибка программиста, а не языка. Но язык мог бы страховать от таких ошибок, однако он этого не делает.
Ответить | Правка | Наверх | Cообщить модератору

154. "Недоработка в Python-скрипте могла привести к неверным резул..."  +4 +/
Сообщение от Аноним (154), 13-Окт-19, 17:56 
Каким образом язык может защитить программиста от нечитания документации? Даже бить током не поможет — язык (его реализация) не знает чего ты хотел. Только то, что ты написал.
Ответить | Правка | Наверх | Cообщить модератору

190. "Недоработка в Python-скрипте могла привести к неверным резул..."  –2 +/
Сообщение от Аноним (42), 13-Окт-19, 20:40 
> Каким образом язык может защитить программиста от нечитания документации?

Легко: вести себя более предсказуемо.

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

285. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Чё (?), 14-Окт-19, 12:47 
>> Каким образом язык может защитить программиста от нечитания документации?
> Легко: вести себя более предсказуемо.

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

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

313. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (325), 14-Окт-19, 16:40 
Я читаю документацию. И я всё равно допускаю ошибки, в том числе и из-за невнимательного её чтения. И если ты скажешь, что с тобой такого не случается, я отвечу, что такое возможно только при условии, что ты за всю жизнь не написал ни строчки кода.
Ответить | Правка | Наверх | Cообщить модератору

326. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Чё (?), 14-Окт-19, 19:22 
Если я и ошибаюсь то признаю это и правлю баги, а не начиинаю обгаживать используемый инструмент(язык программирования, фреймфорк и тп).
Ответить | Правка | Наверх | Cообщить модератору

335. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (42), 15-Окт-19, 00:05 
Разницы между «обгаживанием» и конструктивной критикой не видишь?
Ответить | Правка | К родителю #326 | Наверх | Cообщить модератору

52. "Недоработка в Python-скрипте могла привести к неверным резул..."  +1 +/
Сообщение от Аноним (35), 13-Окт-19, 13:41 
> Если бы было так, проблемы бы не было. Но она есть, потому что при определённых обстоятельствах оно отсортировано, при других — нет.

https://docs.python.org/3/library/glob.html

The glob module finds all the pathnames matching a specified pattern according to the rules used by the Unix shell, **although results are returned in arbitrary order**.

Что конкретно вам не понятно?

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

141. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (42), 13-Окт-19, 17:27 
Мне непонятно, почему тебе непонятно написанное мной.
Человек ошибся. Люди часто ошибаются. Данная ошибка вполне предсказуемая, поэтому её можно было бы предотвратить. Это не значит, что не надо читать документацию, но иногда всё же стоит смотреть на ситуацию с разных точек зрения.
Ответить | Правка | Наверх | Cообщить модератору

208. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (-), 13-Окт-19, 22:10 
> при определённых обстоятельствах оно отсортировано, при других — нет.

Рандомная перестановка списка чисел тоже, знаете ли, иногда выдает отсортированный список

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

175. "Недоработка в Python-скрипте могла привести к неверным резул..."  +4 +/
Сообщение от Аноним (171), 13-Окт-19, 19:48 
> Банально f100.txt и f20.txt -- какой из этих файлов должен стоять раньше, а какой позже?

Leading zeroes для этого придумали. Если скрипт принимает данные от сенсоров и кладёт их в файлы data1, data2, ... data9, data10, data11, ... вместо data00000001, data00000002, ..., то автора скрипта надо сечь розгами. Потому что писать надо так, чтобы результат не зависел от того, как в каждой конкретной реализации решён вопрос "какой из этих файлов должен стоять раньше, а какой позже".
> автор скрипта нафантазировал, что результат сортируется и привязал к этому ключевую функциональность.

А за это - уже не розгами, а батогами.

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

253. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Адекват (ok), 14-Окт-19, 06:58 
>Можно рассматривать каждую цифру в отдельности и тогда f20.txt будет впереди, или все число и тогда f100.txt будет впереди.

такие особенности всегда вымораживали - языки же для людей делаются, для людской логики, и если человек просит делать сортировку, то программа должна сортировать по человечески.
Просто не могу себе представить ситуации, чтобы 100 было раньше 20.

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

267. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (267), 14-Окт-19, 11:04 
Лексикографическую сортировку в школе не проходят, потерпи до института.
Ответить | Правка | Наверх | Cообщить модератору

153. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от анононимис (?), 13-Окт-19, 17:53 
писали код под Windows, но вычисления шли на Linux;)
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

36. "Недоработка в Python-скрипте могла привести к неверным резул..."  +2 +/
Сообщение от Аноним (42), 13-Окт-19, 12:38 
> Вот поэтому разработку таких важных программ с виндой на ПК нельзя.

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

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

57. "Недоработка в Python-скрипте могла привести к неверным резул..."  +3 +/
Сообщение от Аноним (57), 13-Окт-19, 13:58 
Я вижу вы понимающий. Расскажите как подобный баг можно гарантированно поймать автотестами на любой платформе. Проверять на всех комбинациях рантайма, ОС, ФС и API? Даже это не гарантия того, что glob() обязательно хоть раз вернёт неотсортированный результат конкретно на ваших тестовых датасетах, тут уж как фишка/хеш/дерево/порядок_добавления/фаза_луны ляжет.
Ответить | Правка | Наверх | Cообщить модератору

93. "Недоработка в Python-скрипте могла привести к неверным резул..."  –4 +/
Сообщение от taliano (ok), 13-Окт-19, 14:53 
А зачем проверять на всех комбинациях? Вот у нас тесты пробежали без ошибок на определенной комбинации. Она и будет считаться поддерживаемой. Если есть герой, который хочет использовать другую, то это уже под его личную ответственность.
Ответить | Правка | Наверх | Cообщить модератору

94. "Недоработка в Python-скрипте могла привести к неверным резул..."  +2 +/
Сообщение от Аноним (86), 13-Окт-19, 15:02 
То есть, питон уже не кроссплатформенный?
Ответить | Правка | Наверх | Cообщить модератору

117. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от taliano (ok), 13-Окт-19, 16:29 
> То есть, питон уже не кроссплатформенный?

Если не уметь писать кроссплатформенно, то да. Причем это не только питона касается.

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

209. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (-), 13-Окт-19, 22:14 
Если я в питоне напишу что-то вида

with open("/dev/ttyS0") as f

то это будет вполне не кроссплатформенный код

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

100. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (57), 13-Окт-19, 15:20 
А что проверять-то, порядок файлов в каталоге может зависеть примерно от всего: помимо явных завязок на ОС и ФС сама ФС ещё более неявно может, например, переиспользовать структуры от удалённых файлов и тогда порядок станет зависеть ещё и от того, что лежало в каталоге до момента запуска теста. Вариантов ФС и даже конкретных вариантов реализации ФС великое множество, как конкретно будет работать в каждом случае - неизвестно. Иногда и рандомный порядок будет совпадать с отсортированным и ваш тест пройдёт.
Это даже если забыть о том, что чтобы написать такой тест нужно как минимум знать, что поведение glob() не гарантирует сортировку. А как мы видим из новости, проблема как раз в том, что автор просто невнимательно прочёл документацию.
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

118. "Недоработка в Python-скрипте могла привести к неверным резул..."  –3 +/
Сообщение от taliano (ok), 13-Окт-19, 16:39 
> Иногда и рандомный порядок будет совпадать с отсортированным и ваш тест пройдёт.

Замечательно, но когда тесты начинают валится на другой ФС, то это уже говорит о проблеме в коде. Теперь вопрос - а как обнаружить эту проблему без тестирования?

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

122. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (57), 13-Окт-19, 16:47 
Конечно, тесты могли бы помочь, но если автор всё это писал и тестировал на windows, то тесты никогда бы и не упали. А чтобы упали, нужно было как минимум проверить на другой ФС, а для этого нужно знать, что на другой ФС может быть другое поведение, а для этого нужно знать, что glob() может работать по-разному.
Ответить | Правка | Наверх | Cообщить модератору

126. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от taliano (ok), 13-Окт-19, 17:04 
Безусловно это так, но что если проблема гораздо более затейлива чем в случае с glob() и не имеет никакой подсказки в виде документации или иного посконного знания?
Ответить | Правка | Наверх | Cообщить модератору

139. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (57), 13-Окт-19, 17:23 
Если вы к тому, что надо всё равно писать тесты и что они отловят хотя бы часть таких ошибок, то я с вами полностью согласен.
В контексте обсуждаемого случая мне вспоминается разработка под андроид, где китайцы наплодили такой зоопарк смартфонов различной степени пропатченности как по софту, так и по железу, что баги и проблемы со стандартным вроде бы API могут возникать вообще в любом самом неожиданном месте. Часть таких аппаратов в информации о модели возвращают либо рандом, либо просто от балды набранную строку типа 0123456 (взято не из головы). Такой аппарат даже в интернете не найти, не то что купить/взять для тестирования.
Ответить | Правка | Наверх | Cообщить модератору

138. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (42), 13-Окт-19, 17:21 
> Я вижу вы понимающий. Расскажите как подобный баг можно гарантированно поймать автотестами на любой платформе.

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

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

59. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от JL2001 (ok), 13-Окт-19, 14:07 
>> Вот поэтому разработку таких важных программ с виндой на ПК нельзя.
> Вот поэтому надо писать автотесты. А тем, кто этого не понимает, в
> разработку нельзя.

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

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

131. "Недоработка в Python-скрипте могла привести к неверным резул..."  –4 +/
Сообщение от Аноним (42), 13-Окт-19, 17:09 
Нет, когда он запустил setyp.py test (или как там нынче модно запускать тесты в языке, где there is only one way to do it? я не слежу).
Питонщики, блин. Вообще ни хрена не знают о разработке, но пытаются умничать.
Ответить | Правка | Наверх | Cообщить модератору

99. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от конь в пальто (?), 13-Окт-19, 15:20 
тесты нужно писать только тогда, когда трудозатраты на их написание окупятся. зачастую же тесты пишут (или пишут в каментах на опеннете, что их надо писать) лишь как дань моде.
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

136. "Недоработка в Python-скрипте могла привести к неверным резул..."  –2 +/
Сообщение от Аноним (42), 13-Окт-19, 17:16 
Ну посчитай, во сколько обойдётся перепроверка сотни исследований, в большей части которых наверняка было больше одного вычисления, и публикация исправлений. Не говоря об ущербе для репутации скриптозапускаторов и учреждений, в которых они работают.
Тесты у него не окупаются, видите ли, ага. Ты вообще серьёзный научный софт когда-нибудь видел? Там кажая операция кучей тестов покрыта, потому что цена ошибки куда выше, чем ты можешь себе представить. Хорошо, если просто какой-нибудь дорогостоящий прибор из-за неё сдохнет, а ну как и несколько человек на тот свет отправит?
Ответить | Правка | Наверх | Cообщить модератору

101. "Недоработка в Python-скрипте могла привести к неверным резул..."  +3 +/
Сообщение от Грусть (?), 13-Окт-19, 15:22 
Вот поэтому явное лучше неявного. Если вам нужны упорядоченные данные, их надо явно сортировать.
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

121. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Ordu (ok), 13-Окт-19, 16:46 
> А тем, кто этого не понимает, в разработку нельзя.

Ты пойдёшь в научную лабу писать там скрипты забесплатно? Нет ведь? Поэтому учёные пишут сами как могут. И поэтому пишут на пайтоне, а не на ассемблере. Вся популярность пайтона основана на том, что программисты ленивые и жадные, не хотят писать код забесплатно на голом энтузиазме.

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

137. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от Аноним (42), 13-Окт-19, 17:19 
А кто сказал, что их пишут забесплатно?
Поверь мне, бывшему майнтейнеру нескольких десятков пакетов с научным софтом, тесты для них пишут в огромном количестве. Сабж — исключение из правила, и надеюсь, из него сделают должные выводы.
Ответить | Правка | Наверх | Cообщить модератору

157. "Недоработка в Python-скрипте могла привести к неверным резул..."  –1 +/
Сообщение от Ordu (ok), 13-Окт-19, 18:09 
> А кто сказал, что их пишут забесплатно?

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

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

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

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

185. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (42), 13-Окт-19, 20:18 
> Кто будет платить за это? Либо университет, если ему лабы смогут обосновать необходимость этого, либо лаба будет со своих грантов оплачивать разработчика.

Именно так. И платят. Посмотри на софт, который пишут в INRIA, например. На то, что пишут у нас, не смотри, тут давно всё тухло, и улучшений не предвидится.

> Их не десятки, их тысячи, или даже десятки тысяч.

Широко используется гораздо меньшее число — наборы реализаций тех или иных алгоритмов, ставшие стандартом де-факто. Речь, конечно же, не о том, что пишут на коленке для решения однократно вставшей задачи.

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

264. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от КО (?), 14-Окт-19, 10:20 
Что  забавно, но автотест бы показывал, что все збс. Так как на платформе того кто это писал работало как надо. :)
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

299. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Аноним (325), 14-Окт-19, 14:38 
Ещё один… Перечитай ответы выше, устал я от вас, неграмотных.
Ответить | Правка | Наверх | Cообщить модератору

348. "Недоработка в Python-скрипте могла привести к неверным резул..."  +/
Сообщение от Michael Shigorinemail (ok), 15-Окт-19, 11:40 
В данном разе для того, чтобы понимать, что это надо обложить тестом -- требуется _изначально_ уже не допустить ошибку.  Потому как понимать, где и почему она возможна.

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

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

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

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

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




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

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