URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 118717
[ Назад ]

Исходное сообщение
"Недоработка в Python-скрипте могла привести к неверным резул..."

Отправлено opennews , 13-Окт-19 11:11 
Аспирант гавайского университета обнаружил проблему в одном из Python-скриптов, используемом для вычислений  химического сдвига, определяющего химическое строение изучаемого вещества при спектральном анализе сигналов методом ядерного магнитного резонанса. Аспирант заметил, что при выполнении скрипта в разных операционных системах над одним и тем же набором данных на выходе получался разный результат...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=51667


Содержание

Сообщения в этом обсуждении
"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 11:11 
Ждите, скоро будет "вотъ, погроммисты какие, всё из-за вас! компутерщики проклятые!..."

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено оалвф , 13-Окт-19 11:44 
надо открывать фонд борьбы с кампютащиками (ну эт хакиры и прочае баги)

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 14:14 
Здравствуйте! Вы хотите в ступить? Хорошо. Что у Вас есть?

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 14:43 
Знания системд, электрона и навыки дефрагментации диска Цэ! А, и диплом от Касперского!

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Адекват , 14-Окт-19 06:51 
А сертификат уверенного пользователя есть ? Курсы заправки картриджей для струйных принтеров проходили ?

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено adolfus , 15-Окт-19 11:48 
И курсы по сварке паяльником ленты для пишмашек в кольцо

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 20:57 
ФБК? Вроде открыт давно, теперь закрыть пытаются...

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено neAnonim , 13-Окт-19 13:37 
Питонисты не программисты. Идите накер!

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 13:45 
> "%s не программисты."

Под это можно подстроить почти всё что угодно. Может просто язык надо выбирать под задачу? А, подождите-ка! Мы же можем всё писать на language_name!


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено a3k , 13-Окт-19 14:36 
Ты ещё скажи, что код надо тестировать.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 14:53 
Им надо было написать теоретически, самым сухим и сложным языком, без любых расчетов и проверок! И не надо было бы возиться с Питоном!

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Java , 13-Окт-19 17:36 
На регрессии - надо. На соответствие спеке - надо. Тестирование ради тестирования - не надо.

Дальше требуется Code Review и доказательство корректности.


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено анононимис , 13-Окт-19 17:46 
Так по тестам все сходилось, но... не под всеми операционными системами:)

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Онаним , 13-Окт-19 23:04 
Ребят с младенчества пугали необходимостью юнит-тестов, но при этом совершенно забыли рассказать, что ещё бывает обычное ревью алгоритма и кода на предмет очевидных казусов. Не говоря уже о том, что надо бы хотя бы немножко знать окружение, в котором пишешь, прежде чем писать.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 14-Окт-19 09:59 
Вы уверены что они писали на Mac? Сильно сомневаюсь. Скорее они понадеялись на кроссплатформенность языка, а это знаете ли не только в языке дело, это еще и в ОС.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено freehck , 17-Окт-19 21:44 
> Дальше требуется Code Review и доказательство корректности.

Доказательство корректности? Ууу... Это вам в языки семейства ML. =)


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Адекват , 14-Окт-19 06:52 
какими тестами ? может тесты все были пройдены, а ситуация из реальной жизни привела к факапу.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 14-Окт-19 19:14 
Значит, тесты были хреновые.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено burjui , 13-Окт-19 18:43 
Причём тут Python вообще? Это учёные. Учёные - не программисты. Да и профессиональные программисты иногда совершают подобные ошибки из-за усталости, невнимательности и т.д.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 19:25 
При том, что его пропихивают как лёгкий в изучении и быстрый в написании язык. То есть такой, который можно освоить и использовать, не включая голову.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено burjui , 14-Окт-19 04:05 
Учёные и на C++ не будут "включать голову". Вы только представьте, сколько времени нужно потратить, чтобы овладеть программированием на приличном уровне. А главное, зачем, если 99% их работы с ним вообще не связана? Конечно, в идеальном мире они будут хорошими программистами, а я буду ковыряться в сорцах ядра Linux, потому что пользуюсь дистром, участвовать в веломарафонах, потому что езжу на велосипеде в магазины, учиться на художника и фотографа, потому что иногда редактирую фотки, делаю коллажи и рисую по мелочи в Gimp. Одна проблема - в реальном мире ни у кого нет столько времени, чтобы профессионально владеть всеми инструментами, которыми приходится пользоваться, и если дать учёным C++, они на нём наговнокодят так, что у вас потекут кровавые слёзы. А вообще, когда вдруг почувствуете себя хорошим программистом, попробуйте написать качественный компилятор с нуля, без LLVM и прочих приблуд - сразу почувствуете свой скилл на вкус.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 14-Окт-19 10:58 
Избавляйтесь от стереотипного представления об учёном как о человеке не от мира сего, наивного аки дитё малое и неспособного составить себе мало-мальски адекватное представление о чём-то вне сферы его исследований.
На моём физфаке к использованию ВТ в исследованиях студентов готовили очень серьёзно - там преподавали и численные методы, и программирование, причём объясняли и тонкости работы с памятью (а куда денешься - ОЗУ 48 кБ, когда появилась Искра-1030 с мегабайтом памятиЮ это было как чудо, их было 2 штуки на весь ВЦ и на них записывались за месяц), и разные нюансы, влияющие на производительность, и многое другое. Я даже не помню, сколько часов в неделю у нас был вычпрактикум по расписанию, в дисплейном классе мы торчали по несколько часов каждый день, причём не играли, а программировали и обсчитывали свои курсовые.
Так что не надо тут пургу гнать про "учёных".

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 14-Окт-19 23:47 
Задумайтесь кому это выгодно. Вот избавитесь, а в следующий раз скажут ставь шиндошс. И придется ставить, никуда не денетесь. Ни в коем случае не избавляйтесь!

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 14-Окт-19 11:44 
Проблема питона в том, что упомянутые библиотеки написаны не на питоне. Отсюда и нелепые ошибки, которые никто не хочет проверять только потому, что какой-то код написан на C. А его не проверили потому, что было лень описывать все юнит-тесты..... Короче, питон - это именно проблема технологии разработки на питоне, которая, например, легко фиксится Julia

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 20:02 
>Питонисты не программисты.

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


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено neAnonim , 13-Окт-19 20:12 
Программирование на ассемблере это путь стать мужчиной, не испульзуя женьщины.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 20:18 
Зато все быстро настолько, что не с чем сравнивать. А если писать на нем математику, то можно стать неврастеником. Это путь настоящего джедая программирования. :D

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено myhand , 13-Окт-19 20:24 
Скорее, путь в дурку...

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним84701 , 13-Окт-19 20:50 
> Зато все быстро настолько, что не с чем сравнивать.

Особенно, если судить по хелловордам или байкам.
Впрочем, еще в начале 2000х форумно-ньюсгруп-рассылочные эксперты советовали: "Работает медленно? Перепиши на асме, летать будет!".
На практике же человеки могут (и будут) и кучу лишних регистров или обращений к памяти  использовать (потому что разбито на отдельные процедуры, а инлайнинга нема) и алгоритмы далеко не самые опримальные реализовать (т.к. более оптимальный будет "овердофига строк кода, а значит и так сойдет!" и прочие мелочи, вплоть до "пере-оптимизации" для определенного семейства CPU.
Ну и то, что уже лет 15 обычный компилер "бъет", за редким исключением, обычного "Вот я щас каааак перепишу на асме, да кааак запущу!" погоремиста^W реализатора, совсем не секрет -- не зря совет изменился на "перепиши на сишке!" ;)


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 21:23 
>совет изменился на "перепиши на сишке!" ;)

Этот совет изменился вовсе не по той причине, которую вы описали. Причина другая - в 90-х активно использовался ассеблер. А сейчас его используют мало, и его мало кто знает.
Да что там говорить об ассемблере, нынешние комментаторы порой совершенно серьезно сравнивают скорость интерпретируемых языков и компилируемых, потом обвиняют тот же Python в том, что он недостаточно быстрый. Шапито. :D


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 14-Окт-19 11:10 
> в 90-х активно использовался ассеблер.

Тогда был смысл. С тех пор железо и трансляторы ушли вперёд. По скорости в общем случае С выигрывает у асма.


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 14-Окт-19 07:43 
Да, да, да. А уж если верить разработчикам ц/ц++ компиляторов, питоножиэс интерпретаторов, то за последние цать лет кодогенерация/интерпретация должны были выдавать код, работающий со скоростью света на дохлокамнях - чихнуть/вздзнуть не успеешь, а иначе и быть не может - всё же с каждой версией и быстрее, и меньше памяти жрет, если им верить.
Да только факты и суровая жизнь показывают обратно - бинарники толще, листинги полны терьма, итоговый софт для работы требует больше тактов и памяти.
Вот и получается, что даже плохой асмокод уделывает тот же средней кривости крестософт.
Парадокс, не иначе.

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 14-Окт-19 11:07 
> даже плохой асмокод уделывает тот же средней кривости
> крестософт.
> Парадокс, не иначе.

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


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено AKNOR , 14-Окт-19 11:19 
А вы не верьте. Вы скомпилируйте Compaq Fortran конца 90=х. И современным Absoft или intel //

"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним84701 , 14-Окт-19 12:53 
> Да, да, да. А уж если верить разработчикам ц/ц++ компиляторов, питоножиэс интерпретаторов,
> то за последние цать лет кодогенерация/интерпретация должны были выдавать код, работающий
> со скоростью света на дохлокамнях - чихнуть/вздзнуть не успеешь,

Т.е. цитатки _разарботчиков_ вам привести труда не составит?

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

Т.е. "бинарники толще, листинги …" из-за _ухудшающейгося_ качества генерируемого компиляторами кода, а не общей дани модным новым рантаймам-фреймворкам-криворукости o_O?
А списочек подтверждающий фактов "в студию" можно?
Или кто-то, не будем тыкать пальцем в некоторых комментаторов, не видел результаты работы компиляторов примерно до конца 90х (привет Борланд Турбо) и не может их сравнить с более современными?

> Вот и получается, что даже плохой асмокод уделывает тот же средней кривости
> крестософт. Парадокс, не иначе.

Т.е. плохонький асмокод, не учитывающий тайминги-зависимости (instruction scheduling) инструкций, кэш, выравнивание, с кучей лишних вызовов-стекфремов, обращений к памяти -- уделывает?
Фантазии, не иначе.


