Pull to refresh
0
0
synthesis @synthesis

User

Send message
Знание оператора запятая это, конечно, хорошо. Но если вместо

return colors[colorIndex++] || colors[colorIndex = 0, colorIndex++];

вы напишете

return colors[(colorIndex++) % colors.length];

то тот, кто будет поддерживать этот код, будет реже вспоминать вас матом.
<...>для оценки эффективности выполнения НИР по теме «разработка алгоритма распознавания печатных кириллических символов»

Зачет-то хоть получили? :-)
Казалось бы, какое отношение байткоды CPython имеют к альтернативным реализациям?

docs.python.org/library/dis.html: Bytecode is an implementation detail of the CPython interpreter!

Процесс, если интересно, можно посмотреть в файле compile.c
Автор использует дырявый, неподдерживаемый и нерекомендуемый модуль rexec. Например:

socket_class = object.__subclasses__()[XXX]  # Число вырезано из соображения безопасности
socket = socket_class()
socket.connect(('google.com', 80))
socket.send('GET / HTTP/1.0\r\n\r\n')
print socket.recv(4096)

Что-то не нашел как связаться с автором. Если кто может, то напишите ему, пожалуйста, пока не начали через него спам рассылать или еще чего похуже.
Очевидное решение, именно то, которое я встречал чаще всего, когда только начал заниматься этим вопросом, состоит в полном отказе от исключений в таких callback`ах. Но это, вестимо, не наш случай.


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

Это не совсем верно.

Проект практически завершен. Но пятикратного увеличения, на которое расчитывали, добиться не смогли — только ~1.5. GIL тоже никуда не делся. Зато возросло потребление памяти и уменьшилась скорость запуска. Подробнее в презентации на PyCon2010.

Проект будет влит в CPython 3.3-3.4 (PEP). Сейчас доработка ведется в бранче py3k-jit.
Не приведете пример ваших математических задач или задач на программирование?
То, что человек «хорошо кодит на си» совсем не означает, что он способен разработать, скажем, новый алогоритм для joins в RDBMS.


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

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

$(«table td»).live() найдет все td и повесит на document обработчик. Сами найденные td ему не нужны, но их поиск может занять много времени.
$(«table»).delegate(«td») будет искать только table.
{% if var|divisibleby:2 %}
{% endif %}
blockquote не объявлен устаревшим ни в одном из существующих стандартов. Да и семантически его нечем заменить. Объявлено устаревшим его не семантическое использование для создания отступов.
Ему и не надо быть объявленным во всех. Достаточно того, что он объявлен в Text Module www.w3.org/TR/xhtml11/xhtml11.html#s_doctype
Это не отменяет необходимости возможности выбора.
Конечно пробовал.

Да и в исключении ясным английским языком написано в чем ваша ошибка.

>>> class A(object): pass

>>> class B(object): pass

>>> C = type('C', (A, B), {})
>>> c = C()
>>>

Ну и такой вам тонкий намек: «classic classes» и модуль new — deprecated и в питоне 3 удалены.
Если бы еще и submit можно было под инпуты выровнять, то вообще прекрасно было бы…
www.picamatic.com/show/2009/07/15/05/28/4448772_349x115.jpg
Про метапрограммирование в статье как раз мало чего. Она толи о __dict__, толи о том, что все методы не более чем обычные функции с дополнительной обвязкой, толи еще о чем-то…

На мой взгляд автору следовало бы раскрыть какой-нибудь один вопрос, но подробно. А получилось «Ухты, вот так можно. А я еще знаю, что и вот так можно, и вот так».
Можно же.

С = type('NewClass', (A,B), {})
с = С()
Статья интересная, спасибо.

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

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

Information

Rating
Does not participate
Registered
Activity