Programming Languages mini-HOWTO
 Risto S. Varanka,       <[email protected]>
 v, 6 January 2000
 �{��_�j,         <[email protected]>
 v, 2000�N02��08��

 Linux ��œ�����v�ȃv���O���~���O����A�y�сALinux�ŃO���t�B�J�����[
 �U�C���^�[�t�F�[�X��쐬����Ƃ��̎�v�ȃ��C�u�����̊ȒP�Ȕ�r
 ______________________________________________________________________

 �ڎ�

 1. ����
    1.1 ���쌠
    1.2 ���C�Z���X
       1.2.1 ���ύ�Ƃɂ‚��Ă̕K�v��
    1.3 �Ɛӏ�
    1.4 ����
    1.5 �N���W�b�g
    1.6 �����N

 2. �v���O���~���O����
    2.1 �\�̖}��
    2.2 ���W���[�Ȍ���
    2.3 �V�F���v���O���~���O
    2.4 ���̑��̌���
    2.5 �����N

 3. GUI �c�[���L�b�g
    3.1 �\�̖}��
    3.2 ���W���[�� GUI �c�[���L�b�g
    3.3 �����N

 ______________________________________________________________________

 1.  ����

 Linux �͑f���炵���I�y���[�e�B���O�V�X�e���ł��B�Ȃ��Ȃ�ǂ�ȃ��[�U��
 ��Linux �̊J���ɎQ���ł��邩��ł��BLinux ��ł͐������̌��ꂪ�g�p�”\
 �ł��B�������Ȃ���A���ꂪ Linux �ł̊J�����S�҂ɂ͍����̌��ɂ�Ȃ肦
 �܂��B���̕��͂ł́A���Ƃ��ʓI�ȑI��ƂȂ�ʏ�̊J���ł̌����
 ���A�����ɑ΂��ďd�v�ȓ_��q�ׂĂ��܂��B (�u���Ƃ��ʓI�ȁv ��
 �u�d�v�ȓ_�v �͎��̉�߂���ł����B) ���̑_���͌����r���[���邱��
 �ł�A�ǂꂪ��Ԃ���߂邱�Ƃł���܂���B���ꂼ��̌���ɂ͂ӂ���
 �����d���������āA���ꂼ��ɓƎ��̖�������܂��B���͂̂ЂƂɐq�˂���A
 ���̃A���e�i��͂�߂��炵�Ă����Ώڂ������͂�����ł���ł����
 ���傤(���������񂪎�ɓ��邱�Ƃ��Ȃ��Ȃ��ł���)�B����ɁA���̕���
 ��̃����N�Z�N�V���������Ȃ��������Œ�����n�߂��ł̈ē�ƂȂ��Ă���
 ��ł��傤�B

 ���̒��ɂ͖c��Ȑ��� Linux �Ŏg���錾��⃉�C�u����������܂��B����
 �ŁA���̕��͂ł͂��Ƃ��ʓI�Ȍ����GUI�c�[���L�b�g�݂̂̏Љ�Ɍ���
 ���Ƃɂ��܂��B����ƒ��ӂ��ė~�����̂́A�����ŏЉ�錾���GUI�c�[��
 �L�b�g�� Linux �̎��_���猩����̂ŁA���̃v���b�g�z�[���ł̓������͂�
 �̕��͓�ł͋L�q�A�܂��͋c�_���܂���B

 ���̕��͍͂ŋ�LDP�ɒlj����ꂽ�΂���ł��̂ŁA�R�~���j�e�B����̃t�B�[
 �h�o�b�N���炤�@��܂����܂肠��܂���B�������Ȃ���A���̕��͂�
 Linux �v���O���~���O�ɋ���������l�B�̏����ɂȂ�΂Ǝv���ă����[�X��
 �ꂽ��̂ł��B�\�ɂ��� ? �}�[�N�͏��s������܂��B�������ɂ‚�
 �Ă̏�������ł�����A���В��҂܂ł��A�����������B

 1.1.  ���쌠

 Copyright (c) 2000 Risto Varanka.

 �ȉ��̃��C�Z���X���͎Q�l�̂��߂ɖ󕶂���܂����A�������D�悵�܂��B

 1.2.  ���C�Z���X

 The following license terms apply to all LDP documents, unless
 otherwise stated in the document.  The LDP documents may be reproduced
 and distributed in whole or in part, in any medium physical or
 electronic, provided that this license notice is displayed in the
 reproduction.  Commercial redistribution is permitted and encouraged.
 Thirty days advance notice via email to the author(s) of
 redistribution is appreciated, to give the authors time to provide
 updated documents.

 ���̃��C�Z���X�́A���͓�œ���̋L�q���Ȃ�������S�Ă�LDP���͂ɓK�p��
 ��܂��BLDP���͂͂��̃��C�Z���X�̋L�ڂ�����΁A���͂̑S�́A�ꕔ�ɂ���
 ��炸�A�����I�ɂ�d�q�I�ɂ�����z�z���”\�ł��B���p�z�z�͏��サ�܂�
 ���A���҂ɍŐV�ł̕��͂�񋟂��鎞�Ԃ�^���邽�߁A�Ĕz�z��30���ȏ�O��
 ���҂֒ʒm�̃��[���𑗂��Ē�����Ƃ��肪�����ł��B

 1.2.1.  ���ύ�Ƃɂ‚��Ă̕K�v��

 All modified documents, including translations, anthologies, and
 partial documents, must meet the following requirements:

 1. The modified version must be labeled as such.

 2. The person making the modifications must be identified.

 3. Acknowledgement of the original author must be retained.

 4. The location of the original unmodified document be identified.

 5. The original author's (or authors') name(s) may not be used to
    assert or imply endorsement of the resulting document without the
    original author's (or authors') permission.

 �|��A�I�W�A�����ĕ����I�ȕ��͂�܂ނ��ׂẲ��ς��ꂽ���͎͂��̏��
 �݂����Ă���K�v������܂��B

 1. ���ϔłł��邱�Ƃ��L�ڂ���Ă��邱��

 2. ���ς�s�����l���̖��O���L�ڂ���Ă��邱�ƁB

 3. �I���W�i�����͂̒��҂̖��O���L�ڂ���Ă��邱�ƁB

 4. �I���W�i�����͂̍ݏ����L�ڂ���Ă��邱�ƁB

 5. �I���W�i�����͂̒��҂̖��O�́A�I���W�i�����͂̒��҂̋��‚Ȃ��ɉ���
    ���ꂽ���͂ɑ΂��Ă̕ۏ؂�咣�����̂Ƃ��Ďg�p����邱�Ƃ͂ł���
    ���B

 ���̑��ɗv������邱��

 1. The modifications (including deletions) be noted.

 2. The author be notified by email of the modification in advance of
    redistribution, if an email address is provided in the document.

 1. ����(�폜��܂�)���ꂽ���Ƃ̋L��

 2. ���҂̓d�q���[���A�h���X�����͓�ɒ񋟂���Ă���ꍇ�A���ς��ꂽ��
    �͂̍Ĕz�z�̂܂��ɓd�q���[���ɂ��Ē��҂ɒm�点�邱�ƁB

 As a special exception, anthologies of LDP documents may include a
 single copy of these license terms in a conspicuous location within
 the anthology and replace other copies of this license with a
 reference to the single copy of the license without the document being
 considered ``modified'' for the purposes of this section.

 ����Ƃ��āALDP�̑I�W�͑I�W��Ƀ��C�Z���X�̃R�s�[����‚����܂܂�Ă�
 ��΁A���͂��u���ς��ꂽ�v�ƌ��Ȃ���Ȃ��͈͂őI�W��̑��̕��͂̃��C�Z
 ���X��폜���āA���C�Z���X�̏ꏊ��L�q����΂悢�B

 Mere aggregation of LDP documents with other documents or programs on
 the same media shall not cause this license to apply to those other
 works.

 LDP���͂Ɠ������f�B�A��ɂ���A���̕��͂�v���O�����ɂ��̃��C�Z���X��
 �K�p���܂���B

 All translations, derivative documents, or modified documents that
 incorporate any LDP document may not have more restrictive license
 terms than these, except that you may require distributors to make the
 resulting document available in source format.

 ���ׂĂ̖|��A���ϕ��͂�֘A����LDP���͂͂��̃��C�Z���X�ȏ�Ɍ�������
 �C�Z���X��g�p�ł��܂��񂪁A��O�Ƃ��čĔz�z�҂Ƀ\�[�X�`���ł̕��͂̔z
 �z��v�����邱�Ƃ͂ł��܂��B

 1.3.  �Ɛӏ�

 THIS DOCUMENT COVERS A LARGE AND CONSTANTLY CHANGING DOMAIN.
 THEREFORE, THE INFORMATION CONTAINED IN THIS DOCUMENT MAY BE INCORRECT
 OR OUTDATED. ALL USE OF THIS DOCUMENT AND ALL INFORMATION CONTAINED IN
 IT IS AT YOUR OWN RISK. THE AUTHOR DOES NOT GIVE ANY WARRANTY OR
 GUARANTEE, EITHER EXPLICIT OR IMPLIED.

 ���̕��͍͂L�͈͂ŁA������ς��₷��������舵���Ă��܂��B���̂�
 �߁A���̕��͓�ɂ�����͊Ԉ��Ă�����A�Â��Ȃ��Ă��邩����܂�
 ��B���̕��͂╶�͓�̏��͎����̃��X�N�Ŏg���Ă��������B���҂͂�����
 ��ۏ؂��܂���B

 1.4.  ����

 ���Ȃ����璘�҂ւ̃t�B�[�h�o�b�N�͑劽�}��
 ���[email protected] <mailto:[email protected]>

 ���҂� Web �T�C�ghttp://www.helsinki.fi/~rvaranka/
 <http://www.helsinki.fi/~rvaranka/>

 1.5.  �N���W�b�g

 �v���O���~���O����ɂ‚��ẴR�����g����������X�Ɋ��ӂ�\���グ��
 ���B�����̉�b�ɂ��A�F�X�Ȍ���ɑ΂���m�����[�܂�܂������A���ꂩ
 ��̉�b�ɂ��Ă��� mini-HOWTO �����悢��̂ɂȂ�΂Ɗ肢�܂��B����
 IRCNet �`�����l�� #linux �̕��X: Morphy, Bluesmurf, Vadim, Zonk^,
 Rikkus �ƁA���̑����҂����O��Y��Ă��܂������X�ɂ��ӂ�\���グ��
 ���B����� Stig Erik Sandoe �A��ɗ��ƒR�����g���肪�Ƃ��������܂����B

 1.6.  �����N

 Linux�J�����C�u�����ƃc�[���̊��S�ȃ��X�g

 o  Freshmeat <http://www.freshmeat.net/appindex/development/>

 o  Linux Development Tools <http://www.hotfeet.ch/~gemi/LDT/>

 o  linuxprogramming.com <http://www.linuxprogramming.com/>

 Eric S. Raymond �ɂ��Hacker FAQ
 <http://www.tuxedo.org/~esr/faqs/hacker-howto.html> Linux ��ł̏��S��
 �J���҂ɂƂ��ċ����̂���e�L�X�g�ł��B���̕��͕͂����I�A�S���w�I�Ȍ���
 �ɂ��I�[�v���\�[�X�J���ɏd�_��u���Ă��܂��B

 ���̑��� LDP ���� <http://www.linuxdoc.org/> �Ƃ��Ă� Reading List
 HOWTO (���{��� <http://www.linux.or.jp/JF/JFdocs/Reading-List-
 HOWTO.html>) �� Linux �v���O���}�[�Y�K�C�h���̈�ʓI�ȃv���O���~���O��
 �e�[�}���舵�������͂�����܂��B���̑��ɂ���̃e�[�}�ɂ‚��Ă̕���
 ������܂��B

 2.  �v���O���~���O����

 2.1.  �\�̖}��

    ����
       ��ʓI�Ȍ���̖��O

    ���S��
       �͂ǂꂾ�����̌��ꂪ�v���O���~���O�o���̏��Ȃ��l�B�ɂ����Ă��邩
       ����܂��B``yes'' �ƃ}�[�N����Ă��錾��͏��S�҂ɂƂ��čŏ���
       �G���v���O���~���O����Ƃ��ēK���Ă���͂��ł��B

    �p�t�H�[�}���X
       �ǂꂾ�����Ȃ��̃A�v���P�[�V�����������������B�p�t�H�[�}���X�͎�
       �ۂ̌������A�K�؂ȃA���S���Y���𗧂Ăăv���O���~���O��s���\
       �͂Ɉˑ����܂��B�o�����猾���āA C�AC++ �� Fortran �͕K�v�ɂȂ�
       ��������܂��B�Ȃ��Ȃ炱���̌���͑��̌���Ɣ�ׂėD�ꂽ�p�t�H
       �[�}���X��񋟂ł��邩��ł��B�������Ȃ���A�����̌����ړI��
       ���Ă͈����Â炢���Ƃ�����܂��B(�ȒP�ȃ\�[�e�B���O�A���S���Y
       ����S�Ă̌���Ŏ��s���A���̌��ʂ��r����悤�ȁA�����"�x���`
       �}�[�N"�����Č����A�C�f�A����܂���ˁB�N�������`���Ă���
       ��l���܂���?)

    OOP(�I�u�W�F�N�g�w���v���O���~���O) vs. ���̃p���_�C��
       �I�u�W�F�N�g�w���v���O���~���O�͐l�C�𓾂Ă��Ă���d�v�ȃv���O��
       �~���O�p���_�C���ł��B�I�u�W�F�N�g�w���v���O���~���O�ł́A�f�[�^
       �\���ƃA���S���Y���͈�‚̃��j�b�g�ɓ�������Ă��܂�(�N���X�Ƃ�
       �Ă�)�BOOP �͂悭�葱���^�v���O���~���O(�f�[�^�\���ƃA���S���Y��
       ���ʁX�Ɏg����)�Ɣ�r����܂��BOOP �͂��܂茾��Ɉˑ�����Ƃ�
       �����܂���BOOP ���ł��Ȃ��ƃ��X�g�ɏ����Ă��錾��ł�(�Ⴆ�� C)
       OOP ���ł�����A���X�g�� OOP�Ə����Ă��錾��ł�葱���^�v���O��
       �~���O���ł��܂��B���ʂȓ�����A�h�I�������� OOP �� OOP �Ƃ��Ă�
       ���ɋ����܂����B�֐��^����( �Ⴆ�� Lisp ) �͑��ɔ�ׂđ����قȂ�
       ����ނ̌���ł��B�֐��^�v���O���~���O�� OOP �̃X�[�p�[�Z�b�g��
       ���B �_���I�v���O���~���O(Prolog)�͐錾�I�v���O���~���O�Ƃ�Ă�
       ��A���̃v���O���~���O��@�Ƃ͈���悵�܂��B

    �f�����J��
       �͎��ۂ̌������g���c�[���Ɉˑ����܂��B GUI�ł� Linux �J���c
       �[����HOWTO������܂�(�ƂĂ�Â��ł���)�B�悢�O���t�B�J���c�[��
       ��g�p���邱�Ƃɂ��đf�����J�����ł���ł��傤�B�R�[�h��Ďg�p
       ���邱�Ƃ�f�����J������̂Ɏg���܂����A�t���[�E�F�A���悢�y���
       �Ȃ邩����܂���B

    �� ���ꂪ��ʓI�Ɏg���镪��B���ɂ�悢(����ƈ���)�g�����������
       �����A�����͈�ʓI�ł͂���܂���B

    �R�����g
       ����ɂ‚��Ă̂���Ȃ���A�Ⴆ�Δ\�͂�h�����ꓙ�B

 2.2.  ���W���[�Ȍ���

 PERL
 ���S��: Yes - OOP: Yes
 ��: �X�N���v�e�B���O�A�V�X�e���Ǘ��AWWW
 �R�����g: �e�L�X�g�ƕ�����̈����ɋ����B�ƂĂ�l�C������B

 Python
 ���S��: Yes - OOP: Yes
 ��: �X�N���v�e�B���O�A�A�v���P�[�V�����X�N���v�e�B���O�AWWW
 �R�����g:

 TCL
 ���S��: Yes - OOP: No
 ��: �X�N���v�e�B���O�A�V�X�e���Ǘ��A�A�v���P�[�V����
 �R�����g:

 PHP
 ���S��: Yes - OOP: Yes
 ��: WWW
 �R�����g: WEB�f�[�^�x�[�X�Ől�C������܂��B

 Java
 ���S��: Yes - OOP: Yes
 ��: �����v���b�g�t�H�[���œ����A�v���P�[�V�����AWWW
 �R�����g:

 Lisp
 ���S��: Yes - OOP: Functional
 ��: Emacs ���[�h( elisp ), AI
 �R�����g: ��X�� Elisp�AClisp �� Scheme

 Fortran
 ���S��: No - OOP: No
 ��: ���w�I�A�v���P�[�V����
 �R�����g: ��X�� f77 �� f90/95

 C
 ���S��: No  - OOP: No
 ��: �V�X�e���v���O���~���O�A�A�v���P�[�V����
 �R�����g: �ƂĂ�l�C������

 C++
 ���S��: No  - OOP: Yes
 ��: �A�v���P�[�V����
 �R�����g:

 2.3.  �V�F���v���O���~���O

 �V�F����܂��d�v�ȃv���O���~���O�‹��ł����A���͂���̐���܂߂܂���
 �ł����B�Ȃ��Ȃ玄�͂܂����S�ɂ͂��̕���𗝉�Ă��Ȃ�����ł��B�V�F
 ���̒m���́A�悭 Linux ��g���Ďd�����l��V�X�e���Ǘ��҂ɂ͏d�v��
 ���B�V�F���v���O���~���O�ƃX�N���v�e�B���O�ɂ͂悭���Ă��鏊������A��
 �΂��Γ����ړI��B���ł���̂ŁA�l�C�e�B�u�V�F���ƃX�N���v�e�B���O�Ƃ�
 �ǂ��炩��I�Ԃ��Ƃ�ł��܂��B�ł�l�C�̂���V�F���Ƃ�
 �āAbash�Atcsh�Acsh�Aksh�A������ zsh ������܂��Bman �R�}���h��s��
 �邱�Ƃɂ��Ă����̃V�F���̊�{�I�ȏ�񂪕����邱�Ƃł��傤(�Ⴆ��
 man bash )�B

 2.4.  ���̑��̌���

 ���̌���: AWK, SED, Smalltalk, Eiffel, ADA, Prolog, assembler,
 Objective C, Logo, Pascal( p2c �R���o�[�^ )

 2.5.  �����N

 o  ��ʓI�ȏ��̃T�C�g <http://www.tunes.org/Review/Languages.html>
    �v���O���~���O����Ɋւ���c��ȏ��ƈӌ�

 o  TCL <http://www.scriptics.com/>

 o  PERL <http://www.perl.org/>

 o  Python <http://www.python.org/>

 o  PHP <http://www.php.net>

 o  Java <http://www.javasoft.com/>

 o  clisp <http://clisp.cons.org/~haible/packages-clisp.html>

 3.  GUI �c�[���L�b�g

 3.1.  �\�̖}��

    ���C�u����
       ��ʓI�ȃc�[���L�b�g�̖��O�₻�̗��́B

    ���S��
       �c�[���L�b�g�����S�҃v���O���}�[�ɑ����������ǂ����B

    ���C�Z���X
       ���ꂼ��̃c�[���L�b�g�ɈقȂ郉�C�Z���X���t���Ă��邱�Ƃɂ͎���
       �ɈӖ�������܂��B GTK+ �� TK �̃��C�Z���X�́A���Ȃ��̏����v���O
       �����̃\�[�X�̌��J/��J�Ɋւ�炸���C�Z���X�̍w���̕K�v�͂���
       �܂���B Motif �̃��C�Z���X�͍w�����K�v�ł����A QT �̃��C�Z���X
       �͂��Ȃ������\�[�X��J���Ȃ��v���O������������̂ݍw�����K
       �v�ł��B

    ����
       �c�[���L�b�g�ł��Ƃ����g���錾��

    �o�C���f�B���O
       �c�[���L�b�g�Ŏg�����Ƃ̂ł��鑼�̌���

    �� �c�[���L�b�g��g�����A�v���P�[�V����

    �R�����g
       �c�[���L�b�g�ɂ‚��Ă̂���Ȃ���B

 3.2.  ���W���[�� GUI �c�[���L�b�g

 ���C�u����   ���S��   ���C�Z���X                 ����    �o�C���f�B���O                  ��
 TK           Yes      �t���[                     TCL     PERL, Python, ��                make xconfig, TKDesk
 GTK+         No       �t���[ (LGPL)              C       PERL, C++, Python, ���̑�����   GNOME, Gimp
 QT           No       �I�[�v���\�[�X�ł̓t���[   C++     Python, PERL, C, �� ?           KDE
 Motif        No       �m���t���[                 C/C++   Python, �� ?                    Netscape, Wordperfect

 3.3.  �����N

 o  TK <http://www.scriptics.com/>

 o  GTK+ <http://www.gtk.org/>

 o  QT <http://www.troll.no/>

 o  Motif <http://www.metrolink.com/>