"Сбой в Python-скрипте мог привести к неверным результатам в ..."
Отправлено Аноним , 13-Окт-19 21:46 
Хорошо, что не jsеры. jsерам даже простые задачи доверять нельзя.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 11:18 
Вот поэтому разработку таких важных программ с виндой на ПК нельзя.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено заминированный тапок , 13-Окт-19 11:21 
так на винде же верный резльутат судя по статье.
хотя для этого сначала нужно статью читать, конечно

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 11:22 
Так я об этом же. Если бы у разработчика был мак или убунту, он бы заметил сразу проблему, а так 5 лет никто не замечал.

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

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Чё , 13-Окт-19 12:25 
Так и знал что кто-то вбросит про "питон уёвый". Не криворукие разработчики скрипта виноваты, а язык программирования Python лично! Офигенная логика, почти женская.

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

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 13:48 
Эксперты ЛОРа и ОпенНета любят рассуждать о языках программирования. Но ни одной строчки кода, ни на одном языке, за свою жизнь не написали.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено аноним3 , 13-Окт-19 14:18 
а вдруг они хелло ворды написать успели. ты че почти разработчик))

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Антон , 14-Окт-19 06:45 
У вас ноги бетонные?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Мамочка , 13-Окт-19 22:33 
Нет-нет, Питон хороший, не плачь

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Чё , 14-Окт-19 12:44 
Всех по себе не суди.

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

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

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено заминированный тапок , 13-Окт-19 13:02 
ну в данном случае всё же ошибка не петона, тк >>> "в то время как в документации на glob указано, что порядок вывода не гарантируется. "

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:24 
Да, это ошибка программиста, а не языка. Но язык мог бы страховать от таких ошибок, однако он этого не делает.

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

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

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


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

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 16:40 
Я читаю документацию. И я всё равно допускаю ошибки, в том числе и из-за невнимательного её чтения. И если ты скажешь, что с тобой такого не случается, я отвечу, что такое возможно только при условии, что ты за всю жизнь не написал ни строчки кода.

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

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 00:05 
Разницы между «обгаживанием» и конструктивной критикой не видишь?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 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**.

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


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

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

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


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

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

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


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

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 11:04 
Лексикографическую сортировку в школе не проходят, потерпи до института.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено анононимис , 13-Окт-19 17:53 
писали код под Windows, но вычисления шли на Linux;)

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

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


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

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено taliano , 13-Окт-19 14:53 
А зачем проверять на всех комбинациях? Вот у нас тесты пробежали без ошибок на определенной комбинации. Она и будет считаться поддерживаемой. Если есть герой, который хочет использовать другую, то это уже под его личную ответственность.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 15:02 
То есть, питон уже не кроссплатформенный?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено taliano , 13-Окт-19 16:29 
> То есть, питон уже не кроссплатформенный?

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


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

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

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


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

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено taliano , 13-Окт-19 16:39 
> Иногда и рандомный порядок будет совпадать с отсортированным и ваш тест пройдёт.

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


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

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено taliano , 13-Окт-19 17:04 
Безусловно это так, но что если проблема гораздо более затейлива чем в случае с glob() и не имеет никакой подсказки в виде документации или иного посконного знания?

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

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

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


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

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


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

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено конь в пальто , 13-Окт-19 15:20 
тесты нужно писать только тогда, когда трудозатраты на их написание окупятся. зачастую же тесты пишут (или пишут в каментах на опеннете, что их надо писать) лишь как дань моде.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:16 
Ну посчитай, во сколько обойдётся перепроверка сотни исследований, в большей части которых наверняка было больше одного вычисления, и публикация исправлений. Не говоря об ущербе для репутации скриптозапускаторов и учреждений, в которых они работают.
Тесты у него не окупаются, видите ли, ага. Ты вообще серьёзный научный софт когда-нибудь видел? Там кажая операция кучей тестов покрыта, потому что цена ошибки куда выше, чем ты можешь себе представить. Хорошо, если просто какой-нибудь дорогостоящий прибор из-за неё сдохнет, а ну как и несколько человек на тот свет отправит?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Грусть , 13-Окт-19 15:22 
Вот поэтому явное лучше неявного. Если вам нужны упорядоченные данные, их надо явно сортировать.

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

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


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

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 18:09 
> А кто сказал, что их пишут забесплатно?

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

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

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


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

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

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

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено КО , 14-Окт-19 10:20 
Что  забавно, но автотест бы показывал, что все збс. Так как на платформе того кто это писал работало как надо. :)

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

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

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

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 11:18 
Одна из многих причин, почему используют винду практически во всех учреждениях - там все правильно вычисляется. У линукса и мака серьёзные отклонения.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 11:21 
Ах если бы. Даже в наших университетах ты в серверной ничего кроме центоси и убунты не найдешь.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:46 
В наших университетах появились серверные?! Ни чё се прогресс.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено macfaq , 13-Окт-19 15:19 
В некоторых и полноценные ВЦ имеются, удивительно, правда?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено анонимус12345 , 13-Окт-19 11:29 
у меня фейри кончился, жир оттирать с монитора

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено A.Stahl , 13-Окт-19 11:43 
Сходи в Виллабаджо: они эту штуку цистернами заказывают.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 15:46 
# зануда_mode
Вообще-то, в Виллабаджо как раз отстойное средство, которое не оттирает жир нормально:
https://youtu.be/4lUk7piZHjk

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 15:57 
Блин. И про это нам тоже всю жизнь врали из телика. "Villabajo" читается по-испански "Виллабахо".

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 12:58 
Берёшь копеечную пачку соды... (можно ещё предварительно прокалить, для кратного усиления эффекта)

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено тоже Аноним , 13-Окт-19 14:36 
И этой каленой содой устраняешь источник жыра?!

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено A.Stahl , 13-Окт-19 15:22 
Нет, прокаливать нужно как раз источник, а содой потом просто присыпать останки.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено оалвф , 13-Окт-19 11:45 
э дивинации?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено anonymous , 13-Окт-19 13:04 
Вычисления -- это HPC-шная тема, и я очень рекомендую посмотреть статистику по ОС в списке top500.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AlexYeCu_not_logged , 13-Окт-19 16:27 
>У линукса и мака серьёзные отклонения.

Серьёзные отклонения как раз у тебя, раз новость не смог осмыслить.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 11:20 
Блин, ну ученые хорошие ребята конечно, но чуть-чуть культуры программирования им бы надо было подтянуть. Предполагали они... спеку же ботать надо.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено A.Stahl , 13-Окт-19 11:45 
Нет, каждый должен заниматься своим делом. У химиков своих проблем хватает чтобы ещё в тонкостях программирования разбираться.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Чё , 13-Окт-19 12:28 
А какие там тонкости? Документацию к используемому софту внимательно прочитать? Давно это тонкостью стало?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 12:41 
Ну вообще говоря в куче областей в наше время хороший ученый - это в первую очередь хороший программист. Так что отмазки не канают.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 16:55 
Я не видел ни одного хорошего учёного, который был бы хорошим программистом. Они программируют методом научного тыка. Даже те, кто вроде как подсекает в программировании. Я пока студентом ошивался по лабам, постоянно ковырялся в их коде, они даже красивый отладочный вывод не могут сделать, чтобы из него было сразу ясно. Я, например, кого-то учил пользоваться \t для того, чтобы выравнивать столбики в выводимой табличке.

То есть, всё не настолько плохо -- попадаются иногда ребята с околоматематических специальностей, которые пошли в магистратуру на науку заточенную, те могут худо-бедно писать код. Но они тоже не фонтан: они закончили 4 курса бакалавриата и вовсе не по программированию, программирование у них шло в качестве может важной темы, но не первостепенной важности. Они знают про алгоритмику и теорию computer science, но практических навыков у них с гулькин нос. git? тесты? что это? Про дебуггер они как правило слышали и может несколько раз использовали.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 13-Окт-19 18:43 
> Я не видел ни одного хорошего учёного, который был бы хорошим программистом.

Может ты элементарно не видел хороших ученых?  Извиняюсь, пределы РФии-то хоть покидал?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 19:56 
>> Я не видел ни одного хорошего учёного, который был бы хорошим программистом.
> Может ты элементарно не видел хороших ученых?  Извиняюсь, пределы РФии-то хоть
> покидал?

Чтобы видеть хороших учёных, не обязательно покидать пределы РФии. Если даже под хорошим учёным ты понимаешь "западный учёный", то всё равно не обязательно: их можно встретить на конференциях, или даже они могут вдруг зайти к тебе в лабу, если лаба занимается чем-то стоящим. С ними можно пообщаться и через интернет, ну, точнее не с ними, а с их студентами -- сами-то они заняты им не до тебя, по-любому, но ежели ты занят чем-то близким к тому, чем занимаются они, то можно связаться и пообщаться.

Да и, в конце-концов, тебе не приходилось читать статьи о каких-нибудь новоизобретённых алгоритмах? А к статьям просматривать код -- авторскую реализацию алгоритма. Такой код пишут ребята с образованием в computer science, и от их кода, подчастую хочется волосы на голове рвать: как так можно писать код?

А знаешь в чём фишка? Нет общепринятых стандартов на написание кода. Требования предъявляемые к коду определяются задачей. Программист-инженер пишет код, с мыслью о том, что этот код кто-то будет поддерживать потом. Программист-учёный пишет код для того, чтобы этот код отработал бы несколько раз, после чего этот код отправляется на полку. Бывает библиотечный код, который пишут программисты-учёные для своих задач, и используют во многих проектах, и они там делают иногда реверансы в сторону инженерного дела и пишут код чуть лучше чем обычно (с точки зрения инженера), но _они_ не инженеры, _они_ не профессиональные программисты, _они_ не зарабатывают себе на хлеб, посредством написания кода год за годом по сорок часов в неделю. Не надо думать, что если учёный, то он каким-то магическом образом вдруг становится хорошим программистом. Есть единственный способ стать хорошим программистом: писать код за деньги годами получая обратную связь от коллег, которые тоже пишут код за деньги годами.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 13-Окт-19 20:23 
> Чтобы видеть хороших учёных, не обязательно покидать пределы РФии.

Крайне желательно.

> их можно встретить на конференциях, или даже они могут вдруг зайти
> к тебе в лабу, если лаба занимается чем-то стоящим.

Угадай с трех раз где находятся подобные лабы и где проводятся конференции.

> Да и, в конце-концов, тебе не приходилось читать статьи о каких-нибудь новоизобретённых
> алгоритмах? А к статьям просматривать код -- авторскую реализацию алгоритма. Такой
> код пишут ребята с образованием в computer science, и от их
> кода, подчастую хочется волосы на голове рвать: как так можно писать код?

Приходило, постоянно читаю.  Далеко не все, конечно, готово в качестве
готового компонента для к-л библиотеки, но как правило и цели такой нет.
Цель - эффективная реализация алгоритма.

> Программист-инженер пишет код, с мыслью о
> том, что этот код кто-то будет поддерживать потом.

Для всяко бывает...  По времени поддержки код с каких-нибудь ваших
netlib уделывает большую часть написанного "погромистами" на поколение,
а то уже и два...

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

Не магическим, обычным.  Как стать писателем?  Писать...

Работать при этом б*длокодером за деньги - совершенно не обязательно, если
твоя каждодневная деятельность итак заключается по большей части в написании
кода.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 21:20 
> Цель - эффективная реализация алгоритма.

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

>> Программист-инженер пишет код, с мыслью о
>> том, что этот код кто-то будет поддерживать потом.
> Для всяко бывает...  По времени поддержки код с каких-нибудь ваших
> netlib уделывает большую часть написанного "погромистами" на поколение,
> а то уже и два...

Дааа. А я как программист бывает пишу код, который отрабатывает один раз, и я заранее знаю, что он отработает один раз, и поэтому при написании этого кода я руководствуюсь единственным оптимизационным критерием: скорость написания кода. Забивая на все "табу" сразу -- я начинаю заводить глобальные переменные, я использую goto для запутывания кода, я даже не парюсь проверять что-то там на выход за границы массива да и вообще не думаю о специальных случаях: если какой-то из специальных случаев окажется нужным, это выяснится при первом же сегфолте. Большинство же окажется невостребованными, и нет никакого смысла на них тратить время.

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

> Работать при этом б*длокодером за деньги - совершенно не обязательно, если
> твоя каждодневная деятельность итак заключается по большей части в написании
> кода.

Это ты о ком? О data scientists? Среди них мне попадались грамотные в программировани люди, которые действительно большую часть времени занимались кодингом, но фишка в том, что они, занимаясь наукой, параллельно работали программистами, кто в vk, кто в яндексе. И я не уверен, что "учёный" правильно характеризует их профессиональную ориентацию.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 13-Окт-19 21:31 
>> Цель - эффективная реализация алгоритма.
> "Эффективная" -- это buzzword, который не о чём не говорит, потому как
> каждый понимает прилагательное "эффективный" по своему. Эффективная -- это в смысле
> минимум времени на написание кода?

Минимальный читабельный пример.

> Тратить на оптимизации неделю ведь глупо

Код должен соответствовать характеристикам алгоритма, к примеру.

> при написании этого кода я руководствуюсь единственным оптимизационным критерием: скорость
> написания кода.

Ну вот видишь.  А ученые руководствуются прежде всего другими критериями: корректностью
решения задачи, в первую очередь.

