<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Так, что нет ответов на конкретные вопросы?<br>1. Если ли программы для сравнения?<br>2. Зачем в Perl нужен goto, если он не нужен?<br>3. Что используется вместо fork и почему?<br>5. Как в Python версии все запускается? В Perl я увидел, что при помощи EV.<br>4. Где ловле ошибок в Perl версии?</span></div><div><br></div>  <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Andrei
 <andrei.protasovitski@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Moscow.pm group <moscow-pm@pm.org> <br> <b><span style="font-weight: bold;">Sent:</span></b> Tuesday, 2 October 2012, 9:28<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Moscow.pm] Запутался<br> </font> </div> <br><meta http-equiv="x-dns-prefetch-control" content="off"><div id="yiv1032656045"><div>Толсто.</div>
<div class="yiv1032656045gmail_quote">02.10.2012 8:18 пользователь "ksvs" <<a rel="nofollow" ymailto="mailto:ksvs1996@ymail.com" target="_blank" href="mailto:ksvs1996@ymail.com">ksvs1996@ymail.com</a>> написал:<br><blockquote class="yiv1032656045gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div style="font-size:12pt;font-family:times new roman, new york, times, serif;"><div>Зрасте.<br><br>Недавно начал учить Perl и вот узнал, что в нем есть goto.<br>А препод информатики говорит, что за использование goto по рукам надо бить, а языки с ним - ушербны.<br>
<br>И че-то я засомневался. Может как все учить Python? Типа, там все круто на объектах. Но нашел в инете несколько челов, которые с Python переши на Haskell, в котором даже объекты не нужны.<br><br>Решил найти реальные проекты на Perl, Python и Haskell, и сравнить сам.<br>
Но никак не могу найти. Подсткажите, кто знает, где
 можно найти?<br><br>Нашел только Redis Sharding:<br>Python:  <a rel="nofollow" target="_blank" href="https://github.com/youngking/redis-shard">https://github.com/youngking/redis-shard</a><br>Perl:    <a rel="nofollow" target="_blank" href="https://github.com/kni/redis-sharding">https://github.com/kni/redis-sharding</a><br>
Haskell: <a rel="nofollow" target="_blank" href="https://github.com/kni/redis-sharding-hs">https://github.com/kni/redis-sharding-hs</a><br><br>И то и то не очень понятно.<br>Кажется на Python короче, чем на Perl.<br>Но на Perl как-то меньше функций и понятней. Хотя кода больше.<br>
<br>Не понятно, почему только в Haskell используется fork?<br>Ведь в Perl и в Python тоже есть fork.<br><br>А я нашел как упростить Perl версию! cmd2stream можно перписать как <br><br>sub cmd2stream {<br>    join "", '*', scalar @_, "\015\012", args2stream(@_);<br>
}<br><br>Значит Perl версия не оптимальна. Или уже такой спец. :-)<br><br>А
 как perl понимает, что scalar относиться только к @_, а не ко всему до конца строки?<br><br>Но и в Python версии я увидел тоже есть одинаковые куски: строки 80-105 в pipeline.py и строка 121-147 в shard.py идентичны.<br>
<br>И еще. В Perl функции вызывает модуль EV. А как в Python? Не вижу.<br><br>Вижу, где в Python и Haskell ловят ошибок, а в Perl не вижу...<br><br>Что-то запутался окончательно.<br>Неужели, чтобы выбрать что-то одно, надо выучить все три?</div>
</div></div><br>--<br>
Moscow.pm mailing list<br>
<a rel="nofollow" ymailto="mailto:moscow-pm@pm.org" target="_blank" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a rel="nofollow" target="_blank" href="http://moscow.pm.org/">http://moscow.pm.org</a><br>
<br></blockquote></div>
</div><meta http-equiv="x-dns-prefetch-control" content="on"><br>-- <br>Moscow.pm mailing list<br><a ymailto="mailto:moscow-pm@pm.org" 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><br> </div> </div>  </div></body></html>