2014�N06��25��

�����̂Ȃ�JavaScript�Ɣ񓯊���Erlang

JavaScript�͂����D�������𒴂��āA�Œ���̓ǂݏ����͂��͂⋳�{���x���Ƃ����Ă������߂��ł͂Ȃ��Ǝv���܂��B�u���E�U���肾�����瑼�̌��������܂����A�u���E�U�ŕW���Ŏg���錾���JavaScript�ȊO�ɂ͑I�����͂���܂���B3DCG�n�̃c�[���̃}�N������͖�����Python���g�b�v�V�F�A���Ǝv���܂����AFlash, Photoshop, Illustrator�̎d��������������}�N�������JavaScript�ł���ˁB���Apple��OS X�̎����o�[�W�����̎������c�[�����Ǝ�����ɉ�����JavaScript���T�|�[�g���邱�Ƃ𔭕\���܂����B�T�[�o�T�C�h�Ŏg����node.js�́A�R���p�C������������΃g�b�v�N���X�̐��\�ł��BQt��QML�Ƃ���JavaScript�𒆐S�Ƃ����J���𐄂��i�߂Ă܂����AQt4���ォ��Qt�A�v���̃}�N������Ƃ��Ē񋟂���Ă���QtScriptEngine��JavaScirpt�ł��Bnode WebKit�Ƃ���GUI�‹�������܂��BCocos 2d-x��JS�o�C���f�B���O�Ƃ�����񂪑�R�o����Ă܂���ˁB.net�������o�[�W��������JavaScript�̃R���p�C�����‚��Ă܂����BUnity�Ŏg����Ƃ����^�t��JS�͂���Ȃ̂��ȁH�u���E�U����f�X�N�g�b�v�A�T�[�o�A�X�}�[�g�t�H���A�Q�[���ɂ�����܂Ő��͂��L���Ă��܂��B�n�[�h�E�F�A�܂ōL���낤�Ƃ��Ă��܂��B

�ŁAJavaScript�Ƃ����Ƙb��ɂ悭�o�Ă���̂��񓯊��̃v���O���~���O�ł��B�u���E�U��node.js�ł́A�R�[���o�b�N�̗��ɂȂ�Ƃ悭����ꂽ���̂ł��B����ɑ΂���\�����[�V�����͂����‚�����A�l���g�������Ƃ�����̂�async.js�ƁA����JavaScript�ɓ��邱�Ƃ��m�肵�Ă���Promise�ł��B

Future�͂ǂ��ցH

Promise�Ƃ������t�𕷂��āA�@���̂����l��Java�̕W�����C�u������Future/Promise���v���o���Ǝv���܂��BFuture/Promise���ŏ��ɍl�Ă����̂͒N���A�Ƃ����̂͂悭�킩��Ȃ������̂ł����A1976, 77�N�����肩�炱�̖��O���g���n�߂��Ƃ̂��Ƃł��BPromise pipeline�Ƃ��̂����X�̃A�C�f�B�A�ŁA����Ӗ��A�v���O���~���O�ˑ��֌W�̂���^�X�N�Ɋւ���������݂����Ȃ��̂ł��B

�A�C���V���^�C���̎q���̍��̈�b�ŁA�Z�t�����Ă��邨�����񂩂�u�������Ƃ͂��邢�����B���m�̒l���킩�������̂悤�ɋL�q���āA���Ƃ��炻�̖��m�̒l�����‚���v�I�Ȃ��Ƃ�����ꂽ�A�Ƃ����̂�́A�{�œǂ񂾂��Ƃ�����܂����AFuture/Promise�͂���Ɠ����ł��B�v���O���~���O�̏���������Ƃ��ɁA���O�ɕK�v�ȃf�[�^���������Ƃ��܂��B���͂��̃f�[�^�͎茳�ɂȂ��̂ł����AFuture�Ƃ������̂����̒l��m���Ă���Ƃ݂Ȃ��ď����������܂��BPromise�͂���Ƒ΂ƂȂ�l�����ŁA���̒l��񋟂���Ƃ����񑩂ł��B�f�[�^�������ł�����Promise�Ɍ_�񊮗���`���܂��B���Ƃ́APromise pipeline�Ƃ����d�g�݂��ˑ��֌W���X�}�[�g�ɉ������A�v���O����������������Ȃ��Ŏ��s�ł���悤�ɂ���A�Ƃ����d�g�݂ł��B

Scala�Ȃǂ́AFuture������Ă���Ƃ���܂ŏ���������A���̃^�X�N�ɏ������񂵂�Promise����������܂ő҂‚݂����ł��B���܂ǂ��̃v���O�����͎��Ԃ�������^�X�N�Ƃ����̂̓f�B�X�N�A�N�Z�X��������A�f�[�^�x�[�X��������A�l�b�g���[�N�ŏ�������Ă�����A �O���̏����̊�����҂‚Ƃ����̂��唼�ł��BFuture/Promise���񓯊��̑҂����킹�Ȃ̂ŁA���̂悤�ȑ҂����Ԃ𖳑ʂɂ��Ȃ����߂̔񓯊��̑҂����킹�Ƃ��������悭�A���R�Ɠ����ł��܂��B

�ł����AJavaScript��Promise�ɂ�Future�Ƃ������͓̂o�ꂵ�܂���BJavaScript��Promise�́Arequire�ȂǂƓ��l�ɁA�T�[�o�T�C�h��JavaScript�̎d�l�𓝈ꂵ�āA�����̑��̌���Ȃ݂�JavaScript�����͂Ȍ���ɂ��悤�Ƃ���CommonJS�̊����̒��Œ�`���ꂽ�Ƃ����̂��l�̗����ł��B�Ȃ�JavaScript�ɂ�Future���Ȃ��̂��͂����Ƃ��̒��ɂ���͂��B���������APromise�̃g�b�v�y�[�W�̗��������āA��ԌÂ��y�[�W���̂����Ă݂܂��傤�B���������͂킩��܂����ˁBJavaScript��Promise�̌��́APromise pipeline����Ȃ���ł��BDojo�̃��C�u�����ɂ������A������x��������Deferred�̖��O���ς�������̂Ȃ̂ł��B�ŁA����Deferred���ǂ����痈�����Ƃ����ƁA�R�����g�ɂ���MochiKit�Ƃ̂��ƁBMochiKit��Python�ɃC���X�p�C�A���ꂽ���C�u�����ŁAprototype.js��������Ă�������̃��C�u�����ł��BPython�ł��L����Bob Ippolito���J���������̂ŁAPython���̃E�F�u�A�v���P�[�V�����t���[�����[�N��Turbo Gears�̍ŏ��̃o�[�W�����Ńo���h������Ă܂����B����MochiKit�́APython�ő�ʂ̕��񏈗������΂����߂̃��C�u�����ŁAO'reilly�{�̕\�����L���C���ƂŗL�� ��Twisted�����ɂ��Ă��܂��B�‚܂�AJavaScript��Promise�̐�c��Promise pipeline�ł͂Ȃ��APython��Twisted�������Ƃ̂��ƁBFuture��JavaScript�ɂȂ����R������Ŗ��m�ɂȂ�܂����ˁB

�����ɂ́ADeferred���������̂�Promises/A�Ƃ������O�̃O���[�v�ɑ����܂��BCommonJS�̒��ł����‚��̎�ނ�����̂ł����A�ŏI�I��JavaScript�Ƀ}�[�W���ꂽ�̂͂���ɏ����@�\���lj����ꂽPromises/A+�ɂȂ�܂��B

�񓯊��̊J���ő�ςȂ̂́A��������̓����܂��񓯊��ȃ^�X�N�𐧌䂷�邱��

JavaScript�ɂ́Aasync.js�Ƃ������C�u����������A������񓯊��������₷��������̂ł��B�������A�����̐���������ƕς�����Ƃ��̏ꍇ�Ɋ֐��I�u�W�F�N�g�̃p�����[�^������Ď��S�݂����ȃP�[�X�����\�N���₷���A��K�͂ɂȂ��Ă���ƌ��\�������ł��B���ƁA�d���R�[�h��async.js����Promise���g�����R�[�h�ɏ��������Ă���r���ł����A����2�‚̔񓯊��^�X�N���䂪������ƌ��\�‚炢�BPromise�̃��C�u�����Ƃ��ẮABlueBird��ABlueBird�ɂ����‚�async.js���ۂ��@�\�𑫂����ADeNA West����Thrush��������g���̂��������߂ł���B�l�C�e�B�u�̂͂܂���������Đ󂭁A�����_�ł�(node --harmony�Ƃ���ׂ�)�x���`�}�[�N������BlueBird�̕��������炵���ł��B�����ɂ́Anodeify�Ƃ�promisify�Ƃ��������\�b�h�������āAPromise�Ɉڍs���ŁA�R�[���o�b�N�x�[�X�̃R�[�h���c���Ă���ꍇ�ɁA������API�Z�b�g�̋��n�������Ă���܂��B�܂��APromise�̕������f�����Promise�I�u�W�F�N�g��return���Y��Ĕ񓯊��҂�����Ȃ��āA�e�X�g�R�[�h������Ƀ��j�b�g�e�X�g��after�u���b�N����Ɏ��s���ꂿ����āAsinon�̃X�^�u����������ăe�X�g�ʂ�Ȃ������A�݂����Ȃ̂���������͂��܂����A������̕���async.js�����y�����ȁE�E�E

async��go�ɈڐA����Ă�����A�Ƃ������񓯊��������̂͂���ς�葱���^�����ʓ|�A���낢����P�������I�Ǝv���Ă���v���O���}�������̂����󂩂Ǝv���܂��B����go���񓯊��E�ł͍ŋ߃u�C�u�C���킹�Ă��錾��̈�‚ł����A�񓯊����ʂɎg���ƁA������Ə�ʂł����𐧌䂷��X�[�p�[�o�C�U�[���~�����Ƃ��v���Ă��܂��炵��(������@moriyoshi�k)�B�񓯊��Ƃ����ƍŏI�I�ɂ��‚����X�{�X�̂悤�ɏo�Ă���Erlang�BErlang�͌���Ƀ��b�Z�[�W�p�b�V���O���g�ݍ��܂�Ă��āA�����}�V�����ł��A�O���̃}�V���ł������悤�ɒʐM�ł��܂��B�֐��^�ł悭����p�^�[���}�b�`�Ƒg�ݍ��킹�ăV���v���ɕ\���ł��܂��B�����āAOTP�ƌĂ΂�郉�C�u�����ŁA�X�[�p�[�o�C�U�[���������Ă��܂��B����Erlang�Ɋւ���600�y�[�W�̕������|��������Erlang�䂩���Ɋw�ڂ�! ���o�ł���܂��B���Ȃ݂ɁA���̃G���g���[�A�����܂ł��O�����ł��B

������Erlang

�uErlang�͂������̂͂悭�������ǁAErlang�͂�����ƁE�E�E�v�Ƃ����l�͑����Ǝv���܂��BErlang�Ƃ����ƁA�Ɠ���(C++�Ƃ�Java�Ƃ�LL�n������g���Ă����l���炷���)���@�Œm���܂��B�񓯊��Ńv���O�����̍\�����傫���ς��A���@�܂ő傫���ς�邽�߁A�Ȃ��Ȃ��肪�o�Ȃ��̂�����Ǝv���܂����A���̖{�͎葱���^�̌���̃o�b�N�O���E���h���������l�����ɒ��J�ɏ�����Ă��܂����A�|������������J�ł��B�ȑO�̃u���O�ŁA�֐��^���L�߂�ɂ́A�֐��^�ł����ł��Ȃ����ƁA���₷�����Ƃ�PR���悤�Ə����܂������A���̖{�́u�֐��^���Ă悭�������ǁA�悭�킩��Ȃ��ȁv�Ƃ����l�ɂ��ǂ��Ǝv���܂��B�֐��^�̃v���O���~���O���ŏ��̃X�e�b�v�ɂ��āA��������Erlang���ۂ��v���O���~���O�ɋ߂Â��Ă����钚�J�Ȗ{�ł��B���@�����łȂ��AErlang�����A���܂��܂ȊJ���x���c�[���܂Ŗԗ�����Ă��܂��B

�܂��A���r���[�A�w���A�l�݂����ȎG�����̂����āA���{��Erlang�E���\����悤�ȕ��X�ł��B�l�͉p���O'reilly�{�ƁA��s�@�{��Ў��Project Euler��������肵�����炢�ł����A���̐l���i�߂Ă���̂ŋ؂��ƂĂ��ǂ��{�̂͂��ł����A�l���ǂ�ł��������������₷���Ɗ����܂����B

�������A���ʂ����܂�ɂ������A�����̏o�Y�ƃ��r���[�������d�Ȃ��Ă��܂��A�ŏ��̕������ǂ߂Ȃ��Ĉꕔ�����v���ł����A�ł����B���݂܂���ł����B���l�тɖ��̎ʐ^���ꖇ�\���Ă����܂��ˁB��`���������Ȃ߂ł����A���̒�JavaScript�Ȑl�̕����l���͑����Ǝv���̂ŁAPromise�ɂ‚���Erlang�ɂ������������Ă��炦����ǂ��Ȃ��A�Ǝv���Ă��܂��B���A�������œ��{�ɋA�C�ɂȂ�܂��B�T���t�����V�X�R�̕��X�A�Ō�܂Ńo�^�o�^���Ă������ł����A�Ɏf���Ȃ��Đ\����Ȃ��ł��B�܂��R�[�h�����ăR�~�b�g�����肵�Ă��܂��B�d���͂��Ž��܂�̂��E�E�E

Untitled
posted by @shibukawa at 16:48 | TrackBack(0) | ���L ͂ĂȃubN}[N - ̂ȂJavaScriptƔ񓯊Erlang
���̋L���ւ̃g���b�N�o�b�NURL
http://blog.sakura.ne.jp/tb/100463079
���u���O�I�[�i�[�����F�����g���b�N�o�b�N�̂ݕ\������܂��B

���̋L���ւ̃g���b�N�o�b�N
�����{�b�N�X

Twitter

www.flickr.com
This is a Flickr badge showing public photos and videos from shibukawa.yoshiki. Make your own badge here.
<< 2019�N02�� >>
�� �� �� �� �� �� �y
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28    
�ŋ߂̋L��
�J�e�S��
�ߋ����O
Powered by ̃uO