>> Работать при этом б*длокодером за деньги - совершенно не обязательно, если
>> твоя каждодневная деятельность итак заключается по большей части в написании
>> кода.
> Это ты о ком? О data scientists?

Да о ком угодно сейчас.  Математики, физики, химики, биологи...  Практически любая
научная деятельность сейчас требует навыков программирования.  Проще так чем
объяснять свою предметную область очередному "литературному критику".


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 22:00 
>>> Цель - эффективная реализация алгоритма.
>> "Эффективная" -- это buzzword, который не о чём не говорит, потому как
>> каждый понимает прилагательное "эффективный" по своему. Эффективная -- это в смысле
>> минимум времени на написание кода?
> Минимальный читабельный пример.

С твоей точки может быть, с точки зрения писателя вовсе не обязательно: алгоритм описан в статье, там читабельно. Код -- это пример, основное предназначение которого, проверить теорию практикой. Будет работать или нет? Насколько практически измеренная зависимость времени работы алгоритма от N повторяет теоретическую? Чем объясняются отклонения практики от теории? Для того, чтобы найти ответы на эти вопросы и рассказать о них в статье, вовсе не обязательно иметь читабельный код.

>> Тратить на оптимизации неделю ведь глупо
> Код должен соответствовать характеристикам алгоритма, к примеру.

К чему это ты? Ты намекаешь, что из этого твоего утверждения вытекает, будто тратить неделю на оптимизацию приемлимо? Или какую мысль ты хочешь донести до меня?

>> при написании этого кода я руководствуюсь единственным оптимизационным критерием: скорость
>> написания кода.
> Ну вот видишь.  А ученые руководствуются прежде всего другими критериями: корректностью
> решения задачи, в первую очередь.

Давай, выдирай фразы из контекста ради искажения смысла. Это очень убер-приём в споре, практически неотразимый.

>>> Работать при этом б*длокодером за деньги - совершенно не обязательно, если
>>> твоя каждодневная деятельность итак заключается по большей части в написании
>>> кода.
>> Это ты о ком? О data scientists?
> Да о ком угодно сейчас.  Математики, физики, химики, биологи...  Практически
> любая
> научная деятельность сейчас требует навыков программирования.  Проще так чем
> объяснять свою предметную область очередному "литературному критику".

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 13-Окт-19 22:32 
> С твоей точки может быть, с точки зрения писателя вовсе не обязательно:
> алгоритм описан в статье, там читабельно. Код -- это пример

По меньшей мере, читателям должно быть очевидно, что пример является
реализацией алгоритма, а не НЕХ.

>>> Тратить на оптимизации неделю ведь глупо
>> Код должен соответствовать характеристикам алгоритма, к примеру.
> К чему это ты? Ты намекаешь, что из этого твоего утверждения вытекает,
> будто тратить неделю на оптимизацию приемлимо?

Приемлимо тратить время ровно столько, сколько нужно.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 23:40 
>> С твоей точки может быть, с точки зрения писателя вовсе не обязательно:
>> алгоритм описан в статье, там читабельно. Код -- это пример
> По меньшей мере, читателям должно быть очевидно, что пример является
> реализацией алгоритма, а не НЕХ.

Это очевидно, потому что в статье указана ссылка на архив или на github и там прямо сказано, что за код. Ещё там вероятно лежит README или комментарий сверху поясняет, что за код.

> Приемлимо тратить время ровно столько, сколько нужно.

Лол. Это примерно такой же информативности сообщение что и "эффективно".


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 14-Окт-19 00:12 
> Это очевидно, потому что в статье указана ссылка на архив или на
> github и там прямо сказано, что за код.

Ну раз написано, что код сделает зашибись - значит сделает.  Пацаны-то не
знали, надо было просто в ридми на гитхабчике написать, что тута реализован
алгоритм Риша, а они этот ваш StratchPad забодяжили.  Дурачье!


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено all_glory_to_the_hypnotoad , 13-Окт-19 19:33 
> Я, например, кого-то учил пользоваться \t для того, чтобы выравнивать столбики в выводимой табличке.

А нужно было учить чему-то вроде '%16u', где 16 это ширина колонки


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 19:46 
>> Я, например, кого-то учил пользоваться \t для того, чтобы выравнивать столбики в выводимой табличке.
> А нужно было учить чему-то вроде '%16u', где 16 это ширина колонки

Не "нужно", а "можно". Я вообще-то не нанимался кого-либо чему-либо учить. Простейшим способом исправить ситуацию и объяснить исправление было добавить табуляций. Если ты хочешь сделать лучше, я наверное могу найти контакты человека, ты можешь с ним связаться и рассказать ему про форматный вывод.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено all_glory_to_the_hypnotoad , 13-Окт-19 19:54 
Раз не нанимался, то мог бы и \t не показывать

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 19:59 
> Раз не нанимался, то мог бы и \t не показывать

Меня спросил аспирант "чё здесь не работает". У него чего-то выводилось в консоль, но мне проще было вставить \t в вывод, чем ломать глаза о то, что выводилось.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:32 
> Нет, каждый должен заниматься своим делом. У химиков своих проблем хватает чтобы ещё в тонкостях программирования разбираться.

И чьим же делом, по-твоему, является написание вот таких вот скриптов? Этот человек должен быть одновременно и химиком, и программистом.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено A.Stahl , 13-Окт-19 18:20 
Нет, не должен. Базовые знания в химии, конечно, не помешают, но в первую очередь автор такой программы должен быть программистом.



"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено all_glory_to_the_hypnotoad , 13-Окт-19 19:15 
Это не тонкости программирования, а проблема корректности обработки данных. Кроме этого нужно знать как численно считать на машинах: модели приближения, устойчивость схем, сходимость моделей, проблемы переполнений, базовые знания стат. анализ и многое другое.

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

В современном мире специалисты без владения инструментарием не нужны. Даже не очень нужны специалисты со знанием только одной предметной области.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 12:14 
Культуру программирования не помешает подтянуть и программистам.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 13:34 
И не только программирования, и не только программистам...

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним84701 , 13-Окт-19 12:41 
> Блин, ну студенты второго-третьего курса хорошие ребята конечно, но чуть-чуть культуры программирования им бы
> надо было подтянуть. Предполагали они... спеку же ботать надо.

Поправил на более реалистичный вариант.



"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:15 
> Предполагали они... спеку же ботать надо.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено VINRARUS , 13-Окт-19 11:21 
Потому шо свой ЯП нада делать, а не использовать "конструктор для детишек", коим является змей.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 11:49 
Так Python и разработали в центре математики и информатики в Нидерландах.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено VINRARUS , 13-Окт-19 15:13 
Видимо слабые у них математики и информатики.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено аноним3 , 13-Окт-19 18:00 
надо было смотреть лучше , а не жаловаться на функцию, которая изначально возвращает все что попало. причем тут язык. в расте , в го тоже самое сотворить можно. про плюсы молчу. язык так разнесло, что теперь и спецы сомнениями полны.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 11:47 
но вот, почему-то, вся математика для питона находится во всяких numpy и пр., которые надо разрабатывать на C и на нём же тестировать.... А, собственно, на питоне, математику то никто и не пишет.....

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено freehck , 15-Окт-19 11:02 
> Так Python и разработали в центре математики и информатики в Нидерландах.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено 123456789 , 13-Окт-19 11:26 
зачем в химических вычислениях glob?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 23:24 
Для обработки файлов с данными.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 11:38 
Сразу видно дошколятский подход. А вот на божественной сишке так никогда не бывает.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 11:50 
Там ещё не то бывает.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Гентушник , 13-Окт-19 12:43 
Способов выстрелить себе в ногу, если не знаешь язык, в Си гораздо больше.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:23 
Переходи на оффтопик, пиши .BAT - файлы, и все будет работать!

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 11:43 
> Переходи на оффтопик, пиши .BAT - файлы, и все будет работать!

Интересно, многие ли в них циклы-то писали... а то видел и unroll'нутые батники для бэкапов.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено аноним3 , 13-Окт-19 14:25 
переходите на божественный раст))

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:29 
Зачем ты так жестоко с гентушником, их психика сильно травмирована высокими навыками в Юникс) Водка, девочки, батники (в крайнем случае, и если очень - очень хочецца), но в перспективе пациент должен перейти на торренты и крякнутые РПГ)

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 16:58 
На Ada.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено a3k , 13-Окт-19 14:38 
Если знаешь -- ещё больше.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:51 
например?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено имя_ , 13-Окт-19 21:45 
http://www.ioccc.org

тебе к этим джедаям


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 12:11 
Надеюсь они лекарств не наделали на основе этой баги?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 11:44 
> Надеюсь они лекарств не наделали на основе этой баги?

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 12:12 
Потому что для исследований необходимо использовать верифицируемые реализации алгоритмов.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 13:26 
Верифицировано лично Сетьёй Наделлой.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено anonymous , 13-Окт-19 12:33 
Заметьте, учёные до сих пор не догадались публиковать сырые данные исследований помимо обработанных результатов. Тогда было бы достаточно пронать исправленный алгоритм заново и никакой драмы не было бы.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 12:47 
"This is all happening because of you scientists!" © Half-Life

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Иваныч , 13-Окт-19 13:46 
"Shouldn't you be guarding some donuts and coffee right about now?"

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено InuYasha , 15-Окт-19 19:37 
"Squad! We've got hostiles!"

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 12:49 
По требованиям они обязаны хранить данные 5 лет с момента публикации, так что прогонят исправленный алгоритм и никакой драмы и так нет.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:17 
Сырые данные иногда могут и терабайты и даже петабайты составлять. Как-то это затруднительно публиковать.  Но вообще-то, если объемы не такие большие, то бывает и публикуют.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 17:06 
> учёные до сих пор не догадались публиковать сырые данные исследований

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

> Тогда было бы достаточно пронать исправленный алгоритм заново и никакой драмы не было бы.

Скорее всего это тоже не так просто. Этот скрипт встроен в общую программу обработки данных для данного эксперимента, и чтобы "прогнать" скрипт заново, придётся всю ту программу воспроизводить. Та программа же была создана вообще левой пяткой, перемотана скотчем, и работает только если её правильный человек запускает при нужной фазе Луны. Это не значит, что повторить вычисления нельзя -- можно, но это не так просто как может показаться. Придётся зачитать до дыр статью, описывающую эксперимент и обработку данных, придётся разобраться с сырыми данными: что лежит в столбце названном dtmin? А t1, t2, t3, ..., t17 -- это что? Тебе придётся восстанавливать весь эксперимент во всех мелочах, вплоть до той таблички которая висела на стене, и протокола заполнения этой таблички, который вероятно нигде не был записан -- экспериментатор непосредственно перед проведением экспримента устно объяснил ассистентам что, когда и как писать.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 13:15 
Читать документацию это сложно. И так сойдёт.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено имя_ , 13-Окт-19 21:50 
>https://docs.python.org/2.7/library/glob.html
>https://docs.python.org/3/library/glob.html

где-то написано, что функция возвращает разные результаты в зависимости от системы? Читать документацию? Нет, это не твой путь. Лишь бы написать комментарий!


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 22:19 
И где там сказано, что результат вызова glob будет отсортирован? Нигде. А значит порядок может быть произвольным и зависеть от ОС, погоды на Марсе, времени запуска итд

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 13-Окт-19 22:22 
> где-то написано, что функция возвращает разные результаты в зависимости от системы?

"results are returned in arbitrary order"

> Читать документацию? Нет, это не твой путь.

Боюсь, и не твой...


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено имя_ , 13-Окт-19 22:40 
боюсь, ты не понял о чем идет речь.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Онаним , 13-Окт-19 23:00 
Там написано, что функция возвращает результат в произвольном порядке даже в пределах одной системы.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 14-Окт-19 00:06 
Вечера внекласного чтения со словарем на опеннете...

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено имя_ , 13-Окт-19 23:47 
Я похоже читал не глазами. В версии 2.7 не видел про необязательный порядок.

