@spbpython

Страница 440 из 785
Sergey
25.06.2017
05:31:35
а я переписывал криптоалгоритм с js на python и у меня всё получилось

Sergey
25.06.2017
06:44:26
Пока гуглил, тоже натыкался на вопрос. Кто-то что-то пытался с джавы портировать и там тоже были проблемы с этим
возможно глупость, но почему бы не сгенерировать заранее набор чисел и использовать его во всех тестах?

Eugene
25.06.2017
10:56:25
возможно глупость, но почему бы не сгенерировать заранее набор чисел и использовать его во всех тестах?
В моём случае так можно, но, сгенерированные данные надо где-то хранить, например в файле, их надо будет перезаписывать если изменятся параметры данных, данные нужны разные для разных тестов. Но есть ещё много случаев, когда от ГПСЧ зависит сам алгоритм. Например, bootstrapping в статистике.

Google
Nikolay
25.06.2017
12:16:59
посоны, а в чем основная проблема встраивания вменяемого JIT в CPython?

что знающие люди говорят? кодовая база слишком кривая?

Stepan
25.06.2017
13:58:34
что знающие люди говорят? кодовая база слишком кривая?
например http://qinsb.blogspot.ru/2011/03/unladen-swallow-retrospective.html?m=1

Roman
25.06.2017
16:52:08
Eugene
25.06.2017
16:54:10
Простым для кого?

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

Nikolay
25.06.2017
17:04:13
а что, Lua сложная?

Roman
25.06.2017
20:36:31
а что, Lua сложная?
Причем тут lua?

в чем сложность?
Ты смотрел тот же dynasm?

Nikolay
25.06.2017
20:55:21
Причем тут lua?
притом, что jit не делает язык сложнее

Google
Nikolay
25.06.2017
20:55:39
мне просто интересно, почему у других языков есть, а у cpython нет

Roman
25.06.2017
21:29:52
притом, что jit не делает язык сложнее
Язык - нет. Интерпретатор - да.

Nikolay
25.06.2017
21:30:56
более того, он может быть опциональным

Roman
25.06.2017
21:46:41
Eugene
25.06.2017
21:51:26
Мне кажется, внутренняя сложность - это не аргумент в пользу отказаться от jit в reference implementation. Тут как и везде хорошо работает принцип: сложно внутри - просто снаружи. Те, кто пилит cpython обладают достаточной квалификацией, чтобы поддерживать jit. По крайней мере так должно быть для серьёзного ЯП.

Nikolay
25.06.2017
21:54:49
Roman
25.06.2017
22:00:07
я про CPython :)
Если это так несложно, добавь сам

Nikolay
25.06.2017
22:00:47
Если это так несложно, добавь сам
“сперва добейся” напиши еще)

Aleksandr
26.06.2017
18:28:30
я думаю что проблема в том, что JIT является чем то отдельным от интерпретатора обычно. Например в той же луа jit живет рядом с интерпретатором, написан руками и находится в не полном согласии с интерпретатором. Иными словами поведение в режиме jit и в режиме интерпретации нужно синхронизовать руками разрабу. Это очень сложно - легко накосячить в деталях.

почему нет в сипайтоне - ну сложно это, поэтому

есть в pypy, там он автогенеренный из некоторого шаблона

Nikolay
26.06.2017
20:56:26
Но это не идеал далеко

И платно, если хочется плюшек

using std::django::Model;

Nikolay
27.06.2017
16:44:55
у нас в большом питоночате чувак всерьез топит за то, что присваивать новые атрибуты объектам функций в декораторах - нормальная практика

Eugene
27.06.2017
16:52:30
А это противоречит каким-то принципам?

Marco
27.06.2017
16:52:43
что такое "большой питоночат"?

Google
Eugene
27.06.2017
16:53:26
Полагаю, что Python-RU

Nikolay
27.06.2017
16:55:43
А это противоречит каким-то принципам?
принципам логики, это неподдерживаемый костыль в общем случае

Eugene
27.06.2017
16:56:38
Надо тогда уточнить, что именно разрешено делать декоратору с декорируемым объектом. :)

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

Nikolay
27.06.2017
16:59:07
не, атрибуты функциям формально можно присваивать, да, потому что функция - это объект, как и все в питоне

но на деле так ни один нормальный человек делать не будет, как минимум потому что это непортируемо в принципе

Aleksey
27.06.2017
16:59:42
принципам логики, это неподдерживаемый костыль в общем случае
ну, посмотри на lru_cache, там тоже прицепляются данные к функции

Nikolay
27.06.2017
17:00:10
ну, посмотри на lru_cache, там тоже прицепляются данные к функции
я не говорю про реализацию внутренней питоновой магии, я говорю про продакшен-код

Nikolay
27.06.2017
17:02:30
Не портируемо - это как? Куда портируемо?
ты не перепишешь этот код на язык, в котором нельзя функциям присваивать атрибуты

функция - это оператор из множества в множество, никаких кастомных атрибутов там быть не может

