ãããã®èšèªã§ã³ãŒããæžã人ã ã®ãããªããã°ã©ããŒãæå³ãããŠãŒã¶ãŒã«ãã£ãŠãç§ã¯ããã«äºçŽããããã§ãã ãŸãããããŠãã®ã³ãŒãã«åè¡ããããåã«èªã人ã
ã«ã¹ã¿ã ããŒã¿åã¯ãèšèªã§å©çšå¯èœãªãã®ã«åºã¥ããŠãŠãŒã¶ãŒãäœæã§ããããŒã¿åã§ãã
ãŠãŒã¶ãŒã¯ããããã®ã¿ã€ãã®ããŒã¿ãå¿ èŠã§ãã
ãŠãŒã¶ãŒã¯ãåžæããæ¹æ³ã§ããŒã¿ãäœæã§ããããšãæãã§ããŸããã 圌ãã¯æã¿ãæã¿ããããŠç¢ºãã«æã¿ãŸãã ããå€ããããå€æ§ã§ããã匷ãã
ãã®ãããããã°ã©ã ããã³ããã°ã©ãã³ã°èšèªã§ã«ã¹ã¿ã ããŒã¿åã®éçºã远跡ããããšãæçšã§ãã
ã«ã¹ã¿ã ããŒã¿åã®æ¬ åŠ
æã ããŠãŒã¶ãŒããŒã¿åã¯ãããŸããã§ããã ãªããšãªããããã
ã³ã³ãã¥ãŒã¿ãŒæ代ã®å€æãã«ã¯ãèšèªã¯ããã»ã©ç±ããããŸããã§ãã-æ©æ¢°ïŒããªãã¯åœŒãã®ç¬è£ã«åŸãïŒãããŠããã§ã¯å£è¿°ã¯ç°¡åã§ãïŒãã€ããª10é²æ°ã·ã¹ãã ã§äœãããæ°ïŒãŸãããŸãã¯ãããåäœããããã»ããµãŒïŒãšããã»ããµãŒåœä»€ïŒã䜿çšãããããªããã
ãããã®ãæé»æ代ãã«ã¯è§ŠããŸããã
1ã€èšããããšã¯ãããã«ã¯ãŠãŒã¶ãŒããŒã¿åã¯ãããŸããã§ããããããã°ã©ããŒã¯ã©ãã«ãçãæ®ããäœããã®åœ¢ã§ããã°ã©ã ãäœæããŸããã
çµã¿èŸŒã¿ããŒã¿å
çµã¿èŸŒã¿åã¯ãšãŠã䟿å©ã§ãïŒ éçºè ãèšç»ãããšããã«äœ¿çšããªãã...
æåã®å€ããå°ãªããéåžžã®èšèªã¯ã¢ã»ã³ãã©ãŒã§ããïŒå®éã«ã¯å€ãã®ã¢ã»ã³ãã©ãŒãããã50幎代ã«ç»å Žããèšèªã®ããã¯ããŒã³ã«ã€ããŠè©±ããŠããŸãïŒã èªã¿ãããã«å ããŠããŠãŒã¶ãŒããŒã¿ã®é¢ã§å€ãã®æ°ããæ©èœãè¿œå ããŸããã
æ倧ã®çŽãããªãææã¯ãå€æ°ãäœæããèœåã§ãïŒ ãã以æ¥ãã»ãšãã©ãã¹ãŠã®èšèªã«ãã®ãããªæ©äŒããããŸã-å€ââæ°ãäœæããèœåã
åæã§äœãããã¢ã»ã³ãã©ãŒã®2çªç®ã«å£ããªãäž»èŠãªææã¯ããã¹ãŠã®ããŒã¿åïŒããã°ã©ããŒãå¿ èŠãšãããããããªãïŒãçŽæ¥èšèªã«æ¿å ¥ããè©Šã¿ã§ãã
ããŠãæ®ãã¯ããããªããšã§ã-ãŸã第äžã«ããã€ããªã§ã ãã§ãªãã16é²æ°ã8é²æ°ã2é²æ°ã®10é²æ°ã·ã¹ãã ã§ãæ°å€ãèšé²ããæ©èœã
ããããããŠãŒã¶ãŒã¯ä»ã«äœãå¿ èŠãªã®ã§ããããïŒ
幎ãçµéããé«ã¬ãã«ã®æœè±¡åã ãã§ãªããã«ã¹ã¿ã ããŒã¿åã®å¿ èŠæ§ãé«ãŸããŸããã
ãããŠã1957幎ã¯Fortranã§å§ãŸããŸããã
ãã®äžã«æžãããã³ãŒãã¯ã»ãšãã©çŸä»£èšèªã«äŒŒãŠããŸãããããã³ãã«ãŒãäžã®ããŒãžã§ã³ã¯ãããèªã¿ãã人ã«è¡æãäžããããšãã§ããŸãã
Fortranã¯ã匟éããµã€ã«ã®é£è¡ãèšç®ããããã«å¿ èŠãªãã®ãã¹ãŠãäžããŸãã-æŽæ°ïŒintãªã©ïŒãã³ã³ãïŒfloatãªã©ïŒãè€çŽ æ°ãªã©ã®ããŒã¿ã
è¡ã§ããïŒ èª°ããã³ãã«ãŒãã§ããããå¿ èŠãšããŸããïŒ ãããã¯ãFortranã§åŸã§è¡šç€ºãããŸã-20幎åŸã«ã®ã¿å®éã®è¡ãããã³ãããã®æš¡å£-10åŸã«ïŒè«çããŒã¿åãšãšãã«ïŒè¡šç€ºãããŸãã
Fortranã¯ãã»ãŒå®éã®ãŠãŒã¶ãŒããŒã¿åãé åãšããŠæäŸããŸããïŒãã®äœ¿çšæ³ã¯çŸä»£ã®ãã®ãšã¯å€å°ç°ãªããŸããïŒããããã«ã€ããŠã¯ã°ã«ãŒããŠãŒã¶ãŒããŒã¿ã®ç« ã§è©³ãã説æããŸãã
ãããããŠãŒã¶ãŒã¯å°æ°ã§ã-圌ãã¯ããå€ãã®ãŠãŒã¶ãŒããŒã¿ãæãã§ããŸãã
ãããŠä»ã圌ã¯çŸããŸã-ã¢ã«ãŽã«ããã§ã«1958幎ã«ãä»æ¥èªã¿ãããããã°ã©ã ã
ããã¯ãAlgolãçŸåšã©ãã«ã§ãããããšã®åºç€ããããããã ãã§ã-ããŒã«åãæååãããŸããŸãªæŽæ°åãã«ã³ãä»ãã®æ°å€ å°ãåŸã«ãFortranãããããã¹ãŠãé©çšããŸãããAlgolã¯å é§è ã§ããã
ãã¹ãŠã®é£æ¬²ãæºããããŠããããã«æãããŸããããŠãŒã¶ãŒãå¿ èŠãšããä»ã®ã¿ã€ãã¯äœã§ããïŒ ã¯ãããã¹ãŠãæ¢ã«å®è£ ãããŠããŸã-ãã ããã䜿çšããŠäœ¿çšããŠãã ããã
ãããŠãFortranã§ã¢ã«ãŽã©ã®ãããšãèžããšã1958幎ã«èšèªãšã¯ãŸã£ããå¥ã®èšèªãLispãç»å ŽããŸããã
Lispã¯æ³åã絶ããé¢æ°ãäœæã§ããŸãã ãããšäžç·ã«æ®ããæ¹æ³ã ãïŒ
圌ã¯ããã«å¥ã®ãŸã£ããæ°ããã¿ã€ãã®ããŒã¿ãå®éã®ãŠãŒã¶ãŒããŒã¿ã¿ã€ããæäŸããŸãã-é¢æ°ïŒCåŒã®åœ¢åŒïŒã¯ã21äžçŽã®åãããã®ã¿ããã¹ãŠã®çŸä»£èšèªã«ãã£ãããšå ¥ãå§ããŸããïŒäž»ã«ãã«ããã©ãã€ã èšèªPythonãšRubyã®ãããã§ãïŒã Lispã䜿çšãããšããã¯ãïŒ58çªç®ã®eval-sã®ããã°ã©ãã³ã°ã®ãããªãã®ïŒã§æäœã§ããããšãèãããšãäžçããã®æºåãã§ããŠããªãã£ãã®ã¯é©ãããšã§ã¯ãããŸããã
ããããä»ãäžçã¯Lispã®æºåãã§ããŠããŸããïŒ ãããããªãã
çç±ãææããŠãã ããã Lispã¯ãä»ã®é¢æ°åããã°ã©ãã³ã°ãšåæ§ã«ãé«åºŠã«çžäºæ¥ç¶ããããªããžã§ã¯ãã§åäœããæ©æ¢°åŒæèšã®æ¥ç¶ãããã®ã¢ã幟åé£æ³ãããŸãã åœä»€åèšèªãšã¯ç°ãªããã®ã¢ã®ããã³ã¯ã¡ã«ããºã å šäœãããã¯ããŸãã ãã®ããããŠãŒã¶ãŒã®ããŒã¿åãå«ãèšèªèŠä»¶ã¯ããã«å³ãããªããŸãã Lispãåœä»€åèšèªã§ããã«çºçãããããã®åé¡ã¯ã80幎代ã®çµãããŸã§ã«æªåããŸããã
Lispã䜿çšãããšãä»»æã®CåŒãäœæã§ããŸãã ããããCåŒãæäœããããã®æšæºã®ã·ã³ãã«ãªããŒã«ãããã§ãã1ã€ã®ããŒã«ãããã®ã¿ãæäŸãããŸãã
ãŠãŒã¶ãŒããŒã¿ãæžã蟌ãæ©äŒãããããšãããããŸãããããªããã£ãã䜿çšããå Žåãšåãããã«äœæ¥ããããšãã§ããŸãã Lispã©ã€ã¯ãªèšèªã®éçºã¯ããããŸã§ã®ãšãããæžãããŠããªãCåŒã®è¯ãããŒã«ããããèŠã€ãããªãã£ãããšã瀺ããŠããŸãã
誰ããé·ãé幞ãã§ã¯ãªãã£ãã ãŠãŒã¶ãŒããŒã¿ã®éçºã¯ã10幎è¿ãé ããŠããŸãã
äœããå¿ èŠãªå Žåã¯ããããã®ããŒã¿åãçŽæ¥èšèªã«è¿œå ããŸããã ããããåœæãèšèªã¯çŸåšã»ã©éãéçºããã³æŽæ°ãããªãã£ããããäž»ã«ã«ã¹ã¿ã ããŒã¿åã®äœæãæš¡å£ããããšã«åŸäºããŠããŸããã
å ã®ããŒã¿åããã®æš¡å£ã¯ãæ©èœçã«ã»ãŒåãã§ãã åºæ¬çã«ãåœæã®æš¡å£ã¯é¢æ°ã«ãããšãã¥ã¬ãŒã·ã§ã³ã«åºã¥ããŠããŸããïŒæç¶ãåïŒã
å®éã®ãŠãŒã¶ãŒã¿ã€ããšã®äž»ãªéãã¯1ã€ã§ããããŒã¿ã¿ã€ããããããã«ãå€æŽããå Žåã¯ããã¹ãŠã®æ©èœãæžãæããå¿ èŠããããŸãã 誰ãããããããããããŸããã§ããã
ãããã£ãŠãæš¡å£ã¯ããæè»ã«ãªããŸãã
ããŠã誰ããç¥ã£ãŠãããšèšããŸãããããã§éèŠãªããšã¯ã説æããã·ãã¥ã¬ãŒã·ã§ã³ææ³ã§ã¯ãªãããã®ææ³ã®èŠéè§ã§ãã
å Žåã«ãã£ãŠã¯ã次ã®æ©èœã®ã¿ã䜿çšããå¿ èŠããããŸãã
æåã«ããã©ã°ã«åºã¥ããæ§æå¯èœãªæ©èœãç»å ŽããŸããã ããã¯æãç°¡åãªæ¹æ³ã§ã¯ãããŸããããã¢ã»ã³ãã©ãŒã«éåžžã«ãã䌌ãŠããŠããŸã ç¥ãããŠããŸããã
ãã©ã°ãæž¡ãããšã®æ¬è³ªã¯åçŽã§ã-æ°å€ããã©ã¡ãŒã¿ãŒãšããŠæž¡ãããšã§ããããã®æ°å€ã¯äžé£ã®ãã€ããªãã©ã°ãšããŠè¡šãããŸãã åºç¯å²ã«äœ¿çšãããŠããŸãããäžé£ã®ãã©ã°ã®ãããªèšèªã«ã¯ç¹å¥ãªããŒã¿åã¯ãŸã ãããŸããã 代ããã«ãè«çå®æ°ã®ããã«èŠããååä»ãå®æ°ãšãããæäœ-圌ãã¯è¯ã代çšåãèŠã€ããŸããã
æãåçŽãªæ¹æ³-ã©ãã§ãåºã䜿çšãããŠããŸã-ãã©ã¡ãŒã¿ãŒã®æ§æïŒæ§æããå¿ èŠãããã»ã©ãããå€ãã®ãã©ã¡ãŒã¿ãŒãæž¡ãããŸãã ãã€ãã¹èšå·ã®ã¿ããããŸã-ãã©ã¡ãŒã¿ãŒãéä¿¡ãããé åºã§æ··ä¹±ããã®ã¯ç°¡åã§ãã ãããã£ãŠããããã®ã¡ãœããã§ã¯æ倧4ã5åã®åŒæ°ãæž¡ãããšããŸãã
å®éã®ãŠãŒã¶ãŒããŒã¿ãç¹ã«ã°ã«ãŒãããã³è€åããŒã¿ã®éçºã«ãããããå€ãã®åŒæ°ã«ã€ããŠã1ã€ã®è€éãªåŒæ°ãæž¡ãããšãå¯èœã«ãªããŸãããããã¯ãæ°Žå¹³ã ãã§ãªãåçŽã«ãåãæ§æã§ãã
ãã®ã¡ãœããã®éçºã¯ãæ©èœãæ§æããããã®åã蟌ã¿èšèªïŒDSLïŒã®äœæãšåŒã°ããŸãã
ã·ãã¥ã¬ãŒã¿ãŒã®æè»æ§ã®3çªç®ã®æ¹æ³ã¯ãã³ãã©ãŒã®çºæã§ãããã ããåœæã¯åŒã³åºãããŸããã§ãããå€ãã®å Žåããããã¥ã¬ãŒã¿ãŒã®ä»£çã§ããããªã³ã¯ããã€ã³ã¿ãŒã§ã¯ãªããæ°åãšæååã§ããã
çµã¿èŸŒã¿ããŒã¿åã®æ代ã¯çµãããåããŠããŸããã
ãããã幎ãæ¥ã1972幎ãç»å Ž... C. ãããŠãæç«ïŒçµã¿èŸŒã¿ããŒã¿åïŒã®åªäœæ§ã®æ代ã¯ããã«10幎éç¶ããããã«ã¹ã¿ã ããŒã¿åã¯å€ªéœã®äžã§ãããã®å Žæã«çœ®ãå§ããŸããã
Cèªäœã«å«ããã
ããããä»ã®ãšãããå¥ã®çµã¿èŸŒã¿ããŒã¿åã«æ»ããŸããããããã¯ãèšèªã®äººæ°ãé«ãŸã£ãŠããçç±ã®1ã€ã«ãªã£ãŠããŸãã Cã¯äœã¬ãã«ã®ããŒã¿åãå°å ¥ããŸãããããã¯ã¢ã»ã³ãã©ãŒã«ãããæåã®é«ã¬ãã«èšèªã§ããåçåã§ã¯å®å šã«å¿ããããŠããŸããã ãŸã第äžã«ããããã¯åç §ãšãã€ã³ã¿ã§ãã ãããã«ãµãŒãã³ã°nullããŒã¿å-nullãè¿œå ãããŸããã
ãã¹ã¿ãŒããŒãªã©ã®åçãªããŒã¿ã¿ã€ãã¯èŠèŠããã§ãããã©ã®ãããªé ãéšå±ã«ã¯ã¢ã¯ã»ã¹ã§ããŸãããïŒïŒ
ãªã³ã¯ã¯ããã®ã¿ã€ãã®ãŠãŒã¶ãŒããŒã¿ãå矩èªãšããŠå®è£ ããããã®ãªãã·ã§ã³ã®1ã€ãšèããããšãã§ããŸãã
ã·ããã ã®éçºã¯ãPCPãšå€æ°å€æ°ã®æŠå¿µã«èŠãããŸããååãåŒã³åºãããå€æ°ã®å€ã«æžã蟌ãŸããŠããå€æ°ãŸãã¯é¢æ°ã®å€ãè¿ãããšãã§ããŸãã
Cã§ã¯ãé¢æ°åŒã³åºããé¢æ°åŒã³åºãïŒåŒã³åºãïŒã§åŒã³åºãããã³ãŒã«ããã¯é¢æ°ïŒã³ãŒã«ããã¯ïŒãæž¡ãããšãã§ããŸãã
ããã«å ããŠãåçããŒã¿åã¯ãã³ã³ãã€ã«ãããã³ãŒãã®å®è¡ãé«éåããã®ã«åœ¹ç«ã¡ãŸãã
ãããã®ãã©ã¹ã«ã¯ãåçããŒã¿åã«ã¯ãã1ã€ã®å€§ããªãã©ã¹ããããŸãããããã䜿çšãããšãèšèªèªäœã«èŠå®ãããŠããªããã®ãç°¡åã«å®è£ ã§ããŸãã åçããŒã¿ãæäœããããã®ããŒã«ã®å©ããåããŠã®ã¿ã¢ã¯ã»ã¹ã§ããã®ã¯ããããã䜿çšããŠèšè¿°ããã1ã€ã®åé¡ã ãã§ãã ããããããŒã¿ãã·ãã¥ã¬ãŒããããšãã®ãã€ãã¹ã®ææ³ã¯æ¢ç¥ã§ã-é¢æ°ãéããŠãäœæããããã®ãžã®ãªã³ã¯/ãã€ã³ã¿ãŒãè¿ã-ãã³ãã©ãŒã ãããã¥ã¬ãŒã¿ãŒã¯ãç°ãªãèšèªã®ããŒã¿ã®çš®é¡ã®1ã€ã§ããããŸã£ããç°ãªãæ¹æ³ã§åŒã³åºãããšãã§ããŸãã
ããšãã°ãPCPã§ã¯Erlangã§ã¯ããŒããšããã»ã¹èå¥åãšãããªãœãŒã¹ãšåŒã°ããŸãã Kobolã«ã¯ããã¡ã€ã«ãç»åãªã©ã®ããŒã¿åããããŸãã
ãã ããåçããŒã¿åã¯å©ç¹ã ãã§ã¯ãããŸããã ãã€ãã¹ããããæã«ã¯éåžžã«å€§ãããªããŸãã
åçããŒã¿åã®äœ¿çšãèšèªã«ããèªç±ã«ãªãã°ãªãã»ã©ã次ã®ããšãã§ããŸãã
1ïŒèšèªã«åºæã§ã¯ãªããã®ãäœæããæ©äŒã®å¢å ïŒå¿ ãããããããååããªæ©äŒã§ã¯ãªãïŒ
2ïŒã³ã³ãã€ã©ãŒã¯ãŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã«ä»å ¥ããªããªããã¢ã¯ã·ã§ã³ã«å¯Ÿãããã¹ãŠã®è²¬ä»»ã¯ããã°ã©ããŒã«ãããŸã
2ïŒã³ãŒãã®äžå®å®ããæ¥æ¿ã«å¢å ãã
3ïŒåå空éãšå€ãžã®ã€ã³ãžã§ã¯ã·ã§ã³ã®å¯èœæ§ãåçã«å¢å ããŸã
4ïŒã¬ããŒãžã³ã¬ã¯ã¿ãŒã®ä»å ¥ãå°ãªããªãããã¹ãŠã®è²¬ä»»ã¯ãŠãŒã¶ãŒã«ãããŸã
ãããªãæŽå²ã¯ãåçããŒã¿ãè¿œå ããå ŽåãåŸç¶ã®èšèªã®äœæè ïŒãŸãã¯æ¢åã®èšèªã«è¿œå ããå ŽåïŒãã»ãã¥ãªãã£ãšæ©èœã®ã®ã£ããããã©ã³ã¹ãããããšã瀺ããŸããã
70幎代ã®çµãããè¿ã¥ããŠããããããã®åºæ¬çãªçµã¿èŸŒã¿ããŒã¿ã¿ã€ãã¯ãå®éã®ãŠãŒã¶ãŒããŒã¿ã«åã£ãŠä»£ãããåšèŸºãã«ãŒãã³ã«è¡ãå§ããŸããã
ããããçŸå®ã«ã¯é©ãã¹ãé©ããæã ãããŸãã
å€ããŠé·ãéç解ãããŠããããŒã¿åã§ãããã«å€ãã®ããŒã¿ãèŠã€ããããšã誰ãç¥ã£ãŠããŸããïŒïŒ
æã ããã¹ãŠãé·ãéç¥ãããŠããæ°ãããã®ãèŠãå¿ èŠãããã ãã§ãã ããšãã°ãMïŒMã®ãã®ãœãŒã
ãã®åŸã70幎代åŸåã«ãAWKã¹ã¯ãªããèšèªïŒgrepãŠãŒãã£ãªãã£ã®éçºã䜿çšïŒãç»å Žãã10幎åŸãããã«åºã¥ããŠ1987幎ã«Pearlã®ãããªèšèªãç»å ŽããŸããã ãããŠããšãããã圌ã¯æ£èŠè¡šçŸã®ãããªãšããŸããã¯ãªçµã¿èŸŒã¿ããŒã¿åãæã£ãŠããŸããïŒãŸã æã£ãŠããŸãïŒã
ããŒã«ã¯ãæååãªã©ã®å€ãããŒã¿åãæ°ãã芳ç¹ããèŠãã®ã«åœ¹ç«ã¡ãŸããã åæèšèªã§ãã®ããŒã«ã䜿çšããããã®ããŒã«ã¯ãåçŽåãããããŒãµãŒãšèŠãªãããšãã§ããŸãã
æ£èŠè¡šçŸèšèªã¯ãã·ã³ããªãã¯ããŒã¿åãæäœããããã®éåžžã«æè»ã§åŒ·åãªããŒã«ã§ããããšã蚌æãããŠããŸãã
ã°ã«ãŒãããŒã¿ã¿ã€ã
äžéšã®ã°ã«ãŒãã¯å€§èŠæš¡ã§ãã æ©ã圌ããšåããã
å®éãã°ã«ãŒãã®ããŒã¿åã¯èšèªãæã€ãã®ã®å€ãã§ãããéåžžã¯åçžã®ã°ã«ãŒãåã§ãã å€ãã®å Žåããããã®ããŒã¿åã¯ãŠãŒã¶ãŒå®çŸ©ã§ã¯ãªããçµã¿èŸŒã¿ã§ãããæã«ã¯æè»æ§ãé«ãããã«ããã§ååãªå ŽåããããŸãã
Fortranã¯ãã§ã«ã°ã«ãŒãããŒã¿åããµããŒãããŠããŸã-ãããã¯é åã§ãããçŸåšã¯å°ãç°ãªã£ãŠããŸãã çŸä»£ã®ãã®ãšéåžžã«ãã䌌ãé åã¯ããã§ã«ã¢ã«ãŽã«ã«ãããŸããã ãã¹ã«ã«ã«ã»ããããããŸããïŒã»ããïŒ
Lispã«ã¯ãªã¹ãïŒãªã¹ãïŒããããŸããã
次ã«ãããã·ã¥ããŒãã«ãé¢é£ä»ããããé åããã¯ãã«ãããŒãããã¥ãŒãã¹ã¿ãã¯ãããªãŒ...
äœããåã蟌ãŸããäœããã«ã¹ã¿ã ããŒã¿ã¿ã€ãã䜿çšããŠã·ãã¥ã¬ãŒããŸãã¯äœæãããŸããã
ã°ã«ãŒãããŒã¿ã¿ã€ãã®ãããªãéçºã¯ãéçºã®2ã€ã®ç°ãªããã©ã³ãã«ã€ãªãããŸãã
1ïŒåã°ã«ãŒãã®ããŒã¿åã§ãã®æ©èœã䜿çšããå¿ èŠæ§ã¯æãæºè¶³ã®ãããã®ã§ã¯ãªãã£ãã®ã§ãåãæ¹æ³ã§äœæ¥ããããšæããŸããã åœä»€åèšèªã®ãã®ããã®äž»ãªããŒã«ã¯ãã³ã¬ã¯ã·ã§ã³ãšã€ãã¬ãŒã¿ã§ãã äž»ã«2000幎代åæã«è¿œå ãããŸããã
2ïŒ80幎代ãããŒã¿ã®å¢å ã«äŒŽããã°ã«ãŒãã®ããŒã¿åãæäœããããã®ããŒã«ãæ¡åŒµããå¿ èŠæ§ãé£èºçã«é«ãŸããŸããã ããŒã¿ããŒã¹ãç»å Žããããããšãšãã«ã¯ãšãªãšã¯ãšãªèšèªã®äž¡æ¹ãç»å ŽããŸããã 80幎代åã°ã«ãæ§é åç §äŒèšèªïŒSQLïŒãæ¯é çã«ãªããŸããã æååã®ããŒãµãŒãšåæ§ã«ãã¯ãšãªèšèªã¯ãã°ã«ãŒãããŒã¿åã«äœ¿çšãããããŒã«ãããªããã£ãã¯ãšãªèšèªãšèŠãªãããšãã§ããããšãæ確ã«ããŸããã ååãšããŠãããŒã¿ããŒã¹ã¯èšèªããåãåºãããèšèªã§ã¯ããŒã¿ããŒã¹ãæäœããæ¹æ³ãããããŸããããããã£ãŠãæ¬æ ŒçãªãŠãŒã¶ãŒããŒã¿åãšã¯èŠãªãããŸããã æè»æ§ããããããããã¯éèŠã§ã¯ãããŸããã
å®ãŠãŒã¶ãŒã®ããŒã¿å
ããŸããŸãªèšèªã®çµã¿èŸŒã¿ããŒã¿åã®æ代ã«ã¯ãéåžžã«ãšããŸããã¯ãªçµã¿èŸŒã¿ããŒã¿åã®ãµããŒãããããŸãã
ããšãã°ãCã§ã¯ããã®ã¿ã€ãã®ããŒã¿ã¯åæåã§ããã ã¹ã«ã©ãŒãšåŒã°ããŠããŸããããPascalïŒ1970ïŒã«ãã£ãŠæåã«å°å ¥ãããCãå è¡ããŠããŸããã
æã§åäŸã«ã説æããããåæãšã¯
åæã¯å®éã®ãŠãŒã¶ãŒããŒã¿åã§ãïŒ Xiã¯ãã®ããã«èšå¿µç¢ã建ãŠãå¿ èŠãããããã«æãããŸãã ããããå¢ç³ãããããŸããã
å®éããŠãŒã¶ãŒã¯è»¢éãäœæããããšãã§ããŸãã ããããCã§ããããæäœãããã®ã¯äœããããŸããïŒPascalã«ã¯åºæ¬ã»ããããããŸããïŒã äœããããŸããã 転éãäœæã§ããŸããããããã䜿çšããããšã¯ã§ããŸããã
Cãäž»æµã§ãã£ãããããã®ããŒã¿åãä»ã®èšèªã«è¿œå ããããšæã£ã人ã¯ã»ãšãã©ããŸããã§ããã C ++ 11ã§ã®ã¿ãåæãæäœããããã®å°ãªããšãããã€ãã®ããŒã«ããããç»å ŽããŸããã
ãã®äŸã¯ãLispã®éçºãšåæ§ã«ããŠãŒã¶ãŒå®çŸ©ã®ããŒã¿åã ãã§ãªããããããæäœããããŒã«ãæã€ããšã®éèŠæ§ã瀺ããŠããŸãã
è€åããŒã¿å
ãšã³ããªã¯éåžžã«å€æ§ã§ãã ãŸã ãããã䜿çšããæ¹æ³ãåŠã³ãŸã
ããããCã«ã¯å¥ã®å®éã®ãŠãŒã¶ãŒå®çŸ©ããŒã¿åããããŸããã ããã¯ãã£ãšä»¥åã«çºæãããŸãããã60幎代ååã«ç»å ŽããKobolã«æ»ããŸããïŒèšèªèªäœã¯1959幎ã«äœæãããŸããïŒã
ããã¯ãCæ§é äœã§åŒã³åºãããã¬ã³ãŒãã§ãã
ã¬ã³ãŒãã¯ãç°çš®ããŒã¿åã®ã°ã«ãŒãã«ãããŸããã
èšé²ã«ã¯èšé²ããŒã«ãä»å±ããŠããŸãã ããšãã°ãCã¯ãã¬ã³ãŒããæäœããããã®æšæºçãªæå°æšæºãå®å šã«ã¯æäŸããŸããïŒããšãã°ãçåŽã®ã¿ã®åæåïŒã
é²é³ãç䌌ããã«ãå®éã®ãªã¹ããšããªãŒãäœæããã®ã¯ç°¡åã§ãã
ãã¹ãŠãåã³èšèªã«ãªã£ãŠããŸããïŒ
ããããåã³ãããã
ã«ã¹ã¿ã ããŒã¿åãçšæããã ãã§ã¯ååã§ã¯ãããŸããã PDDãšåæ§ã«PDDã§äœæ¥ããããã®ããŒã«ãããã ãã§ã¯äžååã§ãã å¥ã®ããšãåé¢ã«åºãŠããŸãã
誰ãäœæãããŠããªãããŒã¿åã®ããŒã«ããããæäŸããŸããïŒ
ããŠãèšé²ããµããŒãããèšèªã¯ãLispãé¥ã£ãèšèªãšåæ§ã®intoã«é¥ããŸãã-ããªãã¯ããªãèªèº«ã®ããŒã¿ãäœæããããããæ±ãããšãã§ããŸã-åºæ¬çãªã»ããã ãã§ãã
ããã«æªãã®ã¯ãLispã®ç¶æ³ã ãã§ãããã®èšèªã§ã¯ãã¹ãŠãCåŒã§ãããCãKobolãªã©ã§ã¯ãã¬ã³ãŒãã¯ç¬ç«ããã¿ã€ãã§ãããããã«ãå°ããªããŒã«ãããã§ã¯ãããŸãããç¬èªã®ã¿ã€ãã§ãã
幞ããªããšã«ããã®ãããããã¯ã®è§£æ±ºçã¯é·ãç¥ãããŠãããé¢æ°ã䜿çšããŠãŠãŒã¶ãŒããŒã¿åã®æäœãã·ãã¥ã¬ãŒãããŸãã
ããã°ã©ããã«ã¹ã¿ã ããŒã¿åã®éèŠæ§ãèªèããã®ã¯ãã¬ã³ãŒã/æ§é ïŒCãå«ãïŒã®ãããã§ãã
åæã«ããŸã äœæãããŠããªãããŒã¿åãæäœããããã®ããŒã«ã®æ·±å»ãªäžè¶³ãæ確ã«ç€ºãããŸããã
ãããŠçãã¯ããã§ããã é©ããããšã«èãããŸãããCãäœæãããæ°å¹Žåã®ããšã§ããã圌ã¯ãšãŒãããã«ããŠãSimulaïŒ1967ïŒãšåŒã°ããŠããŸããã ãããŠãCããŠãŒã¶ãŒããŒã¿åçšã®ããŒã«ã®äžè¶³ã§çªæ¯ãå§ãããšããC ++ïŒ1983幎ïŒã¯Simulaããæé«ã®ãã®ãæ¡çšããCã«æ§æãé©çšããŸããã
ãªããžã§ã¯ã
ãªããžã§ã¯ãã¯ãã¹ãŠãå®è¡ã§ããŸãã èªåèªèº«ãšèªåèªèº«ã®äž
ãªããžã§ã¯ãã¯å¥ã®ã¿ã€ãã®ãŠãŒã¶ãŒããŒã¿ã§ãã ã¬ã³ãŒããããå€§å¹ ã«åªããæ©èœãåããŠããŸãã
ããã«ããã圌ã¯åã«å€§äººæ°ãåŸãæ©äŒãåŸãŸããã
ç®èãªããšã«ããªããžã§ã¯ãã®ãªãCã®æ°å¹Žåã«åºãŠããSimulaã®ããã«ãC ++ã®æ°å¹Žåã«ãSmoltolkã¯1980幎ã«ãã©ãã€ã ãããã¹ãŠã®ãªããžã§ã¯ãããšå®£èšããŸããã
ããããSmalltalkã¯ããŸã人æ°ããªããC ++ãåæ»ã®ã¬ãã«ã«éãããŸã§åŸ ããªããã°ãªããããã®åŸ1995幎ã«Javaã¯åã³ããã¹ãŠã®ãªããžã§ã¯ãããã©ãã€ã ãèªãããã«é äžã«äžããããšãã§ããŸããã
ãªããžã§ã¯ããã¬ã³ãŒããšããã»ã©å€ãããªãã®ã§ããªããªããžã§ã¯ããããã»ã©åªããŠããã®ãã å®éãã¡ãœãããè¿œå ããåããšã³ããªã
ãŸãããªããžã§ã¯ãèªäœãæäœããããã®ããŒã«ã¯ãæ§é äœãæäœããããã®ããŒã«ãããã¯ããã«è±å¯ã§åŒ·åã§ãã
ãããŠç¬¬äºã«ããŸã äœæãããŠããªããªããžã§ã¯ããæäœããããã®ããŒã«ãååšããŸããã§ããã
ãªããžã§ã¯ãã«äœæãããŠããªãããŒã¿åã®ããŒã«ããããã¬ã³ãŒãã«ãªãå Žåã¯ãã2çªç®ãã¯ã©ãã«ããã®ããå°ããŸãã ãããŠãŸã ã第äºã«ïŒ èšé²ã«ã€ããŠã¯ããã®ããŒã«ããããæš¡å£ããå¿ èŠããããŸãããããªããžã§ã¯ãã«ã€ããŠã¯ããã®ããŒã«ãããããªããžã§ã¯ãèªäœã®å éšã«åçŽã«å®è£ ã§ããŸãïŒ
ãŸããçªç¶ãŠãŒã¶ãŒããŒã¿ã¿ã€ãããããã«å€æŽããå¿ èŠãçããå Žåããªããžã§ã¯ãã®ããŒã«ãããã䜿çšããŠãç¶æ¿ã«ãã£ãŠåå«ãäœæãããã®åäœãä¿®æ£ããã®ã䟿å©ã§ããã
ãªããžã§ã¯ãã®ããŒã ãšå®å šãªäœ¿çšã¯ãçŸåšåæ»ã«ã€ãªãã£ãŠããŸãã
ãªããžã§ã¯ãã®ãããªãçºå±ã劚ãããã®ã¯äœã§ããïŒ
èŠããŠããããã«ãæ°ãããªããžã§ã¯ãã®ããŒã«ãããã®å®è£ ã¯å®å šã«ããã°ã©ããŒã«ãããèšèªã§ã¯ãããŸããããã®ãããã³ãŒãã®åå©çšã®ã¬ãã«ã¯ããã»ã©å€§ãããããŸããã
åæ§ã«éèŠãªã®ã¯ã芪å¯ããå¢ãããšã§ãã ãªããžã§ã¯ãèªäœããã¹ãŠãå®è¡ããŸããããªããžã§ã¯ããããã¹ãŠãå®è¡ããå¿ èŠã¯ã»ãšãã©ãããŸããã éã«ãèªåã§ãã¹ãŠãå®è¡ããèœåãæã£ãŠããå Žåããã®ãªããžã§ã¯ãã¯ä»ã®äººã«äœãããŸããã ãã¶ãã§ãããããã§ã¯ãããŸããã
äžéšã«ã¯ãã€ã³ã¿ãŒãã§ã€ã¹ãšããã¯ã¹ã€ã³ïŒããã¯ã¹ã€ã³ãç¹æ§ïŒã®å°å ¥ãåé¡ã®è§£æ±ºã«åœ¹ç«ã¡ãŸãã
ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãDelphiã«ãã£ãŠæåã«å°å ¥ããïŒ1986幎ã«ã¯Object PascalãšããŠãïŒãåŸã«JavaãšCïŒã§å°å ¥ãããŸããã ãããŠãããã¯ç解ã§ããŸã-圌ãã¯ãªããžã§ã¯ãèšèªã®ãªãŒããŒã§ããã
ããããé©ãã¹ãããšã«ããªããžã§ã¯ããLispïŒFlavorsãCLOSïŒïŒCLOSã¯Common Lispã®äžéšïŒã«ã¢ã¿ããããããšãããšãåŸã§ç°ãªãèšèªã«è¿œå ããããµãã¢ã€ãã /ç¹æ§ãçŸããŸããã
ãã ããã€ã³ã¿ãŒãã§ã€ã¹ãäžçŽç©ãªã©ã®æœè±¡çãªãã«ããŒã§ãããããšãã°ãfinalizedãïŒfinalïŒãšã©ãã«ä»ããããå€ããªããžã§ã¯ãã«å¯ŸããŠåžžã«åœ¹ç«ã€ãšã¯éããŸãããéšåçã«ããã€ããªãã€ãŒãŒã·ã§ã³ã®åé¡ã¯ãããã¿ã€ãç¶æ¿ïŒ1980幎代åã°ã«SelfèšèªïŒåãSmalltalkã®æ¹èšïŒã«ãã£ãŠçºèŠãããäž»ã«10幎åŸã«Java Scriptã®ãããã§äººæ°ãåŸãïŒã«åºã¥ããŠè§£æ±ºã§ããŸããããã®æ¹æ³ã«ã¯ã¯ã©ã¹ç¶æ¿ã«é¢ããæ¬ ç¹ããããŸãã
èå³æ·±ãã®ã¯ã1980幎ã«Smalltalkã«çµã¿èŸŒãŸããã¡ã¿ã¯ã©ã¹ã®ãµããŒãã§ãããçŸåšã¯Pythonãªã©ã®ããã€ãã®èšèªã§ãµããŒããããŠããŸããã¡ã¿ã¯ã©ã¹ã¯ã¯ã©ã¹ããªããžã§ã¯ããšããŠäœ¿çšããŸãïŒååž°çã¢ãããŒããªã©ïŒãããã«ããããªããžã§ã¯ãããªããžã§ã¯ããšããŠæäœããããã®ããŒã«ãå€§å¹ ã«æ¹åãããŸãã
ãããããæ°ãããªããžã§ã¯ãã®äœæã§ã¯ãªãããã¶ã€ã³ãã¿ãŒã³ïŒãã¿ãŒã³ïŒã䜿çšããã·ã¹ãã ãã¶ã€ã³ãžã®æèœãªã¢ãããŒãã§ãã
次ã«äœãèµ·ãããŸããïŒ è³ªåã¯ä¿®èŸçã§ãã
ãªããžã§ã¯ããæ§é ãªã©ã®åŒ·åãªãŠãŒã¶ãŒããŒã¿åã«ä»£ãããã®ã¯ãããŸããïŒã¯ãããªããžã§ã¯ããããåªããŠããŸãïŒãªããžã§ã¯ããå°æ¥ã©ã®ããã«éçºã§ããããç解ããããšã¯ã圌ããããèŠã䟡å€ããããŸãã
代æ¿åãæ€çŽ¢
ããªã¹ããšã¯ãªã·ã¥ããäžç·ã«ãåœä»€åãšæ©èœæ§ãäžç·ã«ããããšãã§ã
ã©ãã«ä»£æ¿ã®æ€çŽ¢ã§èŠãŠïŒ
ä»æ¥ã宣èšåïŒHTMLãªã©ïŒããã³è«çåèšèªïŒPrologãªã©ïŒã«ã¯ä»£æ¿ãå«ãŸããŠããŸããããããã¯ãããã°ã©ãã§ã¯ãªããã³ã³ãã€ã©/ã€ã³ã¿ããªã¿ãæ©èœãããšããäºå®ã«åºã¥ããŠããŸãã
ããã§ã
1ïŒã«ã¹ã¿ã ããŒã¿åãè¿œå ããããšããããããŠãå¥ã®èšèªïŒããšãã°ãHTML + Java ScriptïŒãšã®å ±çãéå§ããå¿ èŠããããŸã
ã2ïŒä»ã®ããã°ã©ãã³ã°ãã©ãã€ã ãæ¥ç¶ããŸãã
ãšããã§ãä»ã®ãã©ãã€ã ãæ¥ç¶ããããšãç ç²ã«ããŠããã«ããã©ãã€ã èšèªãæã€ã®ã¯äœãè¯ãã®ã§ããããïŒ PythonïŒ1991ïŒãšRubyïŒ1994ïŒã¯ããã¯æããªãã£ãã
ãããŠã圌ãã¯æ£ããã£ãããã¹ãŠã®LispãæäŸããã®ãç°¡åãªå Žå-ã·ã³ãã«ããå¿ èŠãªå Žåã«é¢æ°åããã°ã©ãã³ã°ãã©ãã€ã ãé©çšããã®ã䟿å©ãªå Žå-æ®ãã®å Žåã«ã¯æç¶ãåããããŸã-ãªããžã§ã¯ãã¯ããŸã察åŠã§ããŸãã
æ°ãããŠãŒã¶ãŒããŒã¿ã¯è¿œå ãããŠããããã³ãŒãã®èšè¿°å¹çãå€§å¹ ã«åäžããŠããããã§ãã
ãããŠã2011ã®ã€ãŒãã§ãC ++ã§ãã£ãŠããLispã®ã©ã ãé¢æ°ãç»å ŽããŸããã
Rockã¯2003幎ããJavaããæé·ãããªããžã§ã¯ããæ©èœã§ãããšããåæãåãå ¥ããŸããã
ã¡ã¿ããã°ã©ãã³ã°ã¯è¯ãã§ãããã ããååãšããŠãçµã¿èŸŒã¿ããŒã¿åãæ¡åŒµïŒããæè»ã«ïŒããããæ°ããã³ãŒããçæããããäžè¬åãäœæãããããããšãã§ããŸããçµã¿èŸŒã¿ããŒã¿åã§åäœããŸãããããŸã§ããã«ãã€ã³ã§ã®ã¿ãããããã«ã¹ã¿ã ããŒã¿åããªããŠããããã°ã©ãã³ã°ã«ãŒãã³ããªãããšããç¹ã§ãã¡ã¿ããã°ã©ãã³ã°ã«ã¯æªæ¥ããããŸãïŒãã§ã«å€ãã®ç¹ã§çŸåšãååšããŠããŸãïŒã
代æ°ããŒã¿å
ATDã¯ãšãŠãçŸããã®ã§ããã¬ãŒã ã«æ¿å ¥ããŠåãäžããããšæããŸãããããŠæã ããããé¢ããŠäºåºŠãšè§Šããªãã§ãã ãã
ã
Standard MLã¯ã1990幎ã«ä»£æ°ããŒã¿åïŒATDïŒãåããŠå°å ¥ããŸããã
代æ°ããŒã¿åã¯ãæã匷åãªãŠãŒã¶ãŒããŒã¿åã®1ã€ã§ãããããã¯ãã©ã ãèšç®ã§æ°åŠè ãã³ããªãŒãšãã«ããŒã«ãã£ãŠçºèŠãããŸããã
ADTã¯ããªãŒã«ã€ã³ã¯ã³ã-ãŠãã¿ãªããŒã¿åïŒnullåïŒãåæïŒenumåãboolåïŒãä¿è·ãããåºæ¬åïŒãªã³ã¯ã§ã¯ãªããªãœãŒã¹ãªã©ïŒãã¹ã€ããåïŒCã®ãããªãã®-ãŠããªã³ïŒããªã¹ãã®ãããªæ§é ãããªãŒæ§é ãé¢æ°ãã¿ãã«ãã¬ã³ãŒãããªããžã§ã¯ãã®ãããªæ§é ïŒãªããžã§ã¯ãã§ã¯ãªãïŒããããŠãããããã¹ãŠã®çµã¿åããã
ããã¯ãªããžã§ã¯ããããã¯ããã«åªããŠããŸãïŒå°ãªããšããããŸããŸãªã«ã¹ã¿ã ããŒã¿ã¿ã€ãèªäœãäœæãããšãã芳ç¹ããã¯ããã¡ããããã§ãã
ä»ã®èŠ³ç¹ããã®ã¿ãæšæºMLãšãã以éã®OKamlaã®äž¡æ¹ã®ãã®ããŒã¿åã¯éåžžã«å°ãªãã§ãã
ADTãšåæ§ã«ADTãæäœããããã®ããŒã«ã¯ãã¬ã³ãŒããæäœããã ãã§ã¯ãªãããªããžã§ã¯ããæäœãããããã¯ããã«å°ãªãã§ãã
第äºã«ããŸã äœæãããŠããªãããŒã¿åãæäœããããŒã«ããããŸããããŸãããªããžã§ã¯ããšã¯ç°ãªããsamopisnyããŒã«ããããé ãå Žæã¯ãããŸãããæš¡å£ããã ãã§ãã
ã¹ã¿ã³ããŒãMLã®åå«ã§ããKamlã¯ãäºåºŠãšèããããšãªããèªåèªèº«ã«ãªããžã§ã¯ããè¿œå ãããªã«ã ã¬ã«ãªããŸããïŒ1996幎ãŸã§ïŒããããŠäžŠè¡ããŠãOKamlã¯ããŠãŒã¶ãŒããŒã¿ãæäœããããã®ããŒã«ã®å®è£ ããã©ã¡ããªãã¯ã¢ãžã¥ãŒã«ã§é ããããæ©èœçãªä»£æ¿ãœãªã¥ãŒã·ã§ã³ã®éçºãéå§ããŸããããããŠã15幎ã«ããã£ãŠãOkamlã¯ãªããžã§ã¯ãã«ãµããããæ©èœçãªä»£æ¿ç©ãæ§ç¯ããŸããããŸã èå³æ·±ãã¢ãããŒãããããŸã-èŠããŠããããã«ãæªæžã蟌ã¿ã®ADTããŒã¿çšã®ããŒã«ã®äžè¶³ã®åé¡ãåãé€ãããã«ããã©ã¡ããªãã¯ã¢ãžã¥ãŒã«æ©èœãå°å ¥ãããŸããããã©ã¡ããªãã¯ã¢ãžã¥ãŒã«èªäœã®ã¿ãADTãšã»ãšãã©å€ãããŸãããæžãããŠããŸãã...ã¢ãžã¥ãŒã«ãçŽæ¥ååž°ïŒ
ãããŠããã®15幎éã§ãOkamlã¯ãäœæãããŠããªãããŒã¿åçšã®ããŒã«ãäžè¶³ããŠãããšããåé¡ã解決ããå¥ã®ãªãã·ã§ã³ãèŠã€ããŸããã圌ã¯ããããªãã·ã§ã³ïŒããªã¢ã³ãïŒãšåŒã³ãŸãããããã¯äŒŒãããã«èŠããŸãããADTã§ã¯ãªãç°ãªãããŒã¿åã§ããããã¯ã¹ã€ããã³ã°ããŒã¿ã¿ã€ãã§ãããåæã«æ··åãå«ãä»»æã®æ¯çã§å ±æã§ããŸãïŒATDataã¯æ¯çã§å ±æããããšããæ··åããããšãã§ããŸããïŒãæ¯äŸçã«å ±æã§ããã®ã¯è¯ãããšã§ãïŒã€ã³ã¿ãŒãã§ã€ã¹ãŸãã¯ç¹æ§ã䜿çšããŠã®ã¿ãªããžã§ã¯ããéæã§ããŸãããå®å šã§ã¯ãããŸããïŒãããã·ã³ã°ã¯ãã°ãã°é åçã§ãïŒãªããžã§ã¯ãã§ã¯ãããè¡ããŸããïŒãŸã ããã¹ãããšããããŸãããã®ããŒã¿åã¯æªéçºã§ããã·ã³ãã«ãªéçºãã¹ã®ãã¡ãããŒã«ãããã»ããã®ããªã¢ã³ããæäœããããã®ãããŸã§ã«ãªãããŒã«ããããè¿œå ããŸãã
åã¯ã©ã¹ãšçµã¿åããã代æ°ããŒã¿å
,
90 , , , 1998. .
, . . ( ) , . â (class).
- , (roles) , /.
åã®åçŽãªã¯ã©ã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹ãè€éãªã¯ã©ã¹ã®äžçŽç©ã
ããã«ãè€éãªã¯ã©ã¹ã®å Žåãæ··åç©ãšã®é¡æšã¯é©åã§ã¯ãªããªããŸããè€éãªã¯ã©ã¹ã¯ãããŒã¿ã«å®å šã«æ¥ç¶ããå¿ èŠã¯ãªãããšã³ããªãã€ã³ãã§çµåããããèš±å¯ãããŠããå Žåã¯ããã€ãã®ãšã³ããªãã€ã³ãã®1ã€ã§çµåããå¿ èŠããããŸãã
ããã«ãã¯ã©ã¹ïŒã€ã³ã¹ã¿ã³ã¹ïŒã®å®è£ ã䜿çšãããšãã¯ã©ã¹ã®äœæãããåŸã«èšè¿°ãããã³ãŒãã ãã§ãªãã以åã«äœæãããããŒã¿ïŒå®æãããªããžã§ã¯ãã«åäœãè¿œå ã§ãããã®ããã«ïŒãšããŒã«ãå ±æã§ããŸãããªããžã§ã¯ãèšèªã§é¡æšãããšããŸãããªããžã§ã¯ãã«ã€ã³ã¿ãŒãã§ãŒã¹ãšäžçŽç©ã§ã¯ãªããäžçŽç©ãšã€ã³ã¿ãŒãã§ãŒã¹ã«ãªããžã§ã¯ããçµåããããšã§ãããå®çŸããŸãïŒããã¯ããŒã«ã®åœ¹å²ã®äžéšã§ãïŒã
ããããHaskellã¯ããã§æ¢ãŸããŸããã§ããã圌ã¯ããŸããŸãªããŒã¿åã®èªå掟çã¯ã©ã¹ãå®è£ ããŸããã
ããã¯ããªããžã§ã¯ãã«åã蟌ãŸããŠãããããããŠãŒã¶ãŒããŒã¿åã®å¯èœæ§ã®ç¹ã§ééããªãã¯ããã«éèŠã§ãã
Haskellã¯æŽ»æ³ãåããŠããŸããçŸåšã代æ°ããŒã¿åã¯å€§ããããšã®ã»ãã®äžéšã§ãã
çŸåšãããŒã¿ãã¡ããªãäžè¬å代æ°ããŒã¿ã¿ã€ãïŒGADTïŒãå®åçããã«ãã©ã³ã¯ãäœæããããšãéåžžã«å¯èœã§ãã
åã¯ã©ã¹ã¯éæ¢ããŠããŸãããçŸåšã§ã¯ããã«ããã©ã¡ãŒã¿ãŒãé¢æ°äŸåãåçš®ã¯ã©ã¹ã䜿çšããããšãå¯èœã§ãã
ã¡ã¿ããã°ã©ãã³ã°ã®ã³ã³ããã¹ãã§ADTãšåæ§ã«ADTãæäœããããã®ããŒã«ã¯æ¡å€§ããŠããŸãã
ãã®æ°ããæ©èœã®å€ãã¯èšèªã®æ¡åŒµæ©èœãšããŠååšãã2014幎ã«ã¯èšèªæšæºã®äžéšã«ãªãå¯èœæ§ããããŸãã
ãããã«
æŽå²ã¯ãã«ã¹ã¿ã ããŒã¿åã®ç·æ¥ã®å¿ èŠæ§ãå ¬ç¶ãšç€ºããŠããŸããã
ã«ã¹ã¿ã ããŒã¿åã¯ãŸããŸãå¿ èŠã«ãªããŸãããã¹ãŠãããå€æ§ã§ããäžè¬åãããã¿ã€ãã®ãŠãŒã¶ãŒããŒã¿ãšãããã°ã©ããŒã«ãã£ãŠã®ã¿äœæããããã®ã®äž¡æ¹ã§æ©èœããããŒã«ãæ·±ããµããŒãããŸãã
ãŠãŒã¶ãŒããŒã¿èªäœã«samopisnyããŒã«ããããé ãããšã«æåãããšããŠãŒã¶ãŒããŒã¿ã®æ¥éãªæé·ãå§ãŸããŸããã
ãã ããæŽå²ã瀺ããŠããããã«ãèšèªã人æ°ãåŸãããã«ã¯é«åºŠãªæè¡ãåããŠããã ãã§ã¯äžååãªå ŽåããããŸãã CãåºçŸããåã®Simulaã§ã®ãªããžã§ã¯ãã®çºæïŒãªããžã§ã¯ããååšããªãã£ãïŒã¯ãSimulaèªèº«ã«ãšã£ãŠãã¬ãŒã¯ã¹ã«ãŒã«ãªããŸããã§ããã
æŽå²ã¯ã誰ãèŠãªããã®ã足å ã§èŠã€ããããšãæçšã§ããããšã瀺ããŠããŸããããã€ãã®ãã©ãã€ã ã®çµã¿åãããšãããåå¥ã«éæããããšïŒRubyãPythonã..ïŒãäœã¬ãã«ã®åçããŒã¿åã®çºèŠïŒCïŒãããŒãµãŒã§ã®äœæ¥ïŒPearlïŒã®ãããªæååã§ã®äœæ¥ã®äžè¬å-ãããã®èšèªãšäžè¬çãªããã°ã©ãã³ã°ã
Lispã©ã€ã¯ãªèšèªã¯ããŸã äœæãããŠããªãããŒã¿åã®ããŒã«ããããèŠã€ããŸããïŒ
ãªããžã§ã¯ãã¯éçºäžã«åæ¢ããŸããïŒããã§ãªãå Žåã圌ãã¯ã©ãã«è¡ãã®ã-ããã¯èšèªã®éã«æ²¿ã£ãŠïŒã«ããŒïŒçç ïŒ
代æ°ããŒã¿åã®é»éæ代ã¯ãã€æ¥ãã®ã§ããããïŒããªã¢ã³ãããŒã¿åãéçºããæ©äŒã¯ãããŸããïŒ
Haskellã¯ã©ã¹ã¯ä»ã®èšèªã§åçšãããŸããïŒHaskellã¯ã©ãã«è¡ããŸããïŒ
æéã衚瀺ããã質åã«çããŸãã