Извиняюсь.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено KonstantinB , 14-Окт-19 01:29 
Думаю, тут дело в том, что документацию-то как раз читали. Ту, которая man 3 glob.

А в питоне, видимо, своя реализация для кроссплатформенности.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 13:25 
Самое забавное что кроме оффтопика это вычисление ни на каких других ос не применялось. А единственный факт его применения на онтопике стал причиной появления новости.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 13-Окт-19 13:57 
Фиии. Однажды я обнаружил в модели морских прогнозов ошибку вида

K=F(....i,j,k) , вместо K(i,j,k)=F(....,i,j,k) (писалось на фортране) . De facto скомпроментированно было все с 199затертого года, но иникто и глазом не повел...


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:20 
Так так. Глобальное потепление, говорите?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:22 
А ты уверен? может, до твоего исправления все работало, а после - автотесты стали сыпать варнинги портянками?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 13-Окт-19 15:12 
Уверен.Благодаря этой баге, Там получался константный коэффициент турбулентной диффузии по всему океану ,бгг

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:27 
Однажды в одной модели по определению средней температуры Земли нашли ошибку. Они находили среднюю температуру по всем станциям наблюдение, но не учитывали что со временем станций становилось больше в южных широтах чем в северных. По итогу насчитали что на Земле глобальное потепление.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 17:08 
> И как-то всех все устраивает

Естественно устраивает. Потому что данные-то остались, внесли поправки, посчитали снова.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 00:01 
Ничего не внесли так и считают по всем. Подгонять результаты учили и иностранных ученых тоже.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 12:59 
Телевизора насмотрелся? Тебе по ящику Соловьев сказал про плохой сланцевый газ, который конкурирует с природным и ты сразу вытянулся по струнке как хомячек. Фу быть тобой.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 14-Окт-19 15:18 
> Телевизора насмотрелся? Тебе по ящику Соловьев сказал про плохой сланцевый газ, который
> конкурирует с природным и ты сразу вытянулся по струнке как хомячек.
> Фу быть тобой.

https://www.nationalgeographic.com/environment/2019/08/frack.../


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 13:06 
Даже ссылку для тебя потеплевшего нашел. Читай впитывай https://habr.com/ru/post/79605/ Данные по самым старым данным станциям наблюдения.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 14-Окт-19 15:17 
> Даже ссылку для тебя потеплевшего нашел. Читай впитывай https://habr.com/ru/post/79605/
> Данные по самым старым данным станциям наблюдения.

Ссылка протухшая, это статья 2009 года.

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

Я не знаю, что ты там в телеке высмотрел про глобальное потепление, но я рекомендую что-нибудь в стиле: https://www.ipcc.ch/sr15/

Тут и данные свежее, чем то, на что ты там ссылаешься. И телек там даже рядом не лежал.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 13:34 
Это ты протух от потепления в мозгу.

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

Ты бы еще существование пришельцев доказывал ссылками на РЕН-ТВ.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 15-Окт-19 17:25 
> Это ты протух от потепления в мозгу.
> Ты серьёзно даешь ссылку на сайт Межправительственной группы экспертов по изменению климата?

И это говорит мне аноним, обосновывающий своё мнение протухшими ссылками на хабр.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 20:11 
о глобальном потеплении сходится во мнении более 90% ученых, наблюдается рекордное таяние ледников, с каждым годом предлагают откорректированные модели на различных данных, наблюдаются positive feedback loops (меньше льда - хуже отражение - больше температура - меньше льда), открываются ранее заблокированные льдами морские пути, меняется поведение животных, но вы и дальше продолжайте рассказывать кулстори, придуманные, судя по всему, теми, кто при слове "исследование" представляет себе урок физики за 8ой класс.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 21:39 
90% ученых, получающих гранты на исследования глобального потепления, сходятся во мнениях. Еще бы им не сойтись.

И главное где результаты-то потепления ?
Северо-Западный проход уже открылся ? Растаяли ледники Гренландии ? В Шотландии восстановилось виноделие ?

Кстати вы отстали от жизни, сейчас в тренде не глобальное потепление (global warming), а некие климатические изменения (climate changes).


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 00:00 
Всю историю Земли на ней были климатические изменения. Фанатики пытаются доказать роль антропогенного воздействия, но нет никаких исследований что оно действительно есть.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:20 
> Всю историю Земли на ней были климатические изменения.

Были, причём куда более сильные. Но при этом далеко не такие быстрые.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Рух , 14-Окт-19 00:54 
> И главное где результаты-то потепления ?

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

В текстах нижеупомянутых статей приведены ссылки на источники, имена учёных.

1. "В Исландии "похоронили" растаявший 700-летний ледник, оставив на его месте тревожное послание потомкам"
http://www.newsru.com/world/19aug2019/lednik.html

2. "В Арктике тает подводная мерзлота: в Восточно-Сибирском море идут мощнейшие выбросы метана, которые могут запустить "климатическую бомбу"
https://www.newsru.com/russia/08oct2019/arctic_teplo.html

3. "Во Французских Альпах обнаружено тело альпиниста, пролежавшее во льдах 43 года Обнаружение тела стало возможным по той причине, что в условиях глобального потепления произошло значительное таяние ледника."
https://www.newsru.com/world/09sep2019/benedetti.html

4. "Аномальное тепло в Арктике: в Гренландии вновь вспыхнула растительность, за месяц остров добавил в океан 197 миллиардов тонн воды"
https://www.newsru.com/world/03aug2019/greenland_fires2.html

5. "В Швейцарии на тающем леднике нашли тела супругов, пропавших во время Второй мировой"
https://www.newsru.com/world/18jul2017/glacier.html

6. "От Антарктиды откололся крупнейший айсберг"
https://www.newsru.com/world/12jul2017/iceberglarsen.html

7. "Аляска тает в 100 раз быстрее, чем предполагали эксперты"
https://www.newsru.com/world/29jul2019/alaska.html


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 10:17 
> Гренландии вновь вспыхнула растительность

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 14-Окт-19 14:42 
>> Гренландии вновь вспыхнула растительность
> Вот поэтому глобального потепления не будет.

Что, снова не будет?!



"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 21:00 
> Углекислого газа больше, чуть потеплело, растения бурно растут и связывают углерод из углекислого газа, возвращая кислород. Углерод же остаётся в различных органических соединениях. Кстати, углекислый газ хорошо в воде растворяется. Поверхность океана огромна, водорослей и прочих хватит.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 11:38 
>> И главное где результаты-то потепления ?
> Научись уже пользоваться поисковиком, бедняга.

Научился пользоваться термометром. Было летом 35, а теперь 15.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 12:56 
О да ссылки на желтушный newsru это аргумент на уровне Соловьева. И ведь даже в твоих ссылках ни единого доказательства антропогенного воздействия.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Рух , 15-Окт-19 04:12 
> ссылки на желтушный newsru

Глаза на жопе? Специально для таких, как ты, в самом начале коммента: "В текстах нижеупомянутых статей приведены ссылки на источники".
Предъяви вот этому океанографу из последней статьи https://earthsciences.uoregon.edu/profile/dsuth/ что он, оказывается, "уровня Соловьёва".

> И ведь даже в твоих ссылках ни единого доказательства антропогенного воздействия.

Не, реально на жопе. Специально для таких, как ты, в самом начале коммента цитируется вопрос, на который отвечает мой коммент: "И главное где результаты-то потепления ?"

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 13:37 
Вы гуманитарии специально что-то с головой делаете или вы от природы такие тупыe?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 09:09 
Да и кое что сходится пчел почти не видно одни шмели опакечивают

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 23:58 
Еще один телевизора насмотрелся и на Грету Тунберг перевозбудился. Если взять температуру по станциям наблюдения которые работают больше ста лет и провести по ним линию тренда то температура упала на 0.1 градус. При этом в истории можно найти периода сильных скачков и сильных проседаний что сто лет назад что больше.

И просто чтобы ты был в курсе уровень мирового всю историю Земли колбасит +- 200 метров https://ru.wikipedia.org/wiki/%D0%A3%D1%...

А за последние 6000 лет средняя температура упала на 3.5 градуса https://en.wikipedia.org/wiki/Holocene#/media/File:Greenland...

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

А про "хуже отражение" это ты до конца головой пробил дно. Это надо совсем ничего не соображать чтобы такое написать.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Рух , 14-Окт-19 01:10 
> А про "хуже отражение" это ты до конца головой пробил дно. Это надо совсем ничего не соображать чтобы такое написать.

А можно контраргумент поподробнее, чем "Ты дурак и неправ!!"?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 11:40 
>> А про "хуже отражение" это ты до конца головой пробил дно. Это надо совсем ничего не соображать чтобы такое написать.
> А можно контраргумент поподробнее, чем "Ты дурак и неправ!!"?

Эль Ниньо.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 12:44 
Гуманитарий да? Считать что отражение от льда спасает от глобального потепления это уже на уровне шапочки из фольги.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:24 
Ну вообще-то да, средняя температура находится в обратной зависимости от альбедо. Хотя другие факторы тоже, безусловно, надо учитывать.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено anonymous , 14-Окт-19 11:50 
На этой же wikipedia:
https://ru.m.wikipedia.org/wiki/%D0%93%D0...

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:27 
> При этом температуру колбасит все время в приличном диапазоне, но никакого антропогенного воздействия на это нет.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 05:01 
> насчитали что на Земле глобальное потепление.

так сходи в горы, посмотри ледники (что осталось от них - только торопись), в чем проблема-то


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 07:58 
Чёт вроде лет 30 слышу уже что смена полюсов и ледниковые периоды нормальное циклическое явление. Я конечно согласен с тем что выбросы ндо сокращать, но в целом куда полезней будет перестать засирать океан (в том числе Фукисимой).

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено anonymous , 14-Окт-19 11:59 
Оба явления плохи. Надо бороться с ними параллельно.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 21:03 
> Чёт вроде лет 30 слышу уже что смена полюсов и ледниковые периоды нормальное циклическое явление.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:05 
Спорят тут читал или нет программист описание glob, как оно в языке Go с сортировкой, как оно должно быть и т.д.

Но никто не обратил внимание, что результат научных вычислений, зависящий от сортировки имен файлов - это дичайший govnocod в принципе, правильно там или не правильно glob применена. Потому что сортировать для научных целей надо числа, а не строки.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:40 
> результат научных вычислений, зависящий от сортировки имен файлов - это дичайший govnocod в принципе

Вот и я про то же самое написал. Если человек рукоjob, то его ни один язык программирования не исправит.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:39 
Ну если там надо сохранять большие объёмы промежуточных данных, то, возможно, такой подход имеет право на существование. Хотя я ни разу не уверен, что там именно такой случай.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:16 
write_in_C.ogg

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:46 
writhe…

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:18 
Почему они не использовали базу данных, как гетеросексуальные белые мужчины? если уж им так надо сохранять что-то на диске и сортировать (то есть, извлекать запись по индексу/хэшу)
Кстати, что они курили, если использовали оффтопик? Какой смысл в оффтопике для научных вычислений? Просветите ламера, плиз

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:37 
Чтоб ты понимал новую версию скрипта на Убунту тоже никто не тестировал. Новая версия скрипта протестирована только на виндоуз 10, мак мохаве и мак эль капитан.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:39 
Это понятно, но в чем преимущество Эльф Капитана перед Бубунту? Скорость? Разрядность? по идее идентична, не?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:42 
Юзабельность? Ноутбуков с убунту не продают? Этот расчет не требует суперкомпьютера с убунтой? Среди химиков нет краснoглазиков?

Лучше приведу их текст как есть:

