By plushoff under CC BY-NC
�R������A�uJava�J���҂̂��߂̊��v���O���~���O�v�̓d�q���{�����������܂����B���肪�Ƃ��������܂��B�d�q���Е֗��ł��ˁB�A�����J�ɂ��Ă����{��̖{����ɓ���I�������A���������Ȃꂽ���{��ɂȂ��Ă��邵�A���߂���������ēǂ݂₷���ł��B�d���̂ł���j�̕��i�������܂��B
�t�H�[�}�b�g ePub
- �{�l�̃u���O: http://ymotongpoo.hatenablog.com/entry/20120621/1340233739
- �I���C���[�̏��Ѓy�[�W: http://www.oreilly.co.jp/books/9784873115405/
���̖{���y�����ǂ�ł����Ƃ���A�R������ʂ̖ʔ��������N�������Ă��炢�܂����B
- Why OO Sucks (�Ȃ��I�u�W�F�N�g�w���̓N�\�Ȃ̂�)
Erlang�̊J���҂�Joe Armstrong�̋L���ł��B�{���͂�������ycombinator�̋c�_(http://news.ycombinator.com/item?id=4245737)���S���ڂ�ʂ������Ƃ��낾���ǁA�܂������܂ł͓ǂ߂Ă܂���B
���g�Ɋւ��Ă͓��ӂł���Ƃ�������邵�A�����ˑ����Ȃ��Ǝv���Ƃ��������܂����A�Ō�́u�Ȃ��I�u�W�F�N�g�w�����l�C�ƂȂ������H�v�Ƃ����_�́uJava�J���҂̂��߂̊��v���O���~���O�v�ƃN���X�I�[�o�[���邱�Ƃ�����A�������䂩��܂����B�܂��A������̒��g�Ɋւ��Ă�100%���ӂł͂Ȃ��̂ŁA�l�Ȃ�̍l���Ȃ���܂Ƃ߂����Ǝv���܂��B
���^����n�̐l�͓��R������̕����D��Ă���A�����₷���ƌ������Ƃ������܂��B�p�t�H�[�}���X���ǂ��A�����e�i���X���������A�R�[�h���Z���Ƃ��B�l���ǂ��炩�Ƃ����Ɗ��^���ۂ����ŃR�[�h�����������Ƃ�����(��������Erlang��Project Euler�Ƃ��A���͖S��JustSystem��xfy�Ńv���g�^�C�v�̃A�v���P�[�V�������������)�̂ŃC���[�W�͕t���܂����ATIOBE�X�R�A�Ƃ��ł�OO�n���嗬�����A���̌����p���_�C���ŕ�����Ȃ��������Ă���l�ȊO���������ɂ́A�����咣�������قNjt���ʂ���ȁA�Ƃ����v���Ă��܂��BErlang�͂����ƑO����(�O�E����)�d���Ŏg���Ă݂����Ǝv���Ă��邯�ǁA�������Ȃ��Ȃ����l������ł��Ȃ��ł����ˁB
�u����̗D��ƁA���s�������ǂ����͒��ڂ͊W�Ȃ��v�u�^�C�~���O�����v�Ƃ����̂��l�̍l���ł��B�����łȂ��������uJavaScript�Ȃ�ă_�Z�[��ȁ[�v�u�ƋA����Smalltalk/Lisp���[�v(����ꖱ��CM����)�Ƃ�����b�𒆊w���Ƃ������Ă���͂��ł�����B�٘_�┽�_�����낢�날��Ǝv���܂����A�l�Ȃ�ɃI�u�W�F�N�g�w�������s�����Ƃ�������v�����܂Ƃ߂Ă݂܂����B
OO�͂Ȃ����s�����̂��H
GUI�ƃI�u�W�F�N�g�w��
C++���g���n�߂Ă�������(1990�N��)�́AC�������������g���Ă��܂����B���̎���̓R�}���h���C���̐��E����GUI�ւƃV�t�g������A�I�u�W�F�N�g�w����C++�͋P���Č����܂����B
C�̐��E����C++�̐��E�ɍs���A�v���~�e�B�u��Windows API�ł͂Ȃ��AMFC�̂悤�ȍ��x��GUI���C�u���������p�ł�������ł��B�v���~�e�B�u��API��@�����ꍇ�A�E�C���h�E��\������̂ɂ���ʂ̃R�[�h���K�v�ł����BMFC�ȊO�ɂ��ADelphi��C++ Builder�Ȃǂ̃I�u�W�F�N�g�w���ō��ꂽ��i�I��GUI���C�u����������������܂����B�܂��A�ۂ��ۂ��\��t���Ă�����ƃR�[�h�����������ŃA�v���P�[�V�����������邱�Ƃő嗬�s����Visual Basic���I�u�W�F�N�g�w�������ɂ��Ă��܂����B
C����ł�GUI�͍��܂����BWindows API��AXLib�������ł��B��w��C����ƁA�������ȃI�u�W�F�N�g�w���݂����ȃq�G�����L�[�����������܂����B
�������A���^�ł�GUI�͍���ł��傤�B�O�q��xfy�������ł����A���ł�wxErlang�Ƃ�������܂��B�ł����A���̎���͂ǂ̎G�������Ă��A�{�����Ă��A���x�ȃ��C�u�����́u�N���X���C�u�����v�ƌĂ�āA�I�u�W�F�N�g�w���Ńf�U�C������Ă��܂����B
�A�W���C���ƃl�b�g�ƃI�u�W�F�N�g�w��
2000�N�O��ɂȂ�ƁAC++��Visual Basic�ADelphi����������g���Ă��܂����B���̎���͐��E���C���^�[�l�b�g��A�W���C���ւƃV�t�g������A�I�u�W�F�N�g�w����Java���P���Č����܂����B
C++�̐��E����Java�̐��E�ɍs���A�����Ƃ�Tips��ǂ���������AIBM���̋��僉�C�u������������ăC���X�g�[������K�v���Ȃ��A�X���[�Y�ɃX�^�[�g�ł��܂����B������Turbo Linux��Vine Linux�ȂǁA���{�ꂪ�g����Linux�̃f�X�N�g�b�v���̃C���X�g�[�����ȒP�ɂȂ�A�Ɩ���Linux�Ƃ����b�肪�o�n�߂���Ai���[�h�A�v���Ȃǂ��o�Ă�����A���E�����l�ɂȂ��Ă��܂����B
�����ăA�W���C���ł��B�{��XP�̃X�^�[�g(C3�v���W�F�N�g)��Smalltalk�ł������A���{�ł�Java�ƂƂ��ɍL�܂�܂����BJUnit��CppUnit�Ȃǂ����ȒP�ł����B���t�@�N�^�����O�{�ł�Java�̃R�[�h���Y��ɂ�����@����������Љ��܂����B�f�U�C���p�^�[���{���A����_�����Java�ł̕�������Ă����炵���ł�(�`���Ȃ�Ŋm�͂Ȃ��ł���)�BJava�n�̎G���ł͂��̎�́u�V�����v�b�肪���ӂ�Ă��܂����B���̎���A�A�W���C���͂ƂĂ��P���Č����܂����B���̃A�W���C���̐��E�ɓ���ɂ́A������I�u�W�F�N�g�w���Ƃ����`�P�b�g���K�v�Ɠ��R�̂悤�ɂ݂Ȏv���Ă��܂����B
C++�͂ǂ��炩�Ƃ����ƁA���C�u�����v�҂̕��Ɍ������Ĕ��W���ċ@�\�𑝂₵�Ă��܂����BJava�͂��̋t���̃X�^���X�����A�W�����C�u�������ʂɂ��낦�A�t���[�����[�N��p�ӂ��A�u���C�u�������g���v����̐l���命���ł���A�Ƃ����X�^���X�Ŕ��W���܂����B
�������A���^�ł��e�X�g�쓮�J���͂ł��܂��B����p���Ȃ������₷���ł��傤�BJUnit�Ȃǂ̃t���[�����[�N�́A�u�Ɨ����̍����e�X�g�v���������邽�߂̘g�g�݂ŁA�I�u�W�F�N�g�w���̌��_������������̂ƂȂ��Ă��܂��Bprivate���ǂ��e�X�g����̂��H�Ƃ��������Ƃ��A�W���C���R�~���j�e�B�ł͂悭�c�_����Ă��܂����B
�E�F�u�A�v����LL�ƃI�u�W�F�N�g�w��
2005�N�O��ɂȂ�ƁAJava����������g���Ă��܂������ALightweight Language�Ƃ������̂����Ȃ�̐����ōL�܂��Ă��܂����B���̒��ł��A���{�ő����̌ٗp�ݏo�����̂��APerl��PHP��Ruby�ł��B �ȒP�ȃe�L�X�g�����̂��߂̌���͌Â�����ǂ��g���Ă��܂����BAWK�͖l���A�}�`���A�����̃��O�̏����Ŏg�������Ƃ�����܂��B2000�N����ɂ�CGI�Ɗ֘A������ʂ�Perl�{������ł��܂����BC�}�K�W���̘A�ڂŁAYukiWiki�����āu�E�F�u�̐��E�͂���Ȗʔ������̂�����̂��[�v�Ǝv�������̂ł��B�C���^�[�l�b�g�̃v���o�C�_�ƌ_���10MB���炢�̃E�F�u�T�C�g�̃X�y�[�X�����炤���Ƃ��ł��ACGI��SSI���g���Γ��I�ȃT�C�g�����܂����B�����A��҂͒���Ȃ��Ƃ���������A�܂��f���X�N���v�g�Ȃǂ��t���[�Œ��ꂽ���Ƃ�����ACGI���������p����܂����B �l�͂��܂����ǂ������ĂȂ������̂ł����ACGI�̉����ŁARDB���g�����{�i�I�ȃE�F�u�J����PHP�������g����悤�ɂȂ����Ǝv���܂��BPHP�͑��̌����m���Ă���l����͂悭���������܂��B�l�͎g�������Ƃ��Ȃ��̂ŋ�̓I�Ɉ����|�C���g�͌����Ȃ��̂ł����A�C�y�Ƀf�[�^�x�[�X�𗘗p�����E�F�u�A�v���P�[�V�������J�����邱�Ƃ��ł��܂����A�h�L�������g������ƁA�Î~��̓��I������AFlash�̃��[�r�[���������ނ��߂̋@�\�Ȃ�����܂��B�u���������T�C�g����肽���v�Ǝv���f�U�C�i�[�̐l����݂�ƁA���ɖ��͓I�Ɍ�����Ƃ������܂��BLL�E��Visual Basic�ƌ�����Ǝv���܂��B
Ruby���̂��獪�����l�C������܂������ARuby on Rails���o�Ă���́A���̌��ꂩ���芷���Ƃ����P�[�X���������悤�Ɏv���܂��B�V����e���r�̔}�̂Łu���r�[�v�Ƃ����������o���I�uMatz�]�s�I�v�Ƙb��ɂȂ邱�Ƃ������Ă��܂����BRuby�͂������̂��ƁA����LL����{�I�ɂ̓I�u�W�F�N�g�w���̃p���_�C���R�̂悤�Ɏ�荞��ł��܂��B
Java�ł��E�F�u�A�v���P�[�V�����̊J���͂ł��܂������A���ċƖ�������Java�̕����b��̒��S�ł����BJava�̓N���X�w��������ɐ����i�߂āA�R���|�[�l���g���ʂɑǂ��܂������A��`�R�[�h����ʂɑ�������AJava�̃t���[�����[�N���g���ƃX�^�b�N�g���[�X���ُ�ɒ����I�Ƃ����摜���o������肵�܂����B���ł�Scala�Ȃǂ������āA�V�K�J����Pure Java�ŃE�F�u�̃V�X�e������邱�Ƃ��b��ɂȂ邱�Ƃ͂��܂�Ȃ��A�ŋ߂͑��̌���̂��߂�JIT�̌������s�����AAndroid��Jenkins��Hadoop�̂��߂̎��s����������Ă���t�V������܂��B
JavaScript�ƃI�u�W�F�N�g�w��
�������N�́A�N���C�A���g�����T�[�o�����ǂ�����������JavaScript���b��ɂȂ��Ă��܂��B
�E�F�u�u���E�U�̃N���C�A���g�̃v���O���~���O�Ƃ����ƁAJavaScript�ȊO�ɂ��A�����Ȍ��ꂪ�g����Silverlight��AFlash��ActionScript������܂����A�X�}�[�g�t�H���̍L�܂��������JavaScript��������W���ƂȂ��Ă��܂��BDHTML�ƌ����Ă����Í����ォ��Ԃ�炢������������prototype.js�ł��傤�B���j���Google Map�����������ƌ����邱�Ƃ������ł����A���ۂɃG���W�j�A����ɂƂ��ăR�[�h�����������悤�ɂȂ����̂�prototype.js���炩�ȂƎv���Ă��܂��Bprototype.js�́u�I�u�W�F�N�g�w������v�Ƃ��Ă�JavaScript�̖��͂�⊮������̂ł����B���̌�͂��̒n�ʂ�jQuery�ɖ����n���܂������ABackbone.js�ȂǁAJavaScript�⊮�v��͂܂������Ă��܂��B
HTML5�͂����ŋ߂̃z�b�g�Șb��ł��傤�B�����b�������Ă܂��܂��b���������Ă��ꂻ���ł��B�����AHTML 5�Ƃ������O�ł����ACSS3�ȊO��90%�̘b���JavaScript�ł��BAPI�͊�{�I�ɃI�u�W�F�N�g�w���H���ł��B�܂��AECMA Script 5�ȂǁAJavaScript���̂̃o�[�W�����A�b�v���b��ɂȂ�悤�ɂȂ�܂����B�T�[�o�T�C�h��JavaScript���AV8�G���W���̃I�[�v���\�[�X������node.js�ƂƂ��ɍL�܂��Ă��܂��B
���s�̍\��
�I�u�W�F�N�g�w�����L�܂��ĕ��Չ����Ă����X�e�b�v���l����ƁA���̂悤�ȍ\���������Ă��܂��B
�����鐢�E�ƁA���̐��E������܂��B���̐��E�̊Ԃ͕s�C���̒J�Ƃ��F�X�}�[�P�e�B���O�p��Ő������ꂽ���������̂��Ǝv���܂��B���̐��E�̒��ɂ͍ŏ�����q�G�����L�[������A�u�������V�������E�v�Ɓu����ڂ��V�������E�v������܂��BGUI�̎���ɂ́u�E�B���h�E�Y��̐V�����������������i�������ς��g���āA������GUI����낤�v�Ƃ������ꂪ����܂����B�u�������̌���ł͂����GUI�����邼�v�u�������̃t���[�����[�N�ł͂���Ȃ��Ƃ��ł��邼�v�Ƃ����̂��b��̒��S�ɂȂ�܂����B�A�W���C���̎���́A�uXP�̃v���N�e�B�X�������H�ł���̂��H�v�Ƃ����̂��b��ł����B�Ȃ��Ȃ�����̊������Ɏ��炸�A�J���ҒP�Ƃłł��郆�j�b�g�e�X�g�ƃ��t�@�N�^�����O�~�܂�Ƃ����l�����������̂ł����A�u�d���ŃA�W���C�����Ă���v�l�͖{���Ƀq�[���[�ł����B
���̂悤�ȍ\�����ł���ƁA�l�͎��̐��E�ɓn��R�X�g�����A���̐��E�łǂ���ɏオ���Ă������Ƃ������Ƃɒ��ڂ��āA���̐��E�ɓn��R�X�g���C�ɂȂ�Ȃ��Ȃ�܂��B�q�������̗��s�������ł���ˁB�~�j�l��̎���͂����ɑ������邩�ŁA�����Ă��ē��R�Ƃ��������ł����B�r�b�N���}���⃀�V�L���O��u�A���h�x���[���A�ǂꂾ���������V�[��/�J�[�h�������Ă��邩���厖�ŁA���������Ă��邩�����Ă��Ȃ������b��ɂȂ邱�Ƃ͂���܂���B��l�̗��������ꍇiPhone���u�ǂꂮ�炢�����������v�Řb��ɂȂ�܂�����ˁH
���^���ꂪ���s�邽�߂ɕK�v�Ȃ��Ƃ́H
���^���ꂪ���s�邽�߂ɂ��A�u���^�����m���Ă��ē��R�B���Ƃ͂���łǂ�Ȃ��Ƃ�����̂��H�v�Ƃ����̂��b��ɂȂ�̂��K�v���Ǝv���܂��B�u����p���Ȃ���v�Ƃ��u�������ǂ���v�ł͂��܂�l�������Ȃ��ł���ˁB�u�ė��p���������v�Ɠ����ɂ��������܂����A�w�K�R�X�g���ǂ̂��炢�Ńy�C�ł��邩�ǂ����̃q���g���S�R�Ȃ��ł�����ˁB�l�̌o����u10���Ԃ̏���������A�����̍�Ƃ�30���Z�k����āA2�����Ō������Č�̓n�b�s�[����v�Ƃ����悤�ȁA�Ⴆ�g�[�^�����v���X�ł����O�ɂ�����Ƒ傫�߂ȃR�X�g��������悤�Ȓ�Ă͂��邳�����邱�Ƃ������ł��B
���̂��߂ɂ́A���^����ł����ł��Ȃ����ƂȂ������Ƃ����ς�����Ɨǂ����ȁA�ƁBOCaml�͂��̍�����������Z�n�ł͑����g���Ă���Ƃ̂��ƁB�܂��AErlang�͕��U�������������߂�DSL�Ƃ��Ĉ��̒n�ʂ��l�����Ă��܂��B�l�I�ɂ́A�V�F�[�_�[���܂߂āA�V�[�����X�ɃO���t�B�b�N�X�p�C�v���C�����A�����V�~�����[�V�������̃Q�[���R�[�h�����^����ŃX�}�[�g�ɋL�q�ł���悤�ȃc�[�����o�ė~�����Ȃ��Ǝv���Ă���Ƃ���ł��B���^�̓p�[�T�[�������̂����ӂ��Ǝv���܂��̂�(Ruby�݂����ɐ��K�\������₱�����āA�����ˑ��������̈ȊO)�APyPy Toolchain�݂����ȁA���ꏈ���n�t���[�����[�N(JIT�t��)�݂����Ȃ̂����^����łł����炢���ȁA�Ǝv���܂��B
�uJava�J���҂̂��߂̊��v���O���~���O�v�ł́A�����̂Ƃ���Ɂu�����v�������Ă��Ă��܂��B�����āA���^���ꂪ�ǂ������c�[�����J���҂ɒ��Ă���̂����R�[�h������Ȃǂ������Ȃ��璚�J�ɏЉ�Ă���Ă��܂��B�l�����߂ă��i�h�ƒx���]���̊W�Ȃǂ��킩��܂����B�u�Ƃɂ���������Ă���A���̂����^���ɋC�Â��v�݂����ȓ��{�I�ȃg���[�j���O���D���Ȑl�͒u���Ƃ��āA�܂��͊O�g�𗝉����āA�����ɃX�e�b�v�A�b�v�������l�ɃI�X�X���ł��B�u�\�������ꂾ���Ǎ\�������Ȃ��łP��2000�s�v�Ƃ��uJava�ł��S��static��C�I�ɏ������Ⴄ�v���b������܂����A�u���^������g���Ί��^�����R�ɗ����ł���v�Ƃ������Ƃ͂Ȃ��Ǝv���܂��B�ނ���A�ߋ��̌o���Ɉ����Â��Ă��܂����Ƃ������Ǝv���܂��B���̏��Ђ́u���^����Ȃ��v�p���_�C���̐l�����ɐV�������E�̗v�f��1��1�Љ�Ă���Ă��܂��B���ہA���̏��Ђ̃T���v���ǂ����Java�Ŋ��^�̃v���O�������o���o���������Ƃ����l�͏������Ǝv���܂����A���̌��������鎞�̕��ǖ{�Ƃ��āA���̃p���_�C���̕Ȃ����߂ɂƂĂ��L���Ȗ{���Ǝv���܂��B
�����DIS��̂͂�߂悤
������ƕʌ��ɂȂ�܂����A�ŋߎv���̂��A�����DIS��̂͂������m���Ȃ��A�Ƃ������Ƃł��B�������悭�m���Ă��錾��قǕs���ȓ_��������ƕ�����̂͂���܂��B��DDJ�Ƃ����G���ł݂��A�G���W�j�A�̃X�L�����������ʒk�̃e�N�j�b�N�ŁuC++�����P����Ƃ�����ǂ��ł����H�v�Ƃ����̂�����܂����B���_��m��A����ɂǂ���������ł��邩�܂ŗ����ł���l�͂��̌���̌o�����\���ɂ���A����͂��\���ɂ���Ƃ������Ƃł��B
�ł��A�ŋ߂悭���錾��DIS��́u���������낤�v�I�ȕ��͋C����킹�Ă��銴���������C�����܂��B���ɁA���̌���������グ�邽�߂̑��̌����DIS��́u���O��̎g���Ă��錾��͂���ڂ��A������������g���Ă��鉴�������v�I�Ȋ����ł���ˁB�����ł͎����͐����Ǝv���̂Ɏ��肩�痝������Ă��炸�A���ȏ[�������������l�̂悤�Ɍ����āA�Ȃ��킢�����Ɍ����Ă��܂��B�u��������������ǁA�ǂ���������H�v�Ƃ�������ɑ��āA����̃��x����ړI���l�������Ɂu�������炱�����߁v�u�����ǂ܂Ȃ��̂͂��肦�Ȃ��v�݂����Ɍ������Ⴄ�̂��A���X�ɂ��Ď����悤�Ȃ̂������܂����A�܂��b���ς���Ă��܂��̂ł܂��̋@��ɁB
���̓_�uJava�J���҂̂��߂̊��v���O���~���O�v�͂�����Ƒ���(�I�u�W�F�N�g�w���Ȑl)�̂��߂ɏ����ꂽ���͂ł��BJava�łł��Ȃ����E��������ƍl��������ŁA�u�O�̐��E�ɂ͂����������̂������v�u����������Ύg���Ă݂悤�v�ƒ��J�ɏЉ�Ă��܂��B�l�ɐV�������̂��Љ�鎞�ɂ́A���������p����S���������ł��B