Eugene
27.06.2017
17:04:52
Многие динамические штуки в лоб не перепишешь, так ведь так никто и не делает. Например, в C++ нет функций-объектов, ну значит берём и делаем функтор и т. п.

Nikolay
27.06.2017
17:07:51
уже есть функции-объекты :)

Aleksey
27.06.2017
17:07:53
ты не перепишешь этот код на язык, в котором нельзя функциям присваивать атрибуты
О_о а где-то нет множественного наследования, тоже отказаться ради портирования?

Nikolay
27.06.2017
17:07:55
std::function

Eugene
27.06.2017
17:09:29
std::function
Угу, ещё ламбды, только это всё равно библиотечная обёртка-функтор. Я имел в виду классические функции, на которые есть только указатели.

Andrey
28.06.2017
07:37:31
А как попасть в "большой питоночат"? не дадите ссылку?

Google
Julia
28.06.2017
07:38:38
Но подумай надо ли оно тебе :)

Andrey
28.06.2017
07:39:41
Но подумай надо ли оно тебе :)
а какие могут быть "против", чтобы я мог аргументированно взвесить?

Sergey
28.06.2017
07:40:01
Там не лампово :D

Andrey
28.06.2017
07:44:44
Сейчас увидишь :)
увидел стикеры с ненормативной лексикой. это оно?

b0g3r
28.06.2017
07:45:57
Есть ещё @ru_python_beginners, там атмосфера между "взаимовыручка и добро" и "попытаемся друг друга убить" :) Есть ещё Джанго-чат: @pydjango

Michael
28.06.2017
07:45:58
Так немного офтопа, кто то про джаг спрашивал... https://jugru.timepad.ru/event/518209/

Julia
28.06.2017
07:54:27
увидел стикеры с ненормативной лексикой. это оно?
Да вообще в целом там очень много флуда. Выцепить что-то ценное сложно. Раз уж заговорили, есть еще Питон без девочек. https://telegram.me/rudepython Довольно лампово :)

Olya
28.06.2017
07:56:50
Меня всегда веселят массовые набеги из других чатов после подобной рекламы. Я это визуализирую так: были люди, что-то делали у себя дома. К ним ввалилась новая тусовка и давай обсуждать какую-то дичь)

b0g3r
28.06.2017
08:04:05
Меня всегда веселят массовые набеги из других чатов после подобной рекламы. Я это визуализирую так: были люди, что-то делали у себя дома. К ним ввалилась новая тусовка и давай обсуждать какую-то дичь)
На самом деле треш и угар обычно продолжатся не более получаса: большинство тихо остаётся наблюдать, меньшинство не зная правил начинает творить дичь, но им быстро объясняют, что тут такое не принято :)

Olya
28.06.2017
08:21:02
Я стесняюсь спросить. Там правда девочкам не рады, или достаточно просто адекватно вести себя? :)

Sergey
28.06.2017
08:22:16
Я стесняюсь спросить. Там правда девочкам не рады, или достаточно просто адекватно вести себя? :)
Я думаю, девочкам там просто будет не очень комфортно :D Хотя девочки тоже разные бывают, чо уж там

b0g3r
28.06.2017
08:23:36
Я стесняюсь спросить. Там правда девочкам не рады, или достаточно просто адекватно вести себя? :)
Там не рады скорее тем, кто ведет себя как девочка :) Харассмента там нет.

Olya
28.06.2017
08:25:24
? есть хорошая реклама на эту тему (про "ведет себя как девчонка")... от адидаса или найка. Я лучше закрою тему, в этом чате можно более интересные вопросы обсуждать))

b0g3r
28.06.2017
08:26:02
like a girl, да, есть такая :)

Olya
28.06.2017
08:28:27
От Always, вроде ;)
да, действительно. Но это ее не портит)

Sergey
28.06.2017
08:28:41
Google
Sergey
28.06.2017
08:29:02
Now back to Python python.apichecklist.com/ Полезная штука для тех, кто пишет свои библиотеки для других людей :)

Dmitry
28.06.2017
08:37:23
??

Eugene
28.06.2017
08:46:23
Смотрю тут codewars. По моему, там не хватает лайка за самое ненормальное/эзотерическое решение.

Dmitry
28.06.2017
08:47:43
Avoid hiding parameters that could be useful E.g. the API is calling another lower-level one, but it isn't exposing some useful parameters the lower-level API supports

отличный совет!!! бесит когда так делают(

Eugene
28.06.2017
08:49:25
Потому что API формируется архитектурой, если там есть маленькие кирпичики из которых можно построить что угодно, а над ними добавлены высокоуровневые конструкции для часто используемых случаев, то такая схема самая гибкая.

Andrey
28.06.2017
08:57:20
Как говорил Петр "Да бы глупость каждого видна была"

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

Eugene
28.06.2017
09:00:25
Как говорил Петр "Да бы глупость каждого видна была"
Да необязательно глупость, просто ради забавы можно делать, например, все задачи в hardcore enterprise style. :)

Dmitry
28.06.2017
09:04:34
напоминаю, что завтра митап: https://www.meetup.com/spbpython/events/240864160/

Страница 440 из 785