[Moscow.pm] Про node.js

Alexandr Alexeev afiskon на gmail.com
Чт Окт 18 02:09:24 PDT 2012


Я люблю Haskell и ваши замечания относительно неэффективности лямбд
ранят мои чувства!

18 октября 2012 г., 12:44 пользователь Andrei
<andrei.protasovitski на gmail.com> написал:
>
>
> 18 октября 2012 г., 8:33 пользователь ksvs <ksvs1996 на ymail.com> написал:
>
>>
>>
>> ________________________________
>> From: Orlovsky Alexander <nordicdyno на yandex.ru>
>> To: Moscow.pm group <moscow-pm на pm.org>
>> Sent: Wednesday, 17 October 2012, 19:39
>> Subject: Re: [Moscow.pm] Про node.js
>>
>> Возможность манипулировать ссылками на функцию (Perl) и
>> объектами-функциями (JS) - это немного разные вещи с точки зрения того как
>> пишется и выглядит код.
>> (Как это реализовано под капотом в данном случае не важно.)
>>
>> Т.е. в том же JS  можно не заниматься разыменовыванием ссылок и получить
>> более естественно (на мой вкус, например) выглядящий код:
>>
>> function func (num) { return num+2 }
>> var f = function () { return func };
>> var s = function (cb) { return cb(5) }
>> console.log( s(f()) )
>>
>> vs
>> sub f { $_[0] + 2 };
>> my $f = sub { \&f; };
>> my $s = sub { $_[0]->(5) };
>> print $s->($f->());
>>
>> в принципе в JS не все хорошо в плане boilrplate синтаксиса как видно
>> выше, но в асинхронщине и функциональщине приятнее писать, как в первом
>> варианте
>>
>>  Мне тут недавно про goto рассказывали и про прототипы...
>> А если добавить
>>
>> sub call($@) { goto &{(shift)} }
>>
>> И переписать код выше как
>>
>>
>> sub f { $_[0] + 2 };
>> my $f = sub { \&f; };
>> my $s = sub { call $_[0], 5 };
>> print call $s, call $f;
>>
>> Так тоже работает. И выглядик красивше.
>>
>> Ура!!! Я уже крутой Perl программер!!!
>>
>
> Вызов функции довольно дорогостоящая операция. Разыменовывание ссылки тоже
> тоже занимает время. Вызов функции по ссылке вдвойне дороже.
>
> Конечно, это крутая техника, освоить её может не каждый, но на практике
> приходится несколько раз подумать, прежде чем использовать что-то подобное.
>
> --
> Andrei Protasovitski
> < andrei[dot]protasovitski[at]gmail[dot]com >
> Diemen, Netherlands
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
С уважением, Александр
Личный блог: http://eax.me/
Мой форум: http://it-talk.org/
Мой Twitter: http://twitter.com/afiskon


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