Testing: The new scripts were tested on using Python V3 (Windows 10 using Anaconda 1.9.6 running Python 3.7.1; Python 3.6.5 on Mac Mavericks; Python3.7.1 on my Mac Mojave)
and Python V2 (Python 2.7.10 on Mac El Capitan 10.11.6; Python 2.7.16 on Mac Mojave).


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:49 
> Юзабельность?

python script.py , даже на МС-ДОС работает (представь себе!)
> Ноутбуков с убунту не продают?

Хромбуки, не? Сьюзи, Красная Шапочка, не? Многие конторы, (как бонус клиентам), сами ставят свободный линукс бесплатно, при покупке корпоративными клиентами
> Этот расчет не требует суперкомпьютера с убунтой?

Химия очень-очень жрет математику, и видеокарты даже
> Среди химиков нет краснoглазиков?

Среди ученых кразноглазиков больше, чем 2%


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 11:56 
> Среди химиков нет краснoглазиков?

Ну здрассьте, а мы с Тульевым?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:40 
И на мак маверик версию скрипта для питона 3. Да там два файла этого алгоритма один на питон 2 другой на питон 3.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 17:09 
> Кстати, что они курили, если использовали оффтопик? Какой смысл в оффтопике для научных вычислений?

Какая разница? Ну вот реально, какая разница что там за операционная система стоит? Почему учёного это должно волновать?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Scriptor , 14-Окт-19 18:17 
Они считали хим.сдвиги во внешней квантовохимической программе (Gaussian) для разных конформеров (грубо говоря, результатов скручивания, изгиба и прочих искажений молекулы, обусловленных тепловыми колебаниями), а потом читали файлы текстовых выводов этой программы и обрабатывали (усредняли) их для определения средневзвешенного значения.

"Published in 2014, this Nature Protocols manuscript provides detailed instructions aimed at enabling those with minimal theoretical knowledge of the subject area to calculate gauge-including atomic orbital (GIAO) NMR chemical shifts and includes Python scripts to streamline the process. . It has been cited over 130 times in the last 5 years. Detailed investigations traced the source of the discrepancies to those Python scripts that summarize the conformers, free energies, Boltzmann distributions, and isotopic tensors from the various Gaussian output files and then use this information to calculate Boltzmann averaged chemical shifts (step 15)".


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:33 
А где тестирование софта?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:36 
А где гранты и научные плюшки/звания за тестирование софта? Им же рецензии нужны а не геморрой с QA

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 13-Окт-19 15:17 
Ааа нету. Нету тестов. Ну вот как ты будешь модель океана тестировать, когда даже частных случаев с аналитическим решением её уравнений нет ??? Воот.
Отдаленно похоже на наблюдения, - значится правильно считаем. А почему отдаленно ?? А сетка маленькая,шаг большой , разрешение низкое. Начальника, начальника дай денег на новый кампуктер !
А потом выясняется , - см выше ....

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:44 
Тестировать — точно так же, как и всё остальное. Есть тестовые наборы данных, на которых алгоритм должен выдавать заранее посчитанный результат. Если результат не соответствует, значит где-то ошибка.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 13-Окт-19 18:32 
>Есть тестовые наборы данных, на которых алгоритм должен выдавать заранее посчитанный результат

ЧЕМ ПОСЧИТАННЫЙ ??


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 20:28 
Эталонной реализацией алгоритма. И пофиг, что в ней самой может быть ошибка. Главное — ты сразу заметишь расхождение и сможешь, если мозгов хватит, докопаться до причины.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Omega hyperon , 13-Окт-19 22:02 
Ну,в росскоссмосе  была уже "эталонная реализация", которая работала только при старте с байконура , бгг

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 13-Окт-19 19:13 
> Ааа нету. Нету тестов.

Если тестов нету - в печку ее, Зина!

> Ну вот как ты будешь модель океана тестировать,
> когда даже частных случаев с аналитическим решением её уравнений нет ???

Частные случаи, симметрии, отдельные элементы модели (ну не решалку
же уравнения Навье-Стокса мы пишем, верно?)...


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 13-Окт-19 19:45 
>ну не решалку же уравнения Навье-Стокса мы пишем,

Её,Её,родимую !!
И плюс блок термодинамики !


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 13-Окт-19 20:13 
>>ну не решалку же уравнения Навье-Стокса мы пишем,
> Её,Её,родимую !!

Ну и зря.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено all_glory_to_the_hypnotoad , 13-Окт-19 22:03 
Берёшь квадратный океан постоянной глубины с однородными характеристиками, или иную симметричную для модели сцену для которой можно получить оценки проще по сравнению с полноценными расчётами. Далее характеристики постепенно стновятся неоднородными. Расчётные модели всегда проверяют подбным образом, а если нет - то это рандом и обычный распил бабла.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 14-Окт-19 11:02 
Ага. Ага. Ага.
Только , напомню, что ошибка была в рассчете коэффициента диффузии.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:34 
Когда все пользовались Благословенным Бейсиком (на перфокартах), такого не было! И трава была зеленее!

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Annoynymous , 13-Окт-19 15:54 
За благословенным бейсиком лаборантки потом пересчитывали на логарифмических линейках.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:09 
Не дошло, проясните плиз, лапочка - лаборантка

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 00:06 
Не Бейсике с перфокартами ошибок в вычислениях было больше. Поэтому их надо было проверять в ручную.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:38 
У автора скрипта руки из задницы, ни питон, ни операционка тут ни при чём.

Сначала складывать промежуточные данные в файлы, потом их читать их в массив, потом думать, что и так нормально.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 14:41 
> Сначала складывать промежуточные данные в файлы, потом их читать их в массив, потом думать, что и так нормально.

А так и есть - нормально. Если имя файла что - то осмысленное, то оно может быть неплохим индексом массива. Питошка же умеет даже в многомерные массивы с индексом в виде нескольких строк?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:33 
Ещё один такой же муфлон.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 13-Окт-19 15:28 
Не-а. Есть 2 вида программирования : обычное ( производится тиражируемый програмный продукт) и исследовательское (производится результат , ну , в смысле , конечный продукт - статья, чертежи установки итп). Для исследовательского, когда программа работает на одной машине при определенных версиях ПО итп - это нормально. Мы ж научные сотрутники, мы ж понимаем, что если напишем что-нибудь кроссплатформенное и на века, - нас разгонят.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 13-Окт-19 15:29 
А когда ты тиражируешь исследовательский продукт - ссзб.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 12:00 
> А когда ты тиражируешь исследовательский продукт - ссзб.

Кстати, верно подмечена вторая проблема -- перед публикацией не подумали.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:47 
> Сначала складывать промежуточные данные в файлы, потом их читать их в массив, потом думать, что и так нормально.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Онаним , 13-Окт-19 22:58 
Тут 100% вариант с рукожопием, и под сомнением - ещё более херовые варианты.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Онаним , 13-Окт-19 22:57 
Возможно, это не руки, а даже ноги, и ими этот код и писался.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Annoynymous , 13-Окт-19 15:53 
Помню, всегда бесило в научных публикациях вот это: мы получили данные и обработали их в LabVIEW, получили такие результаты и значения погрешностей.

Верьте нам, LabVIEW никогда не ошибается.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 13-Окт-19 15:57 
Ну в математических журналах, применение CAS запрещено из-за неверифицируемости ...

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено ыы , 13-Окт-19 16:28 
К счастью таких надо полагать не много...

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Annoynymous , 13-Окт-19 16:45 
> К счастью таких надо полагать не много...

К несчастью, таких мало. Необходимо, чтобы не только в математических журналах было такое правило.

Впрочем, не на опеннете такое писать.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено ыы , 13-Окт-19 17:04 
Верифицироваться должны результаты а не способ их получения.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 14-Окт-19 11:13 
Применив леммы 1-5, к определениям 2-17, получим , что справедливы выражения 36-52. Заметим, выполнение тождества 13 , дает нам контрпример ,закрывающий возможность того , что ...
Загрузив  36-52 в систему wofram mathematica, вызывав команду упрощения выражения  13 , мы получили 0=0, поэтому ...
Впиред верифицируй, особенно если не получается узнать mathematica глюкнула или ты дурак решения не видишь ...

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено ыы , 14-Окт-19 16:56 
Обычно про такие описания говорят: - Доктор. у меня в подвале стук.. что это?
Безграмотно составленное описание процесса.

Правильно писать так: Анализируя  36-52 мы упрощаем выражение  13 , получили 0=0, поэтому ...

И только в заключении внизу- пишется что для анализа использовалась wofram mathematica.

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

Но вопросы не из-за ахинеи про запрет CAS в научных журналах, а про обоснованность ваших выводов.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Annoynymous , 13-Окт-19 16:45 
> Ну в математических журналах, применение CAS запрещено из-за неверифицируемости ...

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 13-Окт-19 18:41 
Это в каких таких и что делать, собственно, с публикациями по тем же математическим алгоритмам этих ваших CAS?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено ыы , 13-Окт-19 21:41 
Печататься в химических журналах :)

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено AKNOR , 14-Окт-19 11:14 
Приравнять CAS c открытым кодом к воспроизводимым результатам, разве что.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 15-Окт-19 11:12 
Ну вы там все-таки решите, наконец, крестик вам или трусы?  Запрещено использование CAS в публикациях или как?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено ыы , 13-Окт-19 16:26 
Можно подумать что если бы они посчитали данные столбиком - то ошибка была бы исключена.. Вас  это не бесит?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Ordu , 13-Окт-19 17:11 
> всегда бесило в научных публикациях вот это: мы получили данные и обработали их в LabVIEW, получили такие результаты и значения погрешностей

И что, в этих публикациях не было написано, какие конкретно методы применялись? Типа критерий Вилкоксона с повторными измерениями, например? Если не писалось, то не читай такие научные статьи. Они не научные, они лишь косят под научные.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:49 
> Верьте нам, LabVIEW никогда не ошибается.

Смысл такого не в том, что LabVIEW не ошибается, а в том, чтобы можно было воспроизвести результаты и, если что, локализовать причину ошибки (которая может быть и в LabVIEW, почему нет).


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 16:12 
Скачали библиотечку в интернете. )))

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

Топовые заведения дефолтного города.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:50 
> Топовые заведения дефолтного города.

Страна не та…


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 12:03 
>> Топовые заведения дефолтного города.
> Страна не та…

Гаваец нашёл баг; гавгаваец нашёл, к чему догавкаться.  Браво!


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 16:12 
Тесты писать надо... Знали ж. )))

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 16:54 
Вот поэтому нельзя называть программистами тех людей, которые используют готовые библиотеки, зачастую не интересуясь их работой.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Твой Босс , 13-Окт-19 17:12 
Пиши stdio.h, string(s).h, mathlib, и что там еще? иначе уволю! С нуля пиши!

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 00:48 
Бюджет есть? Готов приступать =)

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 17:48 
>вывод неверного значения обусловлен отличиями при сортировке файлов в разных операционных системах.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено анононимис , 13-Окт-19 18:01 
очень просто - так же как числа перебираются в цикле от 0 до бесконечности и дальше

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено аноним3 , 13-Окт-19 18:46 
у них скрипт с отсеиванием ненужных файлов и потом разбора нужной информации, а они отсеивать взялись не той функцией. вот и вся проблема. поменяют функцию и все дальше в работу. но 150 статей других ученых использующих их скрипт пошли в урну или на переписывание. беда в том что многие уже опубликовались. короче лажа наступила у химиков))

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 13-Окт-19 19:53 
Я ничего не понял. Где репозиторий проекта?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено аноним3 , 13-Окт-19 23:57 
у ученых? не ну у сцинтифик линукс вроде есть свой, но кто ж те данные так просто выложит. только скорректированный вариант.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 00:10 
pip install они (наши) обычно делают и норм. Остальное в файликах по папочкам на флешечках.

