All streams
Search
Write a publication
Pull to refresh
51
0
Павел Болдин @davinchi

User

Send message
Но там (PBP), ЕМНИП, написано «распаковывайте аргументы иначе получите action-at-a-distance».
Вообще-же размер PBP удивляет.
Отлично! Дополнение в копилку к остальной тысяче способов отстрелить себе ногу в Perl.
(Я почти уверен, кстати, что этот случай описан в PBP)
Я так понимаю, что в этом случае с собой надо всегда носить контекст, а для этого нужно перелопатить кучу кода как CPython, так и его модулей.

PEP-3121, упомянутый Вами, это и предлагает.
Можно ли объявить эти static variables как threadlocal? Будет ли в этом случае работать описанная выше схема?
Требуется, что бы можно было импортировать пакет __main__ без side-effects.
Не понимаю такой боязни создания процессов. POSIX-системы их создают на каждый чих, и всё работает отлично.

Видимо, это у Вас от какой-то не POSIX операционки такой страх перед процессами, я прав?

(Это кроме того, что для решения этой задачи есть Pypy, stackless и Twisted.)
Мне так кажется, что код на Python тоже будет работать быстрее например на pypy.
А, в оригинальной статье это сделали для степеней свободы движения, а для систем с дискретным спектром это было известно давно, как и сказано в абстракте.
А разве не давно известно, что могут существовать системы с T<0?

Отрицательная температура (по определению выше), например, у системы из N битов, где энергия — сумма битов M. При определённой энергии M > N/2 (ЕМНИП) у этой системы dS/dE < 0.
Эту задачку — посчитать температуру такой системы — студентам на втором курсе дают.
Вы нарисовали картинку сами? Если нет — укажите, пожалуйста, источник.
На самом деле, Nbody и SPH вполне популярны на CUDA.
Вроде всего два диффура: \dot x и \ddot x. Это уже не говоря про то, что планеты сваливаться не будут.
Вообще говоря внутренности Perl куда хуже, чем внутренности PHP/Python. Если в последних можно разобраться за пару часов, то на внутренности Perl я убил пару недель но так и не смог запомнить всевозможных *v?V*. Поэтому ошибку в stackless (мне кажется) с нуля отследить проще.

А в Erlang так их просто меньше, поскольку весь язык заточен под многопоточный обмен сообщениями.
PDL и Inline::C сравните с ctypes/f2py в Python. Просто берёте фортран код, натравливаете на него f2py и вызываете его этот код из Python. С ctypes немного иначе — описываете аргументы функции и вызываете её прямо из C кода.
Это несравнимо проще, чем:

    use Inline C;
    greet('Ingy');
    greet(42);
    __END__
    __C__
    void greet(SV* sv_name) {
      printf("Hello %s!\n", SvPV(sv_name, PL_na));
    }


(Про Cython вообще молчу)

Аналогов Numba (http://numba.pydata.org/), видимо, нет, а жаль.
perl-CUDA не юзабелен и находится в версии 0.01 уже год.
Из всего списка, в общем, есть только OpenCL, а про вещи типа scipy/matplotlib/Theano мечтать и не приходится.
Данные бывают ещё и «числовые» и не только бинарные.
И вот тут у Perl начинаются проблемы — поскольку Perl для науки (почти) умер с появлением scipy и numpy.

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

Про сервера: и много существует многопоточных framework'ов для написания сетевого приложения на Perl? Coro, POE, Any? И какой порог вхождения в эти фреймворки?

И какова цена ошибки в этих фреймворках для пользователя — сколько времени потребуется программисту для отладки ошибки в Coro? (Вообще, Perl изнутри устроен жутко — одни имена функций его коде чего стоят)
JIT оно умеет? (Numba)
Поддерживает лёгкое написание кода на C-подобном языке? (Cython)

Есть модули для OpenCL/CUDA? (pyCUDA, copperhead) Есть модули для регрессии? (Theano)
Имел как-то спор с человеком, утверждавшим, что ядро Linux не ООП, поскольку написано на C. Аргументы типа «так же как в C++ реализовано» не действовали.
Например: если вы хотите писать многопотоковое и сетевое, то проще выучить Erlang, чем POE (даже зная Perl). Это кроме того, что в POE много ошибок.

Приведите пример Perl'а для обработки «больших массивов данных» (не текстовых).

Я заметил, что когда знаешь 5 ЯП, шестой учится проще. Поэтому для меня не проблема выбирать язык под задачу. Это кроме того что в некоторых местах язык является данностью — например, в ядре Linux.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity