<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Зрасте.<br><br>Недавно начал учить Perl и вот узнал, что в нем есть goto.<br>А препод информатики говорит, что за использование goto по рукам надо бить, а языки с ним - ушербны.<br><br>И че-то я засомневался. Может как все учить Python? Типа, там все круто на объектах. Но нашел в инете несколько челов, которые с Python переши на Haskell, в котором даже объекты не нужны.<br><br>Решил найти реальные проекты на Perl, Python и Haskell, и сравнить сам.<br>Но никак не могу найти. Подсткажите, кто знает, где
 можно найти?<br><br>Нашел только Redis Sharding:<br>Python:  https://github.com/youngking/redis-shard<br>Perl:    https://github.com/kni/redis-sharding<br>Haskell: https://github.com/kni/redis-sharding-hs<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></body></html>