ç§ãã¡ã¯ ãããŒã«ã»ã°ã©ãã ã®ãããã«ãŒãšèžè¡å®¶ãã®ãšãã»ã€ãšæ¬
ã翻蚳ãç¶ããŠããŸãã
ãªãªãžãã«-
ãªã¿ã¯ã®åŸ©venïŒç¿»èš³ã«åå ããã人-å人ã§æžããŠãã ããïŒShchekotova Yanaã翻蚳ããŠããã ãããããšãããããŸãã2002幎5æãC ++ããã°ã©ããè¿œããŸããã ç§ãã¡ã¯åœŒãã®æå
šäœãLispã«åã°ãã©ãã°ããããšãã§ããŸãããã
Guy SteeleãJavaä»æ§ã®å
±èè
ã
ãœãããŠã§ã¢ããžãã¹ã§ã¯ãç¥èãæã£ãŠæ¯ã«æŠè£
ããŠããç§åŠè
ãšãæŠåšã«ãŸã£ããç¡ç¥ãªä»ã®æãã¹ãåã®ãã¹ïŒ*ãå
ã®ãšãã£ã髪ã®ãã¹-ã¹ã³ããã»ã¢ãã ã¹ã®ãã£ã«ããŒã挫ç»æ¬ã·ãªãŒãºã®ãã£ã©ã¯ã¿ãŒã¯æè²ãããŠããŸãããããŠã圌ã管çããåéã®åºæ¬çãªç¥èãå®å
šã«æ¬ ããŠããïŒã çµå±ã®ãšããã誰ãããããã©ããªåç©ãªã®ãç¥ã£ãŠããŸããïŒ ãã¯ãããžãŒã®äžçã§ã¯ãã»ãšãã©ã®äººããã®æŒ«ç»ã®ãã£ã©ã¯ã¿ãŒãèªèããã ãã§ãªãããã®ç»åã®ã³ããŒå
ã§ããäŒç€Ÿã®å®åšã®äººç©ã«ã粟éããŠãããšæããŸãã
ç¡ç¥ãªãã¹ã¯å¥è·¡çã«èªåèªèº«ã§éåžžã«äžè¬çãª2ã€ã®è³è³ªãçµã¿åãããŠããŸãããäžäººã§çµã¿åããããããšã¯ãã£ãã«ãããŸããïŒïŒaïŒæè¡ã«ã€ããŠãŸã£ããäœãç¥ããªãããããŠïŒbïŒåœŒã¯åžžã«ãããã«é¢ãã質åã«ã
ããšãã°ãäœããã®ããã°ã©ã ãäœæããå¿
èŠããããšããŸãã ããªãã®ç¡ç¥ãªäžåžã¯ããããã©ã®ããã«æ©èœããããããããããããã°ã©ãã³ã°èšèªãå¥ã®ããã°ã©ãã³ã°èšèªãšåºå¥ããããšã¯ã§ããŸãããã圌ã¯ããªãããã®ããã°ã©ã ãæžãã¹ãèšèªãç¥ã£ãŠããŸãã ã€ãŸãã圌ã¯ããªãããããJavaã§æžãã¹ãã ãšä¿¡ããŠããŸãã
ãªã圌ã¯ããæããŸããïŒ é ã®åãšãã®é ã§ãã®æã«äœãèµ·ãã£ãŠããã®ãèŠãŠã¿ãŸãããã 圌ãèããŠããã®ã¯ãããªæãã Javaãæšæºã§ãã ç§ã¯åžžã«ã¡ãã£ã¢ã§ããã«ã€ããŠèªãã§ããã®ã§ããããããããã¹ãã ãšç¥ã£ãŠããŸãã ããã¯æšæºã§ããããããã®äœ¿çšã®ããã«åé¡ã¯çºçããŸãããããã¯ãåžžã«å€ãã®Javaããã°ã©ããŒãããããšãæå³ããŸãã ãããã£ãŠãç§ã®ããã«åããŠããããã°ã©ããŒãèŸããå Žåãç§ã®ããã«åããŠãããã¹ãŠã®ããã°ã©ããŒã¯åžžã«äœããã®äžæè°ãªçç±ã§ãããè¡ãã®ã§ãç§ã¯ããããç°¡åã«äº€æã§ããŸãã
ãŸããããã¯æå³ããããŸããã ããããããã¯ãã¹ãŠã1ã€ã®æé»ã®ä»®å®ã«åºã¥ããŠããŸããããã¯å®éã«ã¯ééã£ãŠããŸãã ãã®ãããªäžåžã¯ããã¹ãŠã®ããã°ã©ãã³ã°èšèªãéåžžã«äŒŒãŠãããšèããŠããŸãã ãããããªãã圌ã¯é ã«éãæã£ãã§ãããã ãã¹ãŠã®èšèªã亀æå¯èœã§ããå Žåããã¡ãããä»ã®äººã䜿çšããä»»æã®èšèªã䜿çšã§ããŸãã
ãããããã¹ãŠã®èšèªã¯ç°ãªã£ãŠããããããã®éãã«ã€ããŠäžå¿
èŠãªè©³çŽ°ãªãã§ããªãã«ããã蚌æã§ãããšä¿¡ããŠããŸãã 1992幎ã«ããã°ã©ã ã«ã©ã®ããã°ã©ãã³ã°èšèªãæžãã¹ãããå°ããå Žåã圌ã¯ééããªãä»æ¥ã®ããã«çããã§ãããã ãœãããŠã§ã¢ã¯C ++ã§äœæããå¿
èŠããããŸãã ãããããã¹ãŠã®èšèªãåçã§ããã°ããªãåœå±ã®æèŠã¯ãŸã£ããå€ããã¹ããªã®ã§ããããïŒ ã€ãŸãããªãJavaéçºè
ã¯æ°ããèšèªã®äœæãå¿é
ããå¿
èŠãããã®ã§ããããïŒ
ã©ããããæ°ããèšèªãäœæããŠããå Žåãããã¯äœããã®æ¹æ³ã§ã人ã
ããã§ã«æã£ãŠãããã®ãããåªããŠãããšæãããã§ãã å®éãGoslingã¯æåã®å
¬åŒJavaããã¥ã¡ã³ãã§ããã®ïŒJavaããã°ã©ãã³ã°èšèªïŒãããã€ãã®C ++åé¡ã解決ããããã«äœæãããããšãæããã«ããŠããŸãã ãããŠãããªãã¯ããã«ããŸãã ãã¹ãŠã®èšèªãåçãšããããã§ã¯ãããŸããã ç§ãã¡ã®äžåžã®é ã®äžã®Javaãžã®æèã®æµãããã©ããšãJavaã®æŽå²ãéããŠãã®èµ·æºãŸã§ãããªãã¯ããªããå§ããä»®å®ã«åããäºæãæ±ãã§ãããã
ã ãã誰ãæ£ããã®ïŒ ãžã§ãŒã ãºã»ãŽã¹ãªã³ã°ããããšãç§ãã¡ã®ç¡ç¥ãªãã¹ïŒ ãŽã¹ãªã³ã°ãæ£ããã®ãäžæè°ã§ã¯ãããŸããã äžéšã®èšèªã¯ãç¹å®ã®ã¿ã¹ã¯ã«é¢ããŠä»ã®èšèªãããåªããŠããŸãã ãããŠãããªãã¯ç¥ã£ãŠãããããã¯å€ãã®èå³æ·±ã質åãæèµ·ããŸãã Javaã¯ãC ++ãšæ¯èŒããŠãããŸããŸãªã¿ã¹ã¯ã«æé©ã«ãªãããã«èšèšãããŠããŸãã ã©ããªã¿ã¹ã¯ïŒ Javaã䜿çšããã»ããããã®ã¯ãã€ã§ãããC++ã¯ãã€ã§ããã ä»ã®èšèªãããããããåªããŠããç¶æ³ã¯ãããŸããã
ãã®åé¡ã«ã€ããŠèãå§ãããšããã«ãæ··ä¹±ããç¶æ³ã«é¥ããŸãã ãã¹ãã¿ã¹ã¯ãå
æ¬çã«èããå¿
èŠãããå Žåã圌ã®è³ã¯ççºããŸãã 圌ããã¹ãŠã®ããã°ã©ãã³ã°èšèªãåçãšå®çŸ©ãããšããã«ã圌ãããå¿
èŠãããã®ã¯ãæã匷åãªéçºããŒã¹ãæã€èšèªãéžæããããšã ãã§ãã ãããŠããªããªã ããã¯ãã¯ãããžãŒããããã¡ãã·ã§ã³ã®åé¡ã§ããã圌ã§ããæ£ããçããåŸãããšãã§ããã§ãããã ããããèšèªãç°ãªãå Žåã圌ã¯çªç¶2ã€ã®æ¹çšåŒç³»ã解ããªããã°ãªããŸããã圌ãç¥ããªã2ã€ã®ããšã®éã§æé©ãªãã©ã³ã¹ãèŠã€ããããšããŸããããã°ã©ããã©ã€ãã©ãªãªã© ãããã®ããããã«å¯ŸããŠã ããããã¢ã®åŸãã«ãããã®ã§ããã°ãç¡ç¥ãªäžåžããã¢ãéããããªãã®ã¯é©ãããšã§ã¯ãããŸããã
ãã¹ãŠã®ããã°ã©ãã³ã°èšèªãåçã§ãããšãã確信ã®æ¬ åŠã¯ãå®éã«ã¯ããã§ã¯ãªããšããããšã§ãã ããããå©ç¹ã¯ãããããªãã®äººçã倧å¹
ã«ç°¡çŽ åããããšã§ãã ãããŠãããããã®ä¿¡å¿µãåºãŸã£ãŠããäž»ãªçç±ã ãšæããŸãã ãšãŠã
䟿å©ã§ãã
Javaã¯ãæ°ããææ°ã®ããã°ã©ãã³ã°èšèªã§ãããããJavaã¯ããªãåªããŠããã¯ãã§ãã ããã§ããïŒ ããã°ã©ãã³ã°èšèªã®äžçãèŠäžãããšãJavaãææ°ã®æè¡é©æ°ã®ããã«æããŸãã ïŒååã«é·ãè·é¢ããèŠããšãèŠããã®ã¯å€ªéœã«ãã£ãŠæ¯æããã倧ããªæŸå°ãã«ããŒãã ãã§ããïŒãããããã®äžçãããªãè¿ãè·é¢ããèŠããšããã®æ¶ŒãããããçšåºŠããããšãããããŸãã ããã«ãŒã®ãµãã«ã«ãã£ãŒã«ã¯ãPerlãšåŒã°ããå¥ã®èšèªããããŸããPerlã¯Javaãããæ Œæ®µã«åªããŠãããšèããããŠããŸãã ããšãã°ãSlashdotãµã€ãã¯Perlã§çæãããŸãã ãããã®äººãã¡ãJava Server Pagesãã©ã®ããã«äœ¿çšããŠããããããªããèŠããšã¯æããªãã ããããPythonãšåŒã°ããå¥ã®æ°ããèšèªãããããã®ãŠãŒã¶ãŒã¯Perlã軜ãããããšããŸãããããã ãã§
ã¯ãããŸãã ã
ãããã®èšèªãJavaãPerlãPythonã®é åºã§èŠããšãèå³æ·±ãã¹ããŒã ã«æ°ä»ãããšãã§ããŸãã Lispã䜿çšããå Žåãå°ãªããšããã®ã¹ããŒã ã¯é¡èã§ãã ããããããŸããŸãLispã«äŒŒãŠããŸãã Pythonã¯ãå€ãã®Lispããã°ã©ããééããæ©èœãã³ããŒããŸãã è¡ããšã«åçŽãªLispããã°ã©ã ãPythonã«å€æã§ããŸãã 2002幎ã§ãããããã°ã©ãã³ã°èšèªã¯1958幎ã«éçºãããèšèªãšã»ãŒåçã§ãã
æ°åŠã«ã€ããŠããç§ãèšãããã®ã¯ã1958幎ã«ãžã§ã³ã»ããã«ãŒã·ãŒã«ãã£ãŠæåã«çºèŠããããªããã¹ã§ããã人æ°ã®ããããã°ã©ãã³ã°èšèªã¯ã圌ãåœæéçºããŠããã¢ã€ãã¢ãåãäžããŠããã ãã ãšããããšã§ãã
ããã§ãããã¯ã©ãã§ããããïŒ ã³ã³ãã¥ãŒã¿æè¡ã¯éåžžã«éãå€åããŸãããïŒ 1958幎ã®ã³ã³ãã¥ãŒã¿ãŒã¯ãè
æèšã®ãããªããã»ããµãŒã®ãã¯ãŒãåããå·èµåº«ã»ã©ã®å·šå€§ãªã³ã³ãã¥ãŒã¿ãŒã§ããã ææ°ã®éçºãäžåãããšã¯èšããŸã§ããªãããã®ãããªå€ãæè¡ã¯ã©ã®ããã«é¢é£æ§ãä¿ã€ããšãã§ããŸããïŒ
æ¹æ³ã説æããŸãã ããã¯ãå®éã«ã¯ãå°ãªããšãä»æ¥ç解ããŠãããšããæå³ã§ã¯ãªããLispãããã°ã©ãã³ã°èšèªãšããŠéçºãããŠããªãããã§ãã ããã°ã©ãã³ã°èšèªãšã¯ãã³ã³ãã¥ãŒã¿ãŒã«äœããã¹ãããäŒããããã«äœ¿çšãããã®ã§ãã æçµçã«ããã«ãŒã·ãŒã¯ããã®æå³ã§ããã°ã©ãã³ã°èšèªãéçºããããšãèšç»ããŠããŸããããç§ãã¡ãå°éããLispã¯ãçŽç²ã«
çè«çã«ã¯åœŒèªèº«ã®ããã€ãã®å¥åã®äœæ¥ã«åºã¥ããŠããŸãã-ãã¥ãŒãªã³ã°ãã·ã³ã®ãã䟿å©ãªä»£æ¿æ段ãå®çŸ©ããè©Šã¿ã§ãã ããã«ãŒã·ãŒãåŸã«èšã£ãããã«ïŒ
ãLispããã¥ãŒãªã³ã°ãã·ã³ãããæ£ç¢ºã§ããããšã瀺ããã1ã€ã®æ¹æ³ã¯ãæ±çšLispé¢æ°ãèšè¿°ãããŠãããŒãµã«ãã¥ãŒãªã³ã°ãã·ã³ãèšè¿°ãããããçããç解ããããããšã瀺ãããšã§ãã ãã®ãããªãã®ã¯ãLispåŒã®å€ãèšç®ããLispé¢æ°eval ...ã§ããã è©äŸ¡ã®èª¬æã§ã¯ãLispã®æ©èœãLispããŒã¿ãšããŠè¡šãè¡šèšæ³ãäœæããå¿
èŠãããããã®ãããªè¡šèšæ³ã¯ãå®éã«Lispããã°ã©ã ãè¡šçŸããããã«äœ¿çšããããšã¯èããã«ãç 究èªäœã®ããã«éçºãããŸããã
ãããŠããããèµ·ãããŸããã ãã°ããããŠã1958幎ã®çµããã«ãããã«ãŒã·ãŒã®å€§åŠé¢çã®1人ã§ããã¹ãã£ãŒãã©ãã»ã«ã¯ãevalã®å®çŸ©ãèŠãŠããããæ©æ¢°èªã«ç¿»èš³ãããšãçµæã¯Lispã®ã€ã³ã¿ãŒããªã¿ãŒã«ãªãããšãèªèããŸããã
åœæã¯å€§ããªé©ãã§ããã ãããŠãããã«ã€ããŠã®ããã«ãŒã·ãŒã®ã€ã³ã¿ãã¥ãŒã§ã®è©±ããããŸãã
ã¹ãã£ãŒãã©ãã»ã«ã¯ããèããŠããªããã®è©äŸ¡é¢æ°ãããã°ã©ã ããªãã®ãããšèšããŸããããããŠãç§ã¯åœŒã«çããŸããããã¯ããããªãã¯çè«ãšå®è·µãæ··åããŠããŸãã ãã®è©äŸ¡é¢æ°ã¯ãèšç®ããã®ã§ã¯ãªãèªãããšãç®çãšããŠããŸããããããã圌ã¯ä»äºãç¶ãããããå®è¡ããŸããã ãããã£ãŠã圌ã¯ç§ã®äœæ¥ããevalé¢æ°ãIBM 704ãã·ã³ã³ãŒãã«ã³ã³ãã€ã«ãããšã©ãŒãä¿®æ£ãããããå®éã«Lispã®ã€ã³ã¿ãŒããªã¿ãŒãšããŠæ瀺ããŸããã ãããã£ãŠããã®èŠ³ç¹ãããLispã¯åºæ¬çã«ä»æ¥æã£ãŠãã圢ãæã£ãŠããŸã...
çªç¶ãããã«ãŒã·ãŒã¯æ°é±éåŸã«ããã®çŽç²ã«çè«çãªã€ãã³ããå®éã®ããã°ã©ãã³ã°èšèªã«å€æãããäºæ³ä»¥äžã«åŒ·åã§ããããšãçºèŠãããšæããŸãã
ãããã£ãŠã1950幎代ã®ãã®èšèªãæ代é
ããšèŠãªãããªãçç±ã®ç°¡åãªèª¬æã¯ããã®åºç€ãæè¡ã§ã¯ãªãæ°åŠã§ãã£ããšããäºå®ã§ãã çµå±ãæ°åŠã«ã¯æå¹æéããããŸããã Lispã1950幎補ã®æ©åšãšæ¯èŒããã®ã§ã¯ãªããããšãã°ã1960幎ã«çºèŠãããçŸåšã§ãæéã®æ±çšãœãŒãã¢ã«ãŽãªãºã ã§ããã¯ã€ãã¯ãœãŒãã¢ã«ãŽãªãºã ãšæ¯èŒããæ¹ãæ£ããã§ãããã
1950幎代ããåç¶ããŠããå¥ã®èšèªã§ããFortranããããããã¯èšèªéçºã«å¯Ÿããå察ã®ã¢ãããŒããè¡šããŠããŸãã Lispã¯ãçªç¶ããã°ã©ãã³ã°èšèªã«å€ãã£ãçè«ã§ããã Fortranã¯ããšããšããã°ã©ãã³ã°èšèªãšããŠéçºãããŸããããä»è©äŸ¡ããããã«ãäœã¬ãã«ã®èšèªãšããŠéçºãããŸããã
1956幎ã«éçºããã
Fortran Iã«ã¯ãçŸåšã®Fortranèšèªãšã¯ãŸã£ããç°ãªãããªãŒãã£ãŒã«ãããããŸããã Fortran Iã¯ãæ°åŠã䜿çšããã¢ã»ã³ããªèšèªã«è¿ããã®ã§ããã ããæå³ã§ã¯ãæ°ããã¢ã»ã³ããªèšèªããã匱ãã£ãã§ãã ããšãã°ããµãã«ãŒãã³ããªãããžã£ã³ãæäœã®ã¿ããããŸããã çŸåšã®Fortranã¯ããããFortran IãããLispã«è¿ãã§ãããã
LispãšFortranã¯ã2ã€ã®ç°ãªãé²åããªãŒã®æã§ããã 1ã€ã¯æ°åŠã«ç±æ¥ãã2ã€ç®ã¯æ©æ¢°ã¢ãŒããã¯ãã£ã«ç±æ¥ããŸãã ãã®åŸãããã2ã€ã®ããªãŒã¯çµ¡ã¿åã£ãŠããŸãã Lispã¯åŒ·åã«çºå°ããä»åŸ20幎éã§å éããŸããã ããããäž»æµã®èšèªã¯ããã«å§ãŸããŸããããçŸæç¹ã§ã¯ãæãå
é²çãªèšèªã¯Lispã«è¿œãä»ãããšã¯ã»ãšãã©ãããŸããã 圌ãã¯åœŒã®è¿ããå»ã£ããããŸã ããã€ãã®ãã®ãäžè¶³ããŠããã
ç¶ãããŒã«ã»ã°ã©ãã ã«ããHabréã«é¢ãã80以äžã®èšäºãïŒç¿»èš³ãæäŒããã人-æ¥ç¶ïŒè¿œäŒžY Combinatorã«èå³ããããGrahamã®ã¢ã€ãã¢ãããªãã«è¿ãå Žåã¯ãå人çãªæçŽã«æžããŠãã ãããããã€ãã®ã¢ã€ãã¢ããããŸãã