<div dir="ltr"><div style>Привет,</div><div><br></div>Нету разработчиков языка. Есть волонтеры. Язык перл разрабатывается волонтерами.<div><br></div><div style>Есть Dave и Nicholas, которые получают более или менее разумные деньги по грантам, но это maintanance гранты, которые направлены на чистку кода и рефакторинг с фиксами. Почитайте отчеты этих разработчиков по грантам - очень познавательное чтиво.</div>
<div style><br></div><div style>Русурсов существующих волонтеров не достаточно. Например, сигнатуры, которые так или иначе разрабатываются, но не вошли в 5.18.0. Было решено реализовать минимальный вариант, но и с ним столько edge case'ов, что просто не хватает ресурсов все проверить и реализовать. Последний раз, когда я смотрел на пргрес, то затык был в deparse и тредах.</div>
<div style><br></div><div style>Еще пример - хотел внедрить оптимизацию следующего кода:</div><div style><br></div><div style>my %args = (</div><div style>   default => 10,</div><div style>   @_</div><div style>);</div>
<div style><br></div><div style>Сейчас (и долго еще так будет) сохраняется сначала default, а потом все из @_ в том числе повторно сохраняется default, если есть в @_. Идея оптимизации была в том что можно пройти аргументы с права на лево и избежать повторного сохранения. Оказалось, что не все так просто. Все заработало быстро для нужных мне случаев и был прирост, но оказалось, что %args может быть с магией и тогда мы обязаны использовать старый алгоритм. Потом оказалось, что аргументы в по правую сторону от = тоже могут быть с магией и нужно дернуть magic get и только слева направо - магия в perl с side effect'ами. Когда все было учтено, то прироста уже не оказалось.</div>
<div style>Пока все это дело лопатилось было найдено порядка пяти багов в edge case'ах и исправлено.</div><div style><br></div><div style>На данный момент на достаточно что-то придумать грандиозное для perl core и кинуть это в p5p - авось кто-то реализует ведь это так круто. У существующих волонтеров есть список на года вперед. Чем больше пишешь, тем больше список. Включат ли вашу реализацию тоже вопрос. Если вы не поставляете улучшения на регулярной основе, то возникает вопрос о поддержке вашего решения существующими силами. В таком случае любое решение, которое парллельно не упрощает код, которое содержит большое количество потенциальных edge case'ов, которое нужно кому-то поддерживать, становится менее ценным и эти скидки могут просто обесценить всю мега крутость.</div>
<div style><br></div><div style>Не все так плохо, например я собираюсь сделать следующий синтакс доступным в 5.20:</div><div style><br></div><div style>my %sub_hash = %hash{'qwe', 'asd'};</div><div style><br>
</div><div style>Патч уже есть и тему не забраковали сразу на корню.</div><div style><br></div><div style>Одна из проблем разработки новых фичей - это огромная комплексность любого мало мальского изменения, а если чуть по сложнее вещь, то комплексность растет экспоненциально. Например тема о том как должны всети себя сигнатуры с ограниченым числом принимаемых аргументов, когда функции передано больше аргументов чем нужно, породила отдельный тред на 20+ писем. Так же и с другими моментами. Чтобы сейчас понять суть решений в наиболее актуальной реализации сигнатур нужно перелопатить сотню другую тредов, а эта реализация только примитивного варианта с потенциалом для дальнейшего развития. Если вы даже захотите помочь, то у вас возникнет куча вопросов, а ответы где-то там в списке рассылке.</div>
<div style><br></div><div style>Одно из возможных решений, которое я вижу - это хорошее документирование обсуждений в виде описания ситуаций, предложеных решений и причин выбора финального решения. Наверное это называется software blueprints. На это тоже нужны волонтеры, какая-то платформа для удобного администрирования и так далее и тому подобное. Такие документы может вести любой, нужно время и заинтересованость. Это поможет избежать расплытию тредов, когда поднимаются повторные вопросы и замусоривают текущие темы. Поможет любому желающему узнать статус фичи, понять план и скорее всего снизит порог необходимый для оказания помощи в разработке.</div>
<div style><br></div><div style>Как-то так оно. Мое личное мнение.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/21 Анатолий Шарифулин <span dir="ltr"><<a href="mailto:sharifulin@gmail.com" target="_blank">sharifulin@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Именно, и от этого грустно.<div class="HOEnZb"><div class="h5"><span></span><br><br>On Tuesday, 21 May 2013, Andrew Shitov  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">По-моему, сегодня главная проблема — нежелание разработчиков языка<br>

что-то менять.<br>
<br>
2013/5/21 Михаил Монашёв <<a>postmaster@softsearch.ru</a>>:<br>
> Здравствуйте, Dmitry.<br>
><br>
>>> Кто-то говорит, что Perl вымер, мол не отвечает современным требованиям<br>
>>> веб-разработки.<br>
><br>
>>> На мой взгляд, есть в этом доля правды.<br>
><br>
>> а можно поподробнее об этом?<br>
><br>
> Олег Бунин об этом писал в этой рассылке. Он мало пишет. Легко найдёте<br>
> его письмо.<br>
><br>
> --<br>
> С уважением,<br>
>  Михаил                          mailto:<a>postmaster@softsearch.ru</a><br>
><br>
> --<br>
> Moscow.pm mailing list<br>
> <a>moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br>
<br>
<br>
--<br>
Andrew Shitov<br>
______________________________________________________________________<br>
<a>andy@shitov.ru</a> | <a href="http://shitov.ru" target="_blank">http://shitov.ru</a><br>
--<br>
Moscow.pm mailing list<br>
<a>moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</blockquote><br><br></div></div><div class="HOEnZb"><div class="h5">-- <br>С уважением,<br> Анатолий Шарифулин.<br>
</div></div><br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Best regards, Ruslan.
</div>