  Programming Languages mini-HOWTO
  Risto S. Varanka,       <risto.varanka@helsinki.fi>
  v, 6 January 2000
  {_j,         <hmiyano@webjapan.com>
  v, 2000N0208

  Linux œvȃvO~OAyсALinuxŃOtBJ[
  UC^[tF[X쐬Ƃ̎vȃCůȒPȔr
  ______________________________________________________________________

  ڎ

  1. 
     1.1 쌠
     1.2 CZX
        1.2.1 ύƂɂĂ̕Kv
     1.3 Ɛӏ
     1.4 
     1.5 NWbg
     1.6 N

  2. vO~O
     2.1 \̖}
     2.2 W[Ȍ
     2.3 VFvO~O
     2.4 ̑̌
     2.5 N

  3. GUI c[Lbg
     3.1 \̖}
     3.2 W[ GUI c[Lbg
     3.3 N

  ______________________________________________________________________

  1.  

  Linux ͑f炵Iy[eBOVXełBȂȂǂȃ[U
  Linux ̊JɎQł邩łBLinux ł͐̌ꂪgp\
  łBȂAꂪ Linux ł̊JS҂ɂ͍̌ɂȂ肦
  ܂B͂̕ł́AƂʓIȑIƂȂʏ̊Jł̌
  Aɑ΂ďdvȓ_qׂĂ܂B (uƂʓIȁv 
  udvȓ_v ͎̉߂łB) ̑_͌r[邱
  łAǂꂪԂ߂邱Ƃł܂Bꂼ̌ɂ͂ӂ
  dāAꂼɓƎ̖܂B͂̂ЂƂɐq˂A
  ̃Aei͂߂炵ĂΏڂ͂łł
  傤(񂪎ɓ邱ƂȂȂł)BɁA̕
  ̃NZNVȂŒn߂ł̈ēƂȂĂ
  ł傤B

  ̒ɂ͖cȐ Linux Ŏg錾⃉Cu܂B
  ŁA͂̕ł͂ƂʓIȌGUIc[Lbĝ݂̏ЉɌ
  Ƃɂ܂Bƒӂė~̂́AŏЉ錾GUIc[
  Lbg Linux ̎_猩̂ŁÃvbgz[ł̓͂
  ͓̕ł͋LqA܂͋c_܂B

  ͍͂̕ŋLDPɒǉꂽ΂ł̂ŁAR~jeB̃tB[
  hobN炤@܂܂肠܂BȂA͂̕
  Linux vO~OɋlB̏ɂȂ΂Ǝvă[X
  ꂽ̂łB\ɂ ? }[N͏s܂Bɂ
  Ă̏łAВ҂܂łAB

  1.1.  쌠

  Copyright (c) 2000 Risto Varanka.

  ȉ̃CZX͎Ql̂߂ɖ󕶂܂AD悵܂B

  1.2.  CZX

  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.

  ̃CZX́A͓œ̋LqȂSĂLDP͂ɓKp
  ܂BLDP͂͂̃CZX̋Lڂ΁A͂̑ŚAꕔɂ
  炸AIɂdqIɂzz\łBpzz͏サ܂
  A҂ɍŐVł͂̕񋟂鎞Ԃ^邽߁AĔzz30ȏO
  ҂֒ʒm̃[𑗂ĒƂ肪łB

  1.2.1.  ύƂɂĂ̕Kv

  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.

  |AIWAĕIȕ͂܂ނׂẲςꂽ͎͂̏
  ݂ĂKv܂B

  1. ϔłł邱ƂLڂĂ邱

  2. ςsl̖OLڂĂ邱ƁB

  3. IWi͂̒҂̖OLڂĂ邱ƁB

  4. IWi͂̍ݏLڂĂ邱ƁB

  5. IWi͂̒҂̖ÓAIWi͂̒҂̋Ȃɉ
     ꂽ͂ɑ΂Ă̕ۏ؂咣̂ƂĎgp邱Ƃ͂ł
     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. ҂̓dq[AhX͓ɒ񋟂ĂꍇAςꂽ
     ͂̍Ĕzẑ܂ɓdq[ɂĒ҂ɒ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̑IW͑IWɃCZX̃Rs[܂܂Ă
  ΁A͂uςꂽvƌȂȂ͈͂őIW̑͂̃̕CZ
  X폜āACZX̏ꏊLq΂悢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͂ƓfBAɂA͂̕vOɂ̃CZX
  Kp܂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ϕ͂֘ALDP͂͂̃CZXȏɌ
  CZXgpł܂񂪁AOƂčĔzz҂Ƀ\[X`ł͂̔̕z
  zv邱Ƃ͂ł܂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͂̕╶͓͎̏̃XNŎgĂB҂͂
  ۏ؂܂B

  1.4.  

  Ȃ璘҂ւ̃tB[hobN͑劽}
  Bristo.varanka@helsinki.fi <mailto:risto.varanka@helsinki.fi>

  ҂ Web TCghttp://www.helsinki.fi/~rvaranka/
  <http://www.helsinki.fi/~rvaranka/>

  1.5.  NWbg

  vO~OɂẴRgXɊӂ\グ
  B̉bɂAFXȌɑ΂m[܂܂Aꂩ
  ̉bɂĂ mini-HOWTO 悢̂ɂȂ΂Ɗ肢܂B
  IRCNet `l #linux ̕X: Morphy, Bluesmurf, Vadim, Zonk^,
  Rikkus ƁȂ҂OYĂ܂Xɂӂ\グ
  B Stig Erik Sandoe AɗRg肪Ƃ܂B

  1.6.  N

  LinuxJCuƃc[̊SȃXg

  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҂ɂƂċ̂eLXgłB͕͂̕IASwIȌ
  ɂI[v\[XJɏd_uĂ܂B

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

  2.  vO~O

  2.1.  \̖}

     
        ʓIȌ̖O

     S
        ͂ǂꂾ̌ꂪvO~OȍȂlBɂĂ邩
        ܂B``yes'' ƃ}[NĂ錾͏S҂ɂƂčŏ
        GvO~OƂēKĂ͂łB

     ptH[}X
        ǂꂾȂ̃AvP[VBptH[}X͎
        ۂ̌AK؂ȃASY𗧂ĂăvO~Os\
        ͂Ɉˑ܂Bo猾āA CAC++  Fortran ͕KvɂȂ
        ܂BȂȂ炱̌͑̌ƔׂėDꂽptH
        [}X񋟂ł邩łBȂǍړI
        Ă͈Â炢Ƃ܂B(ȒPȃ\[eBOASY
        SĂ̌ŎsǍʂr悤ȁA"x`
        }[N"ČACfA܂ˁBN`Ă
        l܂?)

     OOP(IuWFNgwvO~O) vs. ̃p_C
        IuWFNgwvO~O͐lC𓾂ĂĂdvȃvO
        ~Op_CłBIuWFNgwvO~Oł́Af[^
        \ƃASY͈̃jbgɓĂ܂(NXƂ
        Ă)BOOP ͂悭葱^vO~O(f[^\ƃASY
        ʁXɎg)Ɣr܂BOOP ͂܂茾ɈˑƂ
        ܂BOOP łȂƃXgɏĂ錾ł(Ⴆ C)
        OOP łAXg OOPƏĂ錾ł葱^vO
        ~Oł܂BʂȓAhI OOP  OOP ƂĂ
        ɋ܂B֐^( Ⴆ Lisp ) ͑ɔׂđقȂ
        ނ̌łB֐^vO~O OOP ̃X[p[Zbg
        B _IvO~O(Prolog)͐錾IvO~OƂĂ
        ÃvO~O@Ƃ͈悵܂B

     fJ
        ͎ۂ̌gc[Ɉˑ܂B GUIł Linux Jc
        [HOWTO܂(ƂĂÂł)B悢OtBJc[
        gp邱ƂɂđfJłł傤BR[hĎgp
        邱ƂfĴɎg܂At[EFA悢y
        Ȃ邩܂B

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

     Rg
        ɂĂ̂ȂAႦΔ\͂hꓙB

  2.2.  W[Ȍ

  PERL
  S: Yes - OOP: Yes
  : XNveBOAVXeǗAWWW
  Rg: eLXgƕ̈ɋBƂĂlCB

  Python
  S: Yes - OOP: Yes
  : XNveBOAAvP[VXNveBOAWWW
  Rg:

  TCL
  S: Yes - OOP: No
  : XNveBOAVXeǗAAvP[V
  Rg:

  PHP
  S: Yes - OOP: Yes
  : WWW
  Rg: WEBf[^x[XŐlC܂B

  Java
  S: Yes - OOP: Yes
  : vbgtH[œAvP[VAWWW
  Rg:

  Lisp
  S: Yes - OOP: Functional
  : Emacs [h( elisp ), AI
  Rg: X ElispAClisp  Scheme

  Fortran
  S: No - OOP: No
  : wIAvP[V
  Rg: X f77  f90/95

  C
  S: No  - OOP: No
  : VXevO~OAAvP[V
  Rg: ƂĂlC

  C++
  S: No  - OOP: Yes
  : AvP[V
  Rg:

  2.3.  VFvO~O

  VF܂dvȃvO~OłA͂̐܂߂܂
  łBȂȂ玄͂܂Sɂ͂̕𗝉ĂȂłBVF
  ̒ḿA悭 Linux gĎdlVXeǗ҂ɂ͏dv
  BVFvO~OƃXNveBOɂ͂悭Ă鏊A
  ΂ΓړIBł̂ŁAlCeBuVFƃXNveBOƂ
  ǂ炩IԂƂł܂BłlĈVFƂ
  āAbashAtcshAcshAkshA zsh ܂Bman R}hs
  邱ƂɂẴVF̊{Iȏ񂪕邱Ƃł傤(Ⴆ
  man bash )B

  2.4.  ̑̌

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

  2.5.  N

  o  ʓIȏ̃TCg <http://www.tunes.org/Review/Languages.html>
     vO~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[Lbg

  3.1.  \̖}

     Cu
        ʓIȃc[Lbg̖O₻̗́B

     S
        c[LbgS҃vO}[ɑǂB

     CZX
        ꂼ̃c[LbgɈقȂ郉CZXtĂ邱Ƃɂ͎
        ɈӖ܂B GTK+  TK ̃CZX́AȂ̏vO
        ̃\[X̌J/JɊւ炸CZX̍w̕Kv͂
        ܂B Motif ̃CZX͍wKvłA QT ̃CZX
        ͂Ȃ\[XJȂvÔݍwK
        vłB

     
        c[LbgłƂg錾

     oCfBO
        c[LbgŎgƂ̂ł鑼̌

      c[LbggAvP[V

     Rg
        c[LbgɂĂ̂ȂB

  3.2.  W[ GUI c[Lbg

  Cu   S   CZX                     oCfBO                  
  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       mt[                 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/>

