[Moscow.pm] use dots

Alessandro Gorohovski an.gorohovski на gmail.com
Чт Июн 20 04:00:48 PDT 2013


Ivan Petrov <i.petro.77.00 на gmail.com> писал(а) в своём письме Thu, 20 Jun  
2013 12:47:00 +0300:

>> А вам не кажется, что точка вместо стрелочки и несколько неважны фич
>> из шестерки не та вещь, ради которой стоит напрягаться? Есть мнение,
>> что одна из основных проблем перла: убогий интерпретатор устаревший,
>> который никто толком переписать не может из-за отсутствующей спеки.
>> Шестерка кроме крутого ООП вселяля надежду, что будут различные
>> конкурентные реализации, как у руби или питона. Лично я не вижу
>> прикола ставить точку вместо стрелки: меня больше волнует
>> многопоточность.
>
> однаиз проблем перла - стековая машина, написанная во времена довольно
> давние.
> она позволяет с довольно большим трудом реализовать такую технологию
> как корутины, например. Но в общем-то реализовали в виде библиотеки,
> но в язык хорошо это интегрировать будет еще долго очень сложно.
>
> однако если сравнивать с "конкурентными реализациями", то со стороны C
> perl выглядит достаточно изящно, гибко и удобно.
>
> *пере*писать _компилятор_ Perl (изучите матчасть, кстате) конечно
> можно, но надо четко определить цели *зачем* это нужно. Повысить
> быстродействие? оно итак неплохое. Добавить фичи в язык (вроде
> корутин), вероятно это можно будет сделать меньшей кровью даже на
> стек-машине (переписав несколько аллокацию стека - для корутин). Что
> еще?
> как мне кажется Perl'у будет полезнее взять некоторые хорошие вещи в
> раздел "Стандартные модули". Например взять в этот раздел Mouse и
> AnyEvent. Монс вон давно грозится сваять AnyEvent::XS (чтобы можно
> было писать XS приложения для AE), я вот подумываю над Coro::XS,
> правда пока видимо еще не дорос до этого.
>
> насчет многопоточности.
> нормальной многопоточности нет ни в одном языке. и оно понятно.
> поскольку любой скаляр в любом языке представляет собой структуру
> данных атомарное обращение с которой в многопоточной среде без
> блокировок невозможно, то реализация потоков в любом языке упирается в
> это. путей решения тут ровно два:
>  - идти по пути изоляции потоков друг от друга (позволит сохранить
>    быстродействие)
>  - использовать мютексы/локи для каждого скаляра
>
> плюс в обоих случаях необходима реализация стека в многопоточном
> варианте. В итоге получаем всегда либо более медленную (нежели
> однопоточная) реализацию языка, либо такую, что от использования
> форков слабо отличается.
>
> как по мне, так вся эта реализация многопоточности "не нужна" (ц).
> а вот работа над корутинами дает куда бОльшие перспективы.
>
> Вы может быть лучше начнете с формулировки *для чего* вам нужны потоки
> в Perl? *что* вы хотите на них писать?

Знаю точно, что мне не нужны эти загадочные "корутины" (что это вообще  
такое)?

А потоки, понятно, --- чтобы программа на многоядерных CPU работала  
быстрее,
зачем же еще делают то эти многоядерные
:)

-- 
ANG


Подробная информация о списке рассылки Moscow-pm