P.S. Такие библиотеки имели бы автора, чьи гранты могут испариться от такого события и останется без денег. Имели бы описание и тестирование.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено vz_2 , 13-Окт-19 20:52 
конкретные лаборанты лишать либо зарплаты либо работы

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 18:49 
Лаборант — этот тот, кто лабораторную посуду моет, а не скрипты пишет.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Anonymoustus , 13-Окт-19 21:58 
> Авторы скрипта полагали, что функция "glob()" всегда возвращает файлы, отcортированные по имени, в то время как в документации на glob указано, что порядок вывода не гарантируется.

Кто же нынче читает документацию и тестирует софт…


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 00:50 
Все серьезные компании с сотрудниками набранными не из фрилансеров

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Онаним , 13-Окт-19 22:52 
Ещё одна ласточка в зады хипстерам от IT, теперь уже посерьёзнее. Все эти хипстамирки печальны тем, что верификации и тестирования кода перед использованием в них чуть менее нуля, при этом код поступает из овердохера источников, уровень доверия к которым также чуть меньше нуля. Но это не мешает хипстерам от IT городить свои маня-мирки поверх, а потом удивляться, когда они вот так эпично рушатся.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Stoned Jesus , 14-Окт-19 00:08 
>Там одни обновления просто настоящая мина замедленного действия.

А что с ними? В современных виндах всё ставится само, тебе не нужно даже париться об этом.
>И есть только два способа эту ОС восстановить - откат и бекап.

Восстанавливать её и не придётся, ибо железобетонная стабильность, в том числе и файловой системы.(привет ext4)
>В отличии от Линукса, который можно восстановить почти всегда

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

CentOS 7 достаточно стабильная версия? После обновления отвалилась сеть, полностью, все интерфейсы. Логи? Там очень развёрнуто и информативно сообщалось в духе "Оно не работает, сори". Пришлось сносить и ставить FreeBSD, оно вроде пока таких нелепых ситуаций не создавало.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 00:15 
В современных виндах всё вполне себе дружно ложится от офиц. обновлений. Даже у умеющих готовить винду.

Надо читать релиз нотсы до обновления.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Stoned Jesus , 14-Окт-19 00:26 
В каких именно? В 2016 вообще никаких проблем не замечал. За 2019 ничего говорить не буду, ибо не имел с ней дел.
В последнее время нашёл для себя оптимальное решение — FreeBSD. И бесплатно, и стабильно, и обслуживается легко, полная прозрачность, понятная логика системы. Жаль, что далеко не все хостинг компании работают с ней. Это просто система антипердоллинг — поставил, настроил и забыл.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 06:12 
Да, я примерно с такой же аргументацией перешёл на линукс. Нет, я могу и венду до вменяемого состояния довести (главное не обновлять на последние апдейты, откладывать некритические хотя бы на полгода), до она всегда причиняет мне боль в результате. На что только не пойдёшь ради проприетарного софта.

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

>FreeBSD

Но кроме шуток, это фейл, бро. RAID6 конечно круто, но на этом все преимущества кончаются. В качестве файлсервера может и сойдёт.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 00:20 
> Вот и будешь ты всегда восстанавливать линукс, вместо того, чтобы пойти и погулять, например. После каждого обновления, каждого внесения изменений в аппаратную конфигурацию.

Никогда не было проблем с релизными версиями стабильных дистров. Никогда.

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

А вот с тест версиями и т.п. экспериментальными дистрами бывало разное. Да. Но это приключения сознательные.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 01:21 
>А что с ними? В современных виндах всё ставится само, тебе не нужно даже париться об этом.

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

>ибо железобетонная стабильность

В Windows стабильность, сравнимой со стабильностью в Linux, не было никогда.

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

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

>После обновления отвалилась сеть, полностью, все интерфейсы.

Так ты пользоваться этим не умеешь. Пытаться пересесть с Windows на Linux, обвинять Linux, потом найти для себя FreeBSD - это путь новичков.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Stoned Jesus , 14-Окт-19 13:18 
>Вот когда ты на эти грабли наступишь

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

Ну почему же? Во времена Win98 стабильность была примерно на уровне сегодняшнего linux.
>Так ты пользоваться этим не умеешь.

Иначе и быть не могло, система разваливается в щепки при выполнении элементарного базового функционала, а виноват админ-дурак.
>Пытаться пересесть с Windows на Linux

Я не пытался никуда пересаживаться, уже лет 10 использую в работе и то и другое.
>найти для себя FreeBSD - это путь новичков

А может просто выбор более удобного и качественного инструмента?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 13:55 
>Не наступлю, ибо случайно узнал про настройку расписания.

Перезагрука допустима исключительно в одном случае - если ее инициирует сам пользователь, а не она сама инициируется с подачи какого-то придурка в Microsoft. Не по расписанию, ни вообще никак по другому.

>Иначе и быть не могло, система разваливается в щепки при выполнении элементарного базового функционала, а виноват админ-дурак.

Ну это потому, что ты не админ. Ты им себя считаешь. Еще раз говорю, что поливать говном Linux из-за невозможности с ним справиться - это классический случай. Такие пользователи порой появляются пачками, как и ты, обвиняют Linux в собственной криворукости. И точно также характерно для новичка пытаться использовать FreeBSD. Последняя на первый взгляд выглядит стройнее, и легче для освоения. Но легче там только ядро собрать, все остальное на уровне Gentoo. Тебя еще ждут открытия.

>Я не пытался никуда пересаживаться, уже лет 10 использую в работе и то и другое.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 08:48 
>Вот и будешь ты всегда восстанавливать линукс, вместо того, чтобы пойти и погулять, например. После каждого обновления, каждого внесения изменений в аппаратную конфигурацию.

Вообще-то этим винда славится.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Наноним , 14-Окт-19 01:19 
Я ж говорил, что Python - это новый PHP. Привлекает к себе рукожопов

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Pilat66 , 14-Окт-19 02:47 
Интересно, многие ли , ставя питоновские библиотеки, проверяют правильно ли они работают? Или любые другие библиотеки. Например, запуская тесты, которые ко многим библиотекам есть.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 05:53 
Не знать, что порядок файлов может быть платформо-локале-зависим это совсем какое-то дно. Питон то тут при чём.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:35 
В POSIX сказано относительно glob() из стандартной библиотеки:

> The pathnames shall be in sort order as defined by the current setting of the LC_COLLATE category

В питоне решили сделать не так? Ну доку, конечно, читать надо, но вообще ожидать такого же поведения по умолчанию вполне логично.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 20:20 
В питоне это даже не сишный глоб (которого нет в венде), и дёргает оно совершенно разные платформозависимые функции (емнип).

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 06:08 
Вот до чего питон довел!

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 09:56 
Разме на С языке такое не возможно?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 18:52 
Нет, там glob() возвращает отсортированные совпадения.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Адекват , 14-Окт-19 06:49 
Python, такой питон. Впрочем СИ в некоторых случаях не лучше, просто разделите 1/3 шататными средствами, без подключения навороченных математических библиотек и сделайте точность 10-12 знаков после запятой.
bc в баше и то точнее будет.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 07:06 
Это не баш, это bc. Да и в целом не релевантно Питон в данном случае просто не делал одинаковой сортировки на всех платформах (и не должен был).

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 18:54 
> bc в баше и то точнее будет.


$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1/3
0


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним84701 , 14-Окт-19 19:04 
>> bc в баше и то точнее будет.
>
 
> $ bc
> bc 1.07.1

...
> 1/3
> 0

А теперь внимание: ч̶т̶е̶н̶и̶е̶ ̶м̶а̶н̶а̶ ловкость рук и никакого мошенничества:


% bc -l
1/3
.33333333333333333333

% bc <<< "scale=8000; 1/3"                                                                
.3333333333333333333333333333333333333333333333333333333333333333333\
33333333333333333333333333333333333333333333333333333333333333333333\
33333333333333333333333333333333333333333333333333333333333333333333\
...
...
33333333333333333333333333333333333333333333333333333333333333333333\
33333333333333333333333333333333333333333333333333333333333333333333\
% bc <<< "scale=8000; 1/3"|wc -c
    8236

ЗЫ: но вообще-то calc от одного ученого-астронома
http://www.isthe.com/chongo/tech/comp/calc/
удобнее:


% calc "base(1/2); 1/3 + 2/5 + 5/17"  
    10
    262/255


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Anonymoustus , 14-Окт-19 19:37 
> А теперь внимание: ч̶т̶е̶н̶и̶е̶ ̶м̶а̶н̶а̶
> ловкость рук и никакого мошенничества:

Скажете тоже… Кто же из опеннетовских экспертов читает маны?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 00:23 
> ловкость рук и никакого мошенничества

Как это — никакого? Утверждалось же:
> без подключения навороченных математических библиотек


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Адекват , 15-Окт-19 06:51 
Bc может на СИ написан, а может и нет.
Вы на чистом си напишите код и посмотрите, что будет.
А так же, если будет желание на python, perl, javascript, и даже на баше.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 12:14 
> Вы на чистом си напишите код и посмотрите, что будет.

Ну я писал, помнится, длинную полиномиальную математику на голых сях для бакланаврской.  Вы этим кого вообще пугать пришли?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним84701 , 15-Окт-19 11:29 
>> ловкость рук и никакого мошенничества
> Как это — никакого? Утверждалось же:
>> без подключения навороченных математических библиотек

Т.е. на самом деле следовало использовать bc, не используя dc? o_O

>>>  Впрочем СИ  ... разделите 1/3 шататными средствами, без подключения навороченных математических библиотек
>>> bc в баше и то точнее будет.
>> $ bc
>> 1/3
>> 0

Или все же стоит читать целиком и в контексте, а не выдергивать отдельные, понравившиеся фразы?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 21:15 
> Т.е. на самом деле следовало использовать bc, не используя dc?

Следовало использовать bc, не используя опцию -l. Да, в это сложно поверить, но Аноним про неё знал.
> Или все же стоит читать целиком и в контексте, а не выдергивать отдельные, понравившиеся фразы?

Если целиком и в контексте, то, конечно, надо ещё упомянуть, что точность bc не зависит от того, запущен он из bash или откуда-то ещё.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним84701 , 15-Окт-19 21:32 
>> Т.е. на самом деле следовало использовать bc, не используя dc?
> Следовало использовать bc, не используя опцию -l.

Хм, потому что гладиолус или потому что аноним несет Возмездие во имя Луны?

Кстати, если уж придираться к формальностям, то во втором листинге -l нема.
% bc <<< "scale=8000; 1/3"

Ну и вообще-то bc является лишь препроцессором к dc, который и является "dc is an arbitrary precision arithmetic package
% bc -c <<< "scale=8000; 1/3"  
8000k 1 3/ps.
% dc <<< "8000k 1 3/ps."                                                                  
.333333333333333333333333333333333333333
так что говорить о точности bc бессмысленно.

> Да, в это сложно поверить, но Аноним про неё знал.

Угу-угу. Только она [опция] вот тут -- нафиг не нужна. Просто там задается дефолтный scale = 20.
Изначально вам предолжили в̵ ̵л̵а̵с̵т̵а̵и̵х̵ ̵и̵ ̵п̵р̵о̵т̵и̵в̵о̵г̵а̵з̵е̵ посчитать на си стандарными средствами языка. Чем не понравился bc"Адеквату" я не знаю, но и bc и (тем более) питон для таких подсчетов "из коробки" проще, быстрее, да еще и намного точнее. И если уж аноним "знал", то тем более непонятно что должен был продемонстрировать тот пример.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 16-Окт-19 00:31 
Я не знаю, что у тебя там за bc, но у меня — GNU bc, который
> was implemented from the POSIX P1003.2/D11 draft and contains several differences and extensions  relative  to  the draft and traditional implementations.  It is not implemented in the traditional way using dc(1).  This version is a single process which parses and runs a byte code translation of the program.

Что касается опции -l:
>        -l, --mathlib
>              Define the standard math library.

что бы под этим ни подразумевалось.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Адекват , 16-Окт-19 14:44 
> посчитать на си стандарными средствами языка. Чем не понравился bc"Адеквату" я
> не знаю,

У меня была простая просьба.
Написать. На СИ. Код. Котрый. Покажет результат делания 1/3, и это будет не 0.

#include <stdio.h>

int main(int argc, char* argv[])
{
float a=1/3.0;
printf("%.20f",a);
}

Результат:

0.33333334326744079590
Вот результат для double:
0.33333333333333331483

офигенная точность, правда ?

про bc - если мне в моей проге понадобиться супер-математичесая точность, мне что, каждый раз делать system bc ?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 16-Окт-19 14:52 
> про bc - если мне в моей проге понадобиться супер-математичесая точность,
> мне что, каждый раз делать system bc ?

Слушайте, даже я уже больше двадцати лет знаю про gmp, которую мне мсье Зубинский дал в руки, когда собирался писать свою реализацию деления.  Неужели быстрее ныть, чем найти или на худой конец сделать?..

PS: в смысле "когда я собирался", разумеется.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 16-Окт-19 20:45 
> если мне в моей проге понадобиться супер-математичесая точность, мне что, каждый раз делать system bc ?

Если нужна хоть какая-то точность, забудь про float и пользуй double. Если супер-пупер — бери библиотеки и не стонай. Можно подумать, питон без них на большее способен…


>>> print("%.20f" % (1.0/3))

0.33333333333333331483



"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 16-Окт-19 20:55 
> Можно подумать, питон без них на большее способен…

Канешна, дарагой!


>>> import fractions
>>> fractions.Fraction(1, 3)

Fraction(1, 3)



"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним84701 , 16-Окт-19 22:02 
> Можно подумать, питон без них на большее способен…

Угу. Питон же, на самом деле, исключительно из-за неосиляторства сишечки используют 🙄


>>> import decimal
>>> decimal.getcontext().prec = 100500
>>> res = decimal.Decimal(1) / decimal.Decimal(3)
>>> str(res)[:10]

'0.33333333'
>>> str(res)[100480:]

'3333333333333333333333'

% time python2.7 -c "from decimal import *; getcontext().prec=100500; print str(Decimal(1)/Decimal(3))[100400:]"  
333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
python2.7 -c   0,90s user 0,02s system 99% cpu 0,932 total

Ох уж эти мантры опеннета.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 09:55 
Так понимаю что проблема не авторе кода, а в интерпетароре. Очень странно что для заявленных ОС он работает неодинаково.
А все те кто свистят на программистов что "должны тестировать код лучше" наверное слабо представляют как это сделать - не иначе как иметь парк ПК с разными ОС ))) Мелкомягкие софтоделы живут в своем мирке C# где все работает как надо только в коммерческой среде.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 11:50 
Химики, пользуйтесь современными средствами программирвания, а не питоном - https://github.com/svaksha/Julia.jl/blob/master/Chemistry.md

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 12:20 
Не в современности дело, а в том, что неверно делать ПО для научных расчетов на скриптовом языке к тому же с использованием библиотек, не обладающих свойством кроссплатформенности.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 12:24 
Ну так, что бы, в самом деле, не пользоваться Julia? Весь код на ней. Все тесты - на ней же.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 12:50 
Думаю, научное ПО нужно делать на C/C++ с использованием кроссплатформенного инструментария, такого как Qt. Ранее мое мнение было иным. Возможно, в будущем мнение также изменится. Но на сегодняшний день оно таково.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:06 
> Думаю, научное ПО нужно делать на C/C++

Все математические языки программирования имеют нумерацию индексов массивов с 1. И компоновка памяти, чаще, фортрановская с упакованными колонками. И языками этими, банально, удобнее пользоваться для программирования именно математики, чем C++. А вот мешанина научный язык - C++ - лишнее место возникновение проблем.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:40 
> Все математические языки программирования имеют нумерацию индексов массивов с 1.

В С можно сделать нумерацию с 1. Но не нужно. К тому же некоторые алгоритмы предполагают нумерацию с нуля.

> И компоновка памяти, чаще, фортрановская с упакованными колонками.

Не совсем понятно, что имеется в виду. Если речь о массивах векторов различной длины (а также передачи через формальные параметры части массива размерности более 1), то проблема надежно решается использованием в функциях на С только одномерных массивов. Таким образом в данном случае передается указатель на первый элемент массива, количество векторов и массив длин векторов. Кстати, идея не нова. Она как раз из Фортрана. Эффективно применялась в известной математической и статистической библиотеке SSP.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 15:00 
> Не совсем понятно, что имеется в виду. Если речь о массивах векторов различной длины

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 12:17 
> Если сделаешь наоборот, то резко снижается производительность алгоритма.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:46 
> мешанина научный язык - C++

Никакой проблемы. Еще на заре ПК, когда был большой багаж научных программ на Фортране, именно "смешанное" программирование: алгоритмы на Фортране, всё остальное (меню, ввод и вывод) на С - показало свою эффективность. В последующем, если говорить о нас, все фортрановские функции были переписаны на С. И опять же для скорости и удобства была реализована модель: алгоритмы на С, всё остальное на Visual Basic. Впрочем, необходимости в этом сейчас уже нет. Всё реализуется на С++.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 15:06 
Никогда не задумывались, почему за 40 лет так на C и не сделали удобный инструмент для интерактивного программирования математики, а все 40 лет пользовались R? Или почему, несмотря на все изменения C++ и новейшие его стандарты со всякими модными нашлёпками, так никто не пишет в Jupyter Notebook на нём?

Julia - как раз тот язык, которым удобно пользоваться как для небольших расчётов, так и собирать что-то сложное из отдельных модулей. При этом, технология монолитна. Она не требует для компенсации провалов производительности что-то писать на C


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 20:33 
"about 50% of R is written in C, and just under 30% in Fortran" (c) https://blog.revolutionanalytics.com/2011/08/what-language-i...

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:48 
> Ну так, что бы, в самом деле, не пользоваться Julia

Цитата из Википедии: "Julia написана на Си, C++..."


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 14:56 
И что? Как это соотносится с кодом, который пишут на Julia и тем, как он выполняется далее?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним84701 , 14-Окт-19 18:49 
>> Ну так, что бы, в самом деле, не пользоваться Julia
> Цитата из Википедии: "Julia написана на Си, C++..."

Я не поклонник Юлий, но вырывать цитаты из контекста … нехорошо
> with C++ for the LLVM dependency.
> he LLVM compiler infrastructure project is used as the back end for generation of 64-bit or 32-bit optimized machine code depending on the platform Julia runs on. With some exceptions (e.g., PCRE), the standard library is implemented in Julia itself.

|


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 20:37 
> Я не поклонник Юлий, но вырывать цитаты из контекста … нехорошо

Т.е. Вы полагаете, что Julia не написана на C++? Думаю, что фактом написания на C++ стоит гордиться.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним84701 , 14-Окт-19 20:59 
>> Я не поклонник Юлий, но вырывать цитаты из контекста … нехорошо
> Т.е. Вы полагаете, что Julia не написана на C++?

Я полагаю ровно то, что написал -- нехорошо вырывать цитаты из контекста.

В остальном, я предпочитаю не полагать и не предполагать -- если можно просто посмотреть:
https://github.com/JuliaLang/julia
>  Julia 68.7%      C 16.3%      C++ 9.9%      Scheme 3.2%      Makefile 0.7%      LLVM 0.4%      Other 0.8%


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено аноним3 , 14-Окт-19 16:13 
питон создавался изначально как самое кроссплатформенное решение из всех имеющихся. то что он не заточен под сильно нагруженные задачи, то да. так кто с этим спорит. хотя в наш век все кричат , что следить за памятью и ресурсами не нужно. купил планку и дальше гоняй. типа если не смог то ло*х. хотя я категорически против. от этой идеи в итоге страдают все. гляньте на операционки. электроны, js, qml и прочие гадости только отнимают ресурсы, а при этом улучшения в самих операционкак как бы почти и нет.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 20:29 
Всем спасибо за обсуждение. Надеюсь, пользователи сделают правильный выбор.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Himik , 14-Окт-19 16:08 
Это проявление кроссплатформенной чертовщины. Написано же в скрипте, на какой платформе он создан и отлажен, всё остальное на свой страх и риск.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено ыы , 14-Окт-19 18:54 
Неужели на винде?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено diff , 14-Окт-19 16:47 
далеко ходит не надо, утилита diff точно так же по разному сортирует файлы на линуксе и винде
не смотря на принудительные опции

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 18:58 
diff сортирует файлы? Офигеть! А я-то думал, отличия в них ищет.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено diff , 15-Окт-19 19:33 
man diff
перед тем как дифать рекурсивно директорию например
он сортирует файлы в ней
и diff на линуксе и diff на винде из комплекта git утилит к примеру
выдаст разный результат

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 16-Окт-19 00:19 
Вот и автор сабжевого скрипта тоже думал, что питонячий glob что-то там сортирует. Открой сам man diff и найди в нём хоть одно слово про сортировку и «принудительные опции», которые якобы должны на неё влиять.
Спойлер: нет их там. А значит, порядок обхода файлов может быть каким угодно. Может измениться даже в разных версиях одной и той же реализации diff на одной и той же системе, не говоря уже про разные реализации.
P. S. Ну ладно, в мане для diff из FreeBSD есть упоминание сортировки. Без уточнения, каким образом она производится, влияет ли на неё LC_COLLATE или ещё что-то, и уж тем более без «принудительных опций».

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 14-Окт-19 22:56 
Профессиональные кодомакаки гонят на химиков, что те написали плохой скрипт. Это как если бы шофер жаловался, что химик плохо водит машину или уборщица, что химик плохо убирает лабораторию.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 12:20 
> [...] гонят на химиков, что те написали плохой скрипт.

Более внимательный человек выше вон отметил, что проблема -- в публикации.  Т.е. когда разработчик (sic!) кода выступил его поставщиком.

PS: ...спустя рукава.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 00:54 
Я вот подумал, а ведь решение очень простое публиковать свои доклады просто в какой-то Вики системе ее обновили и все пересчиталось, но нет придумали тратить бумагу печатать журналы будто это еще кому-то надо...

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 21:20 
И как ссылаться на такие публикации, если через неделю в них может быть уже что-то совсем другое написано?

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено пдк , 15-Окт-19 05:50 
По-моему это наглядно демонстрирует уровень современной науки, когда вместо опытов учёные полагаются на формулы и скрипты.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 14:14 
Это наглядно демонстрирует и уровень современной техники, когда вместо моделирования и эксперимента полагаются на автокад.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено freehck , 15-Окт-19 10:57 
> Авторы скрипта полагали, что функция "glob()" всегда возвращает файлы, отcортированные по имени, в то время как в документации на glob указано, что порядок вывода не гарантируется.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 15-Окт-19 11:17 
> Конечно же, конечно же всё документировано. Но большинство функций
> делают что-нибудь неочевидное,

Если бы все функции делали только очевидное - в качестве документации
вполне проканали бы название и список аргументов.

> а читать каждый раз документацию к каждой функции физически невозможно.

Почему не возможно?  Вы чукча, извините за неполиткорректный вопрос?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Michael Shigorin , 15-Окт-19 12:21 
> Вы чукча, извините за неполиткорректный вопрос?

Ну вот, и Вы уже пятой графой интересуетесь... похоже, это заразно!


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено freehck , 15-Окт-19 13:14 
>> Конечно же, конечно же всё документировано. Но большинство функций
>> делают что-нибудь неочевидное,
> Если бы все функции делали только очевидное - в качестве документации
> вполне проканали бы название и список аргументов.

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

Когда map во всех нормальных языках принимает список и функцию, а возвращает список -- очень странно например видеть, что в питоне map возвращает итератор, который приводится в список явным образом.

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

Когда в самых разных языках есть библиотеки, предоставляющие простейшую абстракцию Stream, питон за свои без малого 30 лет существования до сих пор не имеет её. "Потому что можно использовать вместо стрима генераторы", лол. Да, можно, но это не удобно, это более многословно... И т.д.

Всё это вкупе делает Python крайне неудобным языком общего назначения. Смысл его использовать бывает лишь в тех случаях, когда Вы работаете с большими обвязками, специально для него написанными -- такими как numpy, ну или с некоторыми библиотеками для Machine Learning-а.

>> а читать каждый раз документацию к каждой функции физически невозможно.
> Почему не возможно?

Потому что задачи надо решать вовремя.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 15-Окт-19 19:11 
> Да, и в хороших библиотеках именно так оно и есть.

В далекой-далекой галактике?

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

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

> есть весьма очевидно работающая

Кому очевидно?

> Всё это вкупе делает Python крайне неудобным языком общего назначения.

Мне удобно, спасибо.

>>> а читать каждый раз документацию к каждой функции физически невозможно.
>> Почему не возможно?
> Потому что задачи надо решать вовремя.

Если вы не выучитесь элементарному чтению документации, то
задачи придется решать заново.  Хотя, возможно уже и не вам...



"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено freehck , 15-Окт-19 20:14 
> В далекой-далекой галактике?
>> Когда map во всех нормальных языках
> Не во всех языках

Ах "не во всех языках" оно так... Ну давайте посмотрим: racket, sbcl, ocaml, haskell, javascript, java, clojure, erlang, elixir, php, perl, scala -- надо же, такие разные языки, а как речь заходит про базовые вещи типа map -- всё так похоже. Но конечно же нет, "не во всех языках" map есть, не "во всех языках" map работает единообразно. Потому что есть python! =)

>>>> а читать каждый раз документацию к каждой функции физически невозможно.
>>> Почему не возможно?
>> Потому что задачи надо решать вовремя.
> Если вы не выучитесь элементарному чтению документации, то задачи придется решать заново.

Конечно-конечно. Ведь проблема не в том, что есть *теоретическая база*, откуда растут ноги всех этих конструкций. И даже не в том, что есть *алгоритмы*, математический аппарат которых основан на этих понятиях. И уж точно не в том, что есть *общепринятые практики*, которые распространены повсеместно, которыми пользуются миллионы программистов. Нет! Проблема в том, что люди не читают талмуды документации питона, описывающие его далеко не стандартное и далеко не очевидное поведение! =)

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 15-Окт-19 20:47 
> Ну давайте посмотрим: ... php ...

Я вас умоляю.  Там array_map есть.  Где там map?  Мне все проверять, или честно признаетесь, что так у вас везде?

> Но конечно же нет,
> "не во всех языках" map есть, не "во всех языках" map
> работает единообразно. Потому что есть python! =)

Да нет же.  Не во всех языках есть итераторы.  Ну что тут можно было не понять?!

>>>>> а читать каждый раз документацию к каждой функции физически невозможно.
>>>> Почему не возможно?
>>> Потому что задачи надо решать вовремя.
>> Если вы не выучитесь элементарному чтению документации, то задачи придется решать заново.
> Конечно-конечно. Ведь проблема не в том, что есть *теоретическая база*, откуда растут
> ноги всех этих конструкций.

Эм, а что не так с теоретической базой у питона?

> И даже не в том, что есть
> *алгоритмы*, математический аппарат которых основан на этих понятиях.

Математический аппарат алгоритмов, чего только на опеннете не услышишь...

> есть *общепринятые практики*, которые распространены повсеместно, которыми
> пользуются миллионы программистов.

Например, RTFM.

> Проблема в том, что люди не читают талмуды документации питона

Ну да.  За вычетом того, что там далеко не талмуды.  Большинство
классов/функций/методов - имеют весьма лаконичную документацию.

> В общем, у тебя теперь есть все данные, чтобы понять, почему среди
> питонистов хороших программистов быть не может.

Почему-ж нету?  Есть скромный я.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено freehck , 16-Окт-19 00:55 
Господи, Мыханд. Вот вроде человек. Вроде умеешь читать и писать. Даже работаешь, наверное, где-то. Но как ты всё это делаешь, вообще не включая в эти процессы пространство между ушами -- это загадка из загадок. Имеешь славу местного шута, и доволен этим. И самому не противно. Удивительно.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 16-Окт-19 15:13 
> Но как ты всё это делаешь, вообще не включая
> в эти процессы пространство между ушами -- это загадка из загадок.

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

> Имеешь славу местного шута

Это кто-й то меня тут в шуты назначил?  "Общественность" в ажно целом лице
1шт модератора?  Извините, модераторы опеннета - это уже целый даже
диагноз, а не просто мем...



"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Anonymoustus , 16-Окт-19 18:49 
Гиблое дело.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Anonymoustus , 16-Окт-19 06:10 
> Математический аппарат алгоритмов, чего только на опеннете не услышишь...

Ох уж эта молодёжь…

http://publ.lib.ru/ARCHIVES/M/''Matematicheskoe_obespechenie_EVM''/_''Matematicheskoe_obespechenie_EVM''.html

Заметь, каких годов эта литература.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 16-Окт-19 15:19 
>> Математический аппарат алгоритмов, чего только на опеннете не услышишь...
> Ох уж эта молодёжь…
> http://publ.lib.ru/ARCHIVES/M/''Matematicheskoe_obespechenie_EVM''/_''Matematicheskoe_obespechenie_EVM''.html
> Заметь, каких годов эта литература.

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

(А так-то можно даже назвать ж*пу - пальцем, интернет (или там
бумага) - стерпит.)


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Anonymoustus , 16-Окт-19 15:32 
Оно там есть в каждой книжке, даже если не в буквально такой формулировке.

Но ты можешь их все и не читать, а просто загуглить:

https://www.google.com/search?q=Математический+аппарат+алгоритмов

Заодно узнаешь, что ничего смешного оратор предыдущий не сказал.

Я бы на твоём месте всё же прочёл бы или хотя бы пролистал пару-тройку книг из того перечня. Это кладезь бесценных знаний, которых ты не найдёшь в пихтоновских ПЕПах. Именно знаний, а не навыка тыкать в «дальше» или копипастить г-нокод из пихтоноводских мануалов.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 16-Окт-19 17:11 
> Оно там есть в каждой книжке, даже если не в буквально такой формулировке.

Родной, выкинь такие "книжки" на помойку, буде если они на самом деле есть.

> Но ты можешь их все и не читать, а просто загуглить:
> https://www.google.com/search?q=Математический+аппарат+алгоритмов

Понимаешь, по отдельности эти слова - имеют смысл.  Бессмысленно именно
словосочетание.  Если ты не завершил свое знакомство с математикой классе
в 9-м, то, по идее, должен знать что термины на куски не принято резать.
Какое-нибудь "вполне непрерывное отображение".

> Заодно узнаешь, что ничего смешного оратор предыдущий не сказал.

Как не сказал?  Мне стало еще смешнее после того, как ты без
кавычек это стал в гугле искать...

> Я бы на твоём месте всё же прочёл бы или хотя бы пролистал пару-тройку
> книг из того перечня. Это кладезь бесценных знаний, которых ты не
> найдёшь в пихтоновских ПЕПах. Именно знаний, а не навыка тыкать в
> «дальше» или копипастить г-нокод из пихтоноводских мануалов.

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


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Anonymoustus , 16-Окт-19 18:12 
Ты демонстрируешь удручающие невежество и глупость.

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

Дабы не создавалось впечатления, что пихтономакака победила в этом споре, я специально для тебя нашёл книгу, в которой по-русски вкратце описан математический аппарат программирования. Книга называется «Типы в языках программирования» (Types and Programming Languages), её автор Бенджамин Пирс (Benjamin C. Pierce). Вторая глава так и называется: «Математический аппарат».

http://newstar.rinet.ru/~goga/tapl/tapl004.html

Во всех науках, что-либо измеряющих и считающих, используется математический аппарат, а от самого предмета исследования абстрагируются до его математической модели (см.: https://ru.wikipedia.org/wiki/Математическая_модель ).

Надеюсь, ты слышал фамилию Вирт? Этот самый дяденька Вирт некогда написал книгу с говорящим названием (варианты несколько различаются для разных изданий): «Алгоритмы + структуры данных = программирование». Впервые она вышла, если не ошибаюсь, в семидесятых. Другие книги из прекрасной серии «Математическое обеспечение ЭВМ» в той или иной мере описывают математический аппарат программирования, которое, напоминаю слова Вирта, есть сочетание алгоритмов и структур данных.

Математическая (или символическая) логика является в программных алгоритмах связующим звеном между математикой и логикой как таковыми.

Больше заниматься ликбезом я не буду, читай книги.


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 16-Окт-19 18:47 
> Математический аппарат — это [...]

Ты с потрясающим упорством продолжаешь делить термин на отдельные слова, даже когда тебе подробно объяснили почему в науке это - глупость.

> Дабы не создавалось впечатления, что пихтономакака победила в этом споре, я специально
> для тебя нашёл книгу, в которой по-русски вкратце описан математический аппарат
> программирования. Книга называется «Типы в языках программирования»

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

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

(Твою-ж дивизию...)  И Вирт противу тебя, вот невезуха.  Т.е. "программирование" != "алгоритмы", верно?  Даже ежели ты покромсал термин напополам...

> Больше заниматься ликбезом я не буду, читай книги.

Похоже именно я их вместо тебя всю дорогу и читаю...


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено freehck , 16-Окт-19 20:17 
> Дабы не создавалось впечатления, что пихтономакака победила в этом споре

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

Ну и к слову. Почему просто не приложишь ссылку на гугель? Ну например такую:
https://www.google.com/search?client=safari&rls=en&ei=B6jcXv...


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено myhand , 16-Окт-19 20:53 
> дорогой Anonymoustus

Вылизывание поощряется?

> А какое там впечатление останется у обезьян...

А уважаемые неб*длы себя обезьянами не считают?  Я думал только Мишу Шигорина лично боженька создал, али вы тут все такие - может это такой тут критерий при кастинге модераторов?

> Так ли это тебя волнует, в самом-то деле, а?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 14:21 
Отучили читать документацию, которую за много лет, пользуясь монопольным положением, известная корпорация превратила в набор банальностей. Если не ошибаюсь, последний раз вменяемое руководство по стандартным библиотекам C++ было у Borland (есть в открытом доступе https://archive.org/details/bitsavers_borlandborn3.1LibraryR...). Несмотря на архаичность, это пример, как надо писать документацию. По другим языкам программирования вообще не припомню чего-то подобного.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 15-Окт-19 21:27 
> Если не ошибаюсь, последний раз вменяемое руководство по стандартным библиотекам C++ было у Borland

Чем https://gcc.gnu.org/onlinedocs/libstdc++/ хуже?


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 16-Окт-19 07:29 
Собственно, подтверждение. В этом всё и дело. Проблема отсутствия структурированной и понятной документации по средствам разработки - вершина айсберга. Основная проблема в том, что, судя по реплике, программистам она и не нужна. Результат - имеем досадные ошибки.
Решение - в тщательном документировании библиотек. Возможно, даже в принятии стандарта. Руководство Borland - первая итерация, какой документация должна быть. Добавил бы в описание каждой функции тестовый набор данных и вывод результатов расчета по данному набору, а также там, где это уместно, математическое обоснование и ссылки на авторитетные источнки.

"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 16-Окт-19 08:58 
> Чем ... хуже?

Тогда уж https://www.gnu.org/software/libc/manual/pdf/libc.pdf


"Недоработка в Python-скрипте могла привести к неверным резул..."
Отправлено Аноним , 16-Окт-19 12:05 
Онлайн документация по функциям должна быть примерно такая:

https://documentation.sas.com/?docsetId=statug&docsetTarget=...

К сожалению, в данной версии недоступна офлайн полностью (только главами). Для предыдущей полный файл PDF содержал более 10000 страниц (с примерами).