
Michael O. Church Article Translation- ã¹ãã²ããã£ã³ãŒããšã¯ïŒ
ãšããœãŒããå ã®æå³ã倱ãæãç°¡åãªæ¹æ³ã¯ãé床ã«åºç¯ã«ãªããåã«ã奜ãã§ã¯ãªãã以äžã®æå³ãæã¡å§ããããšã§ãã ç§ãã¡ã¯ãã¹ãã²ããã£ã³ãŒãããšããçšèªã«ã€ããŠè©±ããŸãã人ã ã¯ãã°ãã°ãæªãã³ãŒããã®æŠå¿µã®å矩èªãšããŠäœ¿çšããŸãã åé¡ã¯ããã¹ãŠã®æªãã³ãŒããã¹ãã²ããã£ã³ãŒãã§ã¯ãªããšããããšã§ãã ã¹ãã²ããã£ã³ãŒãã¯ç¹ã«å±éºã§ç¹å®ã®çš®é¡ã®æªãã³ãŒãã§ããããã®ç¹å®ã®æªãã¯ãœãããŠã§ã¢ã®éçºæ¹æ³ã«ãããŸãã ãªãã§ïŒ å人ãã¹ãã²ããã£ã³ãŒããèªåã§æžãããšã¯ãã£ãã«ãªãããã§ãã ããããéçºã®ç¹å®ã®ã¹ã¿ã€ã«ã¯ãæéãšãšãã«ããäžè¬çã«ãªããŸãã ãããç解ããã«ã¯ããã¹ãã²ããã£ã³ãŒããã®æŠå¿µãå®çŸ©ãããåæã³ã³ããã¹ããã€ãŸãgotoæŒç®åã®ã²ã©ãïŒãããŠã»ãšãã©ãå€é¢šãªïŒäœ¿çšãèæ ®ããå¿ èŠããããŸãã
gotoæŒç®åã¯ãããã°ã©ã ã®ãããŒãå¶åŸ¡ããããã®ã·ã³ãã«ã§åŒ·åãªã¡ã«ããºã ã§ããã€ãŸããã³ãŒãå ã®å¥ã®ãã€ã³ãã«ç§»åããŸãã ããã¯ããœãŒã¹ã³ãŒããã«ãŒããé¢æ°ãªã©ã®ããæ°ããæ§é ã䜿çšããŠèšè¿°ãããŠããå Žåã§ããå¶åŸ¡ã転éããããã«ã³ã³ãã€ã«ãããã¢ã»ã³ãã©ããã°ã©ã ãå®éã«è¡ãããšã§ãã gotoã䜿çšãããšã誰ã§ãå¿ èŠãªã¹ã¬ããå¶åŸ¡ãå®è£ ã§ããŸãã çŸæç¹ã§ã¯ã gotoãææ°ã®ããã°ã©ã ã®ãœãŒã¹ã³ãŒããšããŠäžé©åã§ããããšã«ãç°è°ãå±ããã®ã¯å°é£ã§ãã ãã®èŠåã«ã¯äŸå€ããããŸãããéåžžã«å°ãããã®ã§ãã æè¿ã®èšèªã«ã¯ãã®æŒç®åãããããŸããã
gotoæŒç®åã¯ãããã°ã©ã ã®å¶åŸ¡ã1ã€ã®å Žæããå¥ã®å Žæã«ãžã£ã³ãã§ããå Žåãã³ãŒãã®ç¹å®ã®ã»ã¯ã·ã§ã³ãå®è¡ãããšãã«ããã°ã©ã ãã©ã®ãããªç¶æ ã«ãããã確å®ã«å€æããããšãã§ããªããããã³ãŒããèªã¿ã«ããããŸãã GotoããŒã¹ã®ããã°ã©ã ã¯ãã³ãŒãå ã®ãã€ã³ããã³ãŒãã®ä»ã®éšåãžã®ã¯ãŒã ããŒã«ã«ãªãå¯èœæ§ããããããã³ã³ããŒãã³ãéšåã«ç°¡åã«å解ã§ããŸããã ãã®çµæããã®ãããªã³ãŒãã¯ããã¹ãŠãã©ãã«ã§ããããŸããã«å€ãããã³ãŒãã®å¥ã®éšåãç解ããããã«ãããã®æ··ä¹±ããã¹ãŠç解ããå¿ èŠããããåŸã«å€§ããªããã°ã©ã ã§ã¯äžå¯èœã«ãªããŸãã ããã¯ã¹ãã²ããã£ã®ããŠã«ãšç°¡åã«æ¯èŒã§ããŸãã1ã€ã®ãã¹ã¿ãæœåºããå Žåã§ãããã¹ã¿ã®å€§ããªããŒã«ãããã²ãŒãããå¿ èŠããããŸãã ãã¬ãŒããèŠãŠãã©ã®ãã¹ã¿ãã©ã®ãã¹ã¿ãšæ··åãããŠããããç解ããããšã¯ã§ããŸããã代ããã«ããã€ãå šäœãèŠåŽããŠè§£ãæããå¿ èŠããããŸãã
ã¹ãã²ããã£ã³ãŒãã¯ãããã¹ãŠãã©ãã«ã§ãããããïŒaïŒæ©èœã®ç¹å®ã®éšåãå®è£ ãããŠããå ŽæãïŒbïŒãªããžã§ã¯ããã€ã³ã¹ã¿ã³ã¹åãããçºçããæ¹æ³ãããã³ïŒcïŒä¿®æ£ã®ããã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã決å®ããæ¹æ³ãªã©ã®è³ªåã«çããã³ãŒãã§ãã ããã€ãã®ç°¡åãªè³ªåã«ååãä»ããã ãã§ãããã°ã©ã å šäœãç解ããå¿ èŠãããã³ãŒããæ¢ã«èŠãããšæããŸãã ã€ãŸããæãåçŽãªè³ªåã«çããããããã«ããã«ã¯ããœãŒã¹ã³ãŒãã®ç¶ç¶çãªèšºæãå¿ èŠã§ãã ããã¯ãåãã¹ã¿ãæåããæåŸãŸã§ãã©ãèŠåŸãæã£ãŠããªã人ã«ãšã£ãŠã¯è¬ã®ãŸãŸã§ããã³ãŒãã§ãã ããã¯ã¹ãã²ããã£ã³ãŒãã§ãã
ã¹ãã²ããã£ã³ãŒããå±éºã«ããŠããã®ã¯ãä»ã®çš®é¡ã®äžæ£ãªã³ãŒããšã¯ç°ãªããããããœãããŠã§ã¢ãšã³ããããŒã®äžè¬çãªå¯ç£ç©ã«ãªã£ãŠããããšã§ãã ã³ãŒããé©åãªã¢ãžã¥ãŒã«æ§é ãæã£ãŠããããäžéšã®ã¢ãžã¥ãŒã«ã®å質ãäœãå Žåãåé¡ã®ããã³ãŒããä¿®æ£ããŸãã æªãã誀ã£ãããŸãã¯é ãã³ãŒãã¯ãã€ã³ã¿ãŒãã§ã€ã¹ãå€æŽããã«ä¿®æ£ã§ããŸãã æ£çŽãªãšãããå€ãã®åé¡ã解決ããããã«èšèšããã巚倧ãªã³ãŒãã®å¡ããããå°ããªç¬ç«ããé¢æ°ã§ãšã©ãŒãèŠã€ããæ¹ãã¯ããã«ç°¡åã§ãã ã¹ãã²ããã£ã³ãŒãã¯æªã§ããïŒaïŒäžæ£ãªã³ãŒãã®éåžžã«äžè¬çãªäºçš®ã§ãããïŒbïŒæ©èœãå€æŽããã«ä¿®æ£ããããšã¯ã»ãšãã©äžå¯èœã§ãããããã°ã©ã ã®åäœã®å€ãã¢ãã«ã«äŸåããŠãã人ããããšã¯ã©ãã·ã¥ããå¯èœæ§ããããïŒdïŒçç±ã®ããã«ãåŸã§èª¬æããŸããããã®ãããªã³ãŒãã®åºçŸã¯ãéåžžã®ã³ãŒãæ€èšŒããã»ã¹ã§ã¯é²æ¢ã§ããŸããã
ãã¹ãã²ããã£ã³ãŒããã®æŠå¿µããæªãã³ãŒããã®ããåºãæŠå¿µããåé¢ããããšãéèŠã ãšæãã®ã¯ãã³ãŒããæªããããã®ã®å€ãã䞻芳çãããããã§ãã ã³ã©ãã¬ãŒã·ã§ã³ãœãããŠã§ã¢ ïŒãŸãã¯äžåšïŒã§ã®å€ãã®ççŸãšç¡ç€Œã¯ãäž»ã«ç·æ§ãæªçãªåµé æ§ïŒãŸãã¯ãã®èªèãããã³ã³ãŒãã«é¢ããŠãåã£ãèªèã§ããããšãå€ãïŒãtendencyç¬ããåŸåã®çµæã§ãã圌ã®ç¡èœãªã¢ã€ãã¢ã§ç§ãã¡ãæ©ãŸããããšããããŸããã ãã®è¡åã¢ãã«ã®åé¡ã¯ãããã圹ã«ç«ããã人ãããããšããŠããããšã§äººãè¯ãããããšã¯ãã£ãã«ãªããšããããšã§ãã èŠèŠçãªã³ã³ããŒãã³ãã«åºã¥ããŠè¯ãããã°ã©ããŒãšæªãããã°ã©ããŒãå®çŸ©ããå«ãªäººãå€ãã®ã§ããè¯ãã³ãŒããã®å®çŸ©ã¯ãç§ãæžããããã«èŠããã³ãŒããã«åž°çããŸãã ã¹ãã²ããã£ã³ãŒãã®åé¡ã¯ããæªãã³ãŒãããšãã倧èŠæš¡ã§ã¯ããã䞻芳çãªåé¡ããããã¹ã³ãŒãå ã§ããé©åã«å®çŸ©ãããŠãããšæããŠããŸãã ãã¹ããŒã¹ãŸãã¯ã¿ããã®åé¡ã«ã€ããŠã³ã³ã»ã³ãµã¹ãåŸãããšã¯æ±ºããŠãããŸããããã¹ãã²ããã£ã³ãŒãã¯ç解ã§ããã圹ã«ç«ããªãããšã«å šå¡ãåæããŸãã ããã«ãã¹ãã²ããã£ã³ãŒãã¯æãäžè¬çã§ç Žå£çãªçš®é¡ã®äžæ£ãªã³ãŒãã§ããããããã®ãµãã¿ã€ãã«é¢ããçç±ãšæ³šæäºé ã®ã»ãšãã©ã¯ãäžæ£ãªã³ãŒãã®ä»ã®ã«ããŽãªã«æ¡åŒµã§ããŸãã
人ã ã¯éåžžããå«ãªã³ãŒãããæå³ãããæªãã³ãŒããã®æŠå¿µã䜿çšããŸãããã³ãŒãã®äžéšãæªããšããããããŠãããšèããçç±ãå€æãããããä¿®æ£ããå¯èœãªæ¹æ³ãèŠã€ããããšãã§ããå Žåãããã¯ã»ãšãã©ã®ã¹ãã²ããã£ã³ãŒãããã¯ããã«åªããŠããŸãã ã¹ãã²ããã£ã®ã³ãŒãã¯ç解ã§ãããå€ãã®å Žåéåžžã«æ£ç¢ºã§ã¯ãããŸããã ç¹å®ã®ã³ãŒããå«ãçç±ãããã£ãŠããå Žå ããã®ã³ãŒãã¯ãã§ã«ã¹ãã²ããã£ã³ãŒããããå質ãé«ããªã£ãŠããŸãã
ã¹ãã²ããã£ã³ãŒãã®åå ã¯äœã§ããïŒ ãã°ããã®éã gotoæŒç®åãã¹ãã²ããã£ã³ãŒãã®äž»ãªçç±ã§ããããéèŠæ§ããªããªã£ãããã人æ°ã倱ããããŸã å¿ããããŠããŸãã çŸåšããã®çç±ã¯å®å šã«ç°ãªã£ãŠããŸããã€ãŸãããªããžã§ã¯ãæåããã°ã©ãã³ã°ã®çŸä»£ã®çã·ã¹ãã ã§ãã ããã§ã¯ãç¶æ¿ãç¹å¥ãªåœ¹å²ãæãããŸãããã®çµæãæœè±¡åãèãæãããšã¯ãããŸãããç¹å®ã®ã¯ã©ã¹ã®ãã©ã¡ãŒã¿ãŒåç¹æ§ã®äœ¿çšãåäžã®ãŠãŒã¹ã±ãŒã¹ã®æå³ããŸãã¯äžèŠãªãã©ã¡ãŒã¿ãŒã®è¿œå ã§ãã ç§ã¯ãOOPãçŸåšå®è·µãããŠãã圢åŒã§ã¯ã¹ãã²ããã£ã³ãŒãã§ãããšãã䞻匵ã¯åŠå®ã§ããªã芳ç¹ã§ã¯ãªãããšãèªããŸãã ãã€ãŠã®ããã«ã gotoæŒç®åã䜿çšããããšã®æ害æ§ã¯åŠå®ã§ããŸããã
æ¯èŒãœãããŠã§ã¢ã®æ倧ã®åé¡ã®1ã€ïŒã¢ãããŒããææ³ãèšèªããŸãã¯ãã©ãããã©ãŒã ã®æ¯èŒïŒã¯ãã»ãšãã©ã®æ¯èŒãåçŽãªäŸã«çŠç¹ãåãããŠããããšã§ãã 20è¡ã®ã³ãŒãã§ã¯ããããã®è¡ãæå³çãªå¹³åæå³ã§æžãããŠããªãéããäžåãªãã®ãæããã«ããããšã¯ã§ããŸããã gotoã䜿çšããŠèšè¿°ããã20è¡ã®ããã°ã©ã ã¯äžè¬ã«èš±å®¹ãããããã䜿çšããã«èšè¿°ãããããã°ã©ã ãããåçŽãªå ŽåããããŸãã 20è¡ã§ã¯ãæ瀺çãªå¶åŸ¡è»¢éã䌎ãã¹ããããã€ã¹ãããã®åœä»€ã®ã»ããã¯ãããã°ã©ã ãè¡šãéåžžã«èªç¶ãªæ¹æ³ã§ãã äžåºŠã«èªãããšãã§ããéçããã°ã©ã ïŒããšãã°ãå€æŽãããã«ã¡ã³ããã³ã¹ãããããšã®ãªããã©ãããã¯ãªãã©ãŒã ïŒã®å Žåããã®æ§é ã¯åé¡ãããŸããã ãããã gotoã䜿çšããããã°ã©ã ã®2äžè¡ã§ã¯ããã§ã«ç解ã§ããªãã»ã©ã«ãªã£ãŠããŸãã 2äžè¡ã§ã gotoããã°ã©ã ã¯éåžžã«å€ãã®ãããã³ã°ãæ¡åŒµãããã³æé©åã«åœ¹ç«ã¡ãç©äºãæ§ç¯ãããšããåœåã®ããžã§ã³ã倱ãããŸãã ãŸããããã°ã©ã ã¯ãã©ãããã§ããã³ãŒãã®ä»»æã®éšåã«è¡šç€ºã§ãããšããããšã¯ãã³ãŒããå®å šã«å€æŽããã«ã¯ããã©ãããã§ãããããã®æ°ã®ä¿¡é Œã§ããç¥èãå¿ èŠã§ããããšãæå³ããŸãã ãã¹ãŠãã©ãã«ã§ããããŸãã ããã¯ãã³ãŒããç解ããã®ãé£ããããã ãã§ãªããäºæããªãçµæã®ããã«ã³ãŒããå€æŽãããã³ã«ã³ãŒããæªåããå¯èœæ§ãé«ãããšãæå³ããŸãã æéã®çµéãšãšãã«ããœãããŠã§ã¢ã¯ãçç©åŠçãã«ãªããŸãã ãã®çšèªã¯ããã¹ãŠã®ã³ã³ããŒãã³ããç¬ç«ããŠããããã€ãã¢ã¢ãã«ãéçºããããšãæå³ããŸãããäžéšã®ã¢ãžã¥ãŒã«ã«ã¯é ãããæ¥ç¶ãããå ŽåããããŸãã
gotoæŒç®åã¯ãããã°ã©ãã³ã°èšèªã®æ§ç¯ãšããŠè¡ãããŸããã§ãããããã¯ããã®äœ¿çšã§äœæãããããã°ã©ã ã®ç¶ç¶çãªèšºæã«é¢é£ããå€ãã®åé¡ãåŒãèµ·ãããããã§ãã ããã·ãŒãžã£ãé¢æ°ãæ確ã«å®çŸ©ãããããŒã¿æ§é ãªã©ãããã»ã©åŒ·åã§ã¯ãªãããããå°éæ§ã®äœãæ§é ããã奜ãŸããŸããã 人ã ãã°ããŒãã«ãªãããŒå¶åŸ¡ïŒãšã©ãŒåŠçïŒãå¿ èŠãšããå¯äžã®ã±ãŒã¹ã§ã¯ãäŸå€ãéçºãããŸããã gotoã䜿çšããŠäœæãããããã°ã©ã ã®æ¥µç«¯ãªæ®éæ§ãšæœè±¡åãããç¹å®ã®åé¡ã解決ããããã®éšåïŒæé ãªã©ïŒã®å ·äœæ§ãšç¹ç°æ§ãžã®ç§»è¡ã§ããã éæ§é ããã°ã©ãã³ã°ã§ã¯ãå€ãã®ããšãè¡ããã°ãããããã°ã©ã ãäœæã§ããŸãããã¹ãŠã®å¥œã¿ã«æ°ããæ©èœãè¿œå ããå¿ èŠã«å¿ããŠç©äºã®ã³ãŒã¹ãå€æŽããŸãã ããçš®ã®ãåé¡ãã解決ãã¹ãã§ã¯ãããŸããïŒéå±ã§ã...ïŒããçµã¿èŸŒã¿ã®ã€ã³ã¿ãŒããªã¿ãŒã䜿çšããã¡ã¿ãã¬ãŒã ã¯ãŒã¯ã«ãªãå¯èœæ§ããããŸãã æ§é çããã°ã©ãã³ã°ã¯ã人ã ãããã°ã©ã ãåäžã®åé¡ã«å¯ŸåŠããç¹å®ã®éšåã«åå²ããå¯èœã§ããã°ãããã®éšåãåå©çšã§ããããã«ããããšã奚å±ããŸãã ãã®ååã¯ãUnixã·ã¹ãã ïŒ1ã€ã®ããšãšãããããŸãããïŒãšé¢æ°åããã°ã©ãã³ã°ïŒæ£ç¢ºãªæ°åŠçã»ãã³ãã£ã¯ã¹ã®å®çŸ©ã容æã«ããã°ããŒãã«ãªç¶æ ãåé¿ããïŒã®å²åŠã®åºç€ãšãªã£ãŠããŸãã
gotoæŒç®åã«ã€ããŠãã1ã€èšãããã®ã¯ãèšèªã¬ãã«ã®ããªããã£ããšããŠã¯ã»ãšãã©å¿ èŠãªããšããããšã§ãã whileã«ãŒã-ã«ãŒãã®å€åŽã§å®£èšãããswitch-caseã³ã³ã¹ãã©ã¯ãã§äœ¿çšãããã«ãŠã³ã¿ãŒå€æ°ã䜿çšããŠãåãå¹æãåŸãããšãã§ããŸããå¢å ïŒã¹ãããïŒãã«ãŒããç¶ç¶ããŸãã¯ãŒãïŒ goto ïŒã å¿ èŠã«å¿ããŠããã®ãããª1ã€ã®ãµã€ã¯ã«ãšããŠæ©èœãã1ã€ã®å·šå€§ãªããã°ã©ã ã«æ¡åŒµã§ããŸããããã®ãããªã³ãŒãã¯æ±ºããŠäœæãããŸããã ãããã»ãšãã©è¡ãããªããšããäºå®ã¯ã gotoã®äœ¿çšãã»ãšãã©å¿ èŠãªããšããäºå®ã瀺ããŠããŸãã ãããã£ãŠãæ§é çããã°ã©ãã³ã°ã¯çæ°ãæããŠãããéããŒã«ã«ãããŒã匷ãå¶åŸ¡ããããšãããšãçæ°ã«é¥ããŸãã
ãããã gotoãæŸæ£ããããšã¯éåžžã«è°è«ã®äœå°ã®ããåé¡ã§ãããæ§é ããã°ã©ãã³ã°ã®ãããã®ã¢ã€ãã¢ã¯ãã¹ãŠãã³ã»ã³ã¹ã«èŠããŸããã ç°è°ç³ãç«ãŠã¯æ¬¡ã®ããã«èãããŸãããgotoã¹ããŒãã¡ã³ããã¯ããã«åŒ·åãªå Žåã«ããªãé¢æ°ãšããã·ãŒãžã£ã䜿çšããã®ã§ããããã
åæ§ã«ããªããžã§ã¯ãããã匷åãªå Žåããªãåç §ééé¢æ°ãšäžå€ã¬ã³ãŒãã䜿çšããã®ã§ããïŒ ãªããžã§ã¯ãã¯æçµçã«runãŸãã¯callãŸãã¯applyã¡ãœãããæã€ããšãã§ãããããé¢æ°ã«ãªãããšãã§ããŸãã ãŸããéçãã£ãŒã«ããŸãã¯å®æ°ãã£ãŒã«ããæã¡ãã¬ã³ãŒãã«ããããšãã§ããŸãã ãããåæã«ãããã«å€ãã®ããšãã§ããŸãã誰ãããã®ãããªæ±ºå®ãããå Žåããªããžã§ã¯ãã¯åæååãšãã¡ã€ãã©ã€ã¶ãŒãæã¡ãååž°ãš50ã®ã¡ãœãããéãããšãã§ããŸãã ããã§ããã®ç¡æå³ãªæ§é ããã°ã©ãã³ã°ã®å€§éšãã¯äœã§ããïŒããã¯ããã£ãŒã«ãã決ããŠå€ããããã¯ã©ã¹ã«åæåããžãã¯ãå«ãŸããŠããªãã¬ã³ãŒããªã©ãã¯ããã«åŒ·åã§ã¯ãªãæ§é äœããããã°ã©ã ãäœæããããšãæå³ããŸããïŒ
çãã¯ãåãæã€ããšã¯å¿ ãããè¯ãããšã§ã¯ãªããšããããšã§ãã ããã°ã©ãã³ã°èœåã¯ãã³ãŒããæžã人ã«ãšã£ãŠã¯å©ç¹ã§ãããåŸã§èªã人ã«ãšã£ãŠã¯ããã§ã¯ãããŸãããã¡ã³ããã³ã¹ïŒããšãã°ãã³ãŒããç解ããå¿ èŠæ§ïŒã¯çŽ2,000è¡ãŸãã¯6é±éã§å§ãŸãããããžã§ã¯ãã«å®¢èŠ³çã«åãçµãè€æ°ã®éçºè ãããŸãã å®éã®ãããžã§ã¯ãã§ã¯ã誰ãã³ãŒããæžããŸããã å€ãã®å Žåãèªåã®ã³ãŒããšä»ã®äººã®ã³ãŒãã®äž¡æ¹ãèªãå¿ èŠããããŸãã èªããªãã³ãŒãã¯åã«åãå ¥ããããªããã®ã§ãããå€ãããããã«èš±å¯ãããŠããŸãããŸããå€ãã®ãœãããŠã§ã¢äŒç€Ÿãæ¡çšããŠããOOPã®ããã¹ããã©ã¯ãã£ã¹ããåå ã§ãã ããã匷åãªãæœè±¡åã¯ããäžè¬çã§ãããããç¹å®æ§ãäœããªããŸããã€ãŸãããã®ãããªã³ãŒããèªãã 人ã¯ããã®ã³ãŒããäœã«äœ¿çšãããŠããããå€æããã®ãå°é£ã§ãã ããããã³ãŒããåç¬ã§æžã人ã¯ãã°ãã°éåžžã«åçŽã§ã-匷åãªæœè±¡åã«ã¯ 18ã®å¯èœãªçšéããããŸãããå®éã«ã¯ãã®ãã¡ã®1ã€ã ããé¢äžããŠããŸãã ãã®å Žåãç¹æã®å人çãªããžã§ã³ããããŸããïŒéåžžã¯ææžåãããŠããŸããïŒãæ··ä¹±ãé¿ããã®ã«åœ¹ç«ã¡ãŸãã ãã®ããžã§ã³ã«çæããŠããªã人ãã³ãŒããå€æŽãå§ãããšãå±éºãçããŸãã å€ãã®å Žåããããã®å€æŽã¯ãããã³ã°ã§ãããæ®ãã®17ã®äœ¿çšã®ãã¡ã®å¥ã®äœ¿çšãæ瀺çã«æ瀺ããŠããŸããã ããã¯ãååãšããŠççŸã«ã€ãªããããã®çµæããšã©ãŒãçºçããŸãã æ®å¿µãªããããããã®ãã°ã®ä¿®æ£ãæ åœãã人ã ã¯ãã³ãŒãã®èåŸã«é ãããŠããåæããžã§ã³ã«ã€ããŠã®èããããã«å°ãªãã圌ãã®ä¿®æ£ã¯ããã«å€ãã®ããã¯ãè¿œå ããŸãã ä¿®æ£ãè¡ãããå ŽæããããŸãããã³ãŒãã®å šäœçãªå質ã¯äœäžããŸãã ããã¯ããã¹ãã²ããã£åãã³ãŒãã®ããã»ã¹ã§ãã ãã 座ã£ãŠèªåã§ã¹ãã²ããã£ã³ãŒããæžãå§ãã人ã¯ããŸããã ããã¯ãããã»ã¹ãåŸã ã«ãã¹ãã¬ãããããããšã§èµ·ãããã»ãšãã©ã®å Žåãè€æ°ã®éçºè ã責任ãè² ããŸãã ãœãããŠã§ã¢ã§ã¯ããæ¥ãªåŸé ãã¯æ¬åœã«çŸå®çã§ãããèœäžã¯éåžžã«çªç¶ã®å ŽåããããŸãã
å ã ã¹ãã²ããã£ã³ãŒããé²ãããã«èšèšããããªããžã§ã¯ãæåããã°ã©ãã³ã°ã¯ãïŒå®å šã«ç解ãããŠããªãããã¶ã€ã³ãã¿ãŒã³ãã®äœ¿çšã«ããïŒææªã®ãœãŒã¹ã®1ã€ã«ãªããŸããã ããªããžã§ã¯ããã¯ã³ãŒããšããŒã¿ãç°¡åã«çµã¿åãããããšãã§ããŸãããä»»æã®æ°ã®ã€ã³ã¿ãŒãã§ã€ã¹ãæã¡ãåæã«ã¯ã©ã¹ã¯ããã°ã©ã å šäœã§ãµãã¯ã©ã¹ãèªç±ã«çæã§ããŸãã ãªããžã§ã¯ãæåããã°ã©ãã³ã°ã«ã¯å€§ããªåãããããã¡ããšäœ¿çšããã°éåžžã«å¹æçã§ãã ããããã»ãšãã©ã®ããã°ã©ããŒã¯ãããåŠçã§ãããæéã®çµéãšãšãã«ã³ãŒãã¯ã¹ãã²ããã£ã«å€ãããŸãã
ã¹ãã²ããã£ã³ãŒãã®åé¡ã®1ã€ã¯ãã³ãŒããåŸã ã«åœ¢æãããããšã§ããããã«ããããã¹ãã²ããã£ãã«ã€ãªãããã¹ãŠã®å€æŽãç»åã®å€åŽã§çŽç²ã«è¯å®çã«èŠãããããã³ãŒãæ€èšŒããã»ã¹ã§èå¥ããããšãå°é£ã«ãªããŸãã ãã©ã¹ã¯ããããŒãžã£ãŒãŸãã¯ã¯ã©ã€ã¢ã³ãããæšæ¥ãå¿ èŠãšããå€æŽãã³ãŒãã«è¡šç€ºãããããšã§ããäžæ¹ãããã¯ãã¹ãŠäžçšåºŠã®éã®è¿œå ã®å°é£ã®ããã«èŠããŸãã gotoã®æé»æ代ã§ããã誰ã座ã£ãŠèšã£ãŠããŸããã§ããïŒãã³ãŒãå ã®1ã€ã®ãã€ã³ããæã40åã®gotoã¹ããŒãã¡ã³ãã§å®å šã«ç解ã§ããªãããã°ã©ã ãäœæããŸãããããã°ã©ã ã®éçºã¯äººãã人ãžãšåŸã ã«ç§»ããŸããã åãããšããªããžã§ã¯ãæåã®ã¹ãã²ããã£ã«ãåœãŠã¯ãŸããŸãã ã¯ãªãŒã³ãªåæèšèšããç解ã§ããªãã¹ãã²ããã£ã³ãŒããžã®å ·äœçãªç§»è¡ãã€ã³ãã¯ãããŸããã ããã¯æéã®çµéãšãšãã«çºçãã人ã ãOOPã®ãã¯ãŒãä¹±çšããŠãããŸããªããã¯ãããã·ã¥ããŸãã誰ããä¿®æ£ããããã°ã©ã ã®åäœãç解ããããæ確ãªïŒãã匷åã§ã¯ãªããïŒæœè±¡åã䜿çšãããå Žåã¯äžèŠã§ãã ããã¯ãã¹ãŠããã¹ãã²ããã£åãã®è²¬ä»»ã¯ãã¹ãŠã®äººã«ãããåæã«ã§ã¯ãªãããšãæå³ããŸããåã ã®éçºè ã¯ãã³ãŒããå°çã«çŽæ¥éã£ãã®ã¯èªåã®å€æŽã§ã¯ãªããšèªä¿¡ãæã£ãŠèšãããšãã§ããŸãã ããããïŒUnixã·ã¹ãã ã®ããããªã¹ãå²åŠãšã¯å¯Ÿç §çã«ïŒå€§èŠæš¡ãªãœãããŠã§ã¢è£œé æ¥è ã次ã®æ¹éã«åŸãåŸåãããçç±ã§ãïŒèª°ãæ¬åœã«äœãã責ããã¹ãã誰ãç¥ããªãã
è¿œå ã®ã³ãŒããã§ãã¯ã¯ãã¹ããŒã¹ãšã¿ãã®æ··åãé·ãããè¡ãªã©ãæããã«æªããã©ã¯ãã£ã¹ãèå¥ããã®ã«åœ¹ç«ã¡ãŸãã ãããã£ãŠããæªãã³ãŒããã®è¡šé¢çãªåŽé¢ã¯ãã¹ãã²ããã£ã³ãŒããããé¢çœããããŸããïŒãé¢çœããã®å®çŸ©ããéªéãã®å矩èªãšããŠäœ¿çšïŒã è¿œå ã®ã³ãŒããã§ãã¯ã§ãããã«å¯ŸåŠããæ¹æ³ã¯æ¢ã«ç¥ã£ãŠããŸãã ãã®ã³ãŒããæåŠããããã«ç¶ç¶ççµ±åãµãŒããŒãæ§æããããšãã§ããŸãã æ確ãªå®çŸ©ããªãã¹ãã²ããã£ã³ãŒãã«é¢ããŠã¯ãäžå¯èœã§ã¯ãªãã«ããŠããããã»ã©ç°¡åã§ã¯ãããŸããã ããã°ã©ã ã³ãŒãå šäœã®å®å šãªãã§ãã¯ã¯ãããã決å®ããããšãç®çãšããŠããŸããããã®ãããªãã§ãã¯ã«å¿ èŠãªæéãšãªãœãŒã¹ãæè³ããããšããäŒæ¥ã¯ã»ãšãã©ãããŸãããé·æïŒ10幎以äžïŒã§ã¯ãéèŠãªãœãããŠã§ã¢ãŸãã¯éèŠãªãœãããŠã§ã¢ãéçºããããŒã ãé€ããã»ãšãã©ç¡çã ãšæããŸããããã¯ãç¡æéã«é«ã¬ãã«ã®èŠåŸãæäŸããŸãã
çãã¯ãç§ã«ã¯æããŸãããBig Codeã¯æ©èœããªããšããããšã§ãã倧èŠæš¡ãªããã°ã©ã ã§ã¯åçã¿ã€ãã³ã°ãã¯ã©ãã·ã¥ããå¥ã®æ¹æ³ã§ã¯éçã¿ã€ãã³ã°ãã¯ã©ãã·ã¥ããŸããããã¯ãã¹ãŠããªããžã§ã¯ãæåããã°ã©ãã³ã°ãåœä»€åããã°ã©ãã³ã°ãããã³æ©èœçããã°ã©ãã³ã°ïŒã¹ã¬ããã«é 眮ããããã©ã¡ãŒã¿ãŒã®å¢å ã«çŸããŸãïŒã«ã¯ããã»ã©ã§ã¯ãããŸããããç®ç«ã£ãçšåºŠã«åœãŠã¯ãŸããŸãã ãgotoã®åé¡ãããã§ã¯ãããŸããã§ããããã®æ§è³ªäžãã³ãŒãã¯éåžžã«è¿ éã«ããã°ã³ãŒãã«ãªããŸãããããããæ®é ·ãªçŸå®ã¯ãããã°ã³ãŒãã¯ãéã®åŒŸäžžãã§ã¯ãªããšããããšã§ãã倧èŠæš¡ãªããã°ã©ã ã¯åçŽã«ç解äžèœã«ãªããŸããéã«ãè€éããšå€§ããªãµã€ãºã¯ãæãŸãããªãå ŽåããããŸããã§ã¯ãªããåžžã«å±éºã§ãã Steve Yeggã®ãããªäººã ã¯ãããé·ãéç解ããŠããŸããã
ããããç§ãUnixã·ã¹ãã ã®å²åŠãæ¬è³ªçã«æ£ãããšèããçç±ã§ãïŒããã°ã©ã ã¯ãèŠæš¡ã倧ãããªãã決ããŠå®å šã«ãªããªãäžæçãªæ¹¿ã£ããã®ã§ãã£ãŠã¯ãªããŸãããããã°ã©ã ã¯1ã€ã®åé¡ã解決ãããããããŸãè¡ãå¿ èŠããããŸãã倧ãããŠããã°ãå Žåã¯ãã©ã€ãã©ãªãšã¹ã¯ãªãããå®è¡å¯èœãã¡ã€ã«ãšããŒã¿ã®å¥ã ã®éšåã«å解ããå¿ èŠããããŸããéå¿çãªãœãããŠã§ã¢ãããžã§ã¯ãã¯ãåå¥ã®ããã°ã©ã ã®ãããªãªãŒã«ãªã¢ããã·ã³ã°ã®æ§é ãæã€ã¹ãã§ã¯ãããŸãããåããã°ã©ãã³ã°ãã©ãã€ã ãããŒã«ããã¯ã¹ã¯åçŽã«ãããç Žå£ããããã§ãã代ããã«ããã®ãããªãããžã§ã¯ãã¯ã·ã¹ãã ãšããŠæ§é åãããã¹ãã§ãããããã«å€ãã®æ³šæãæãããã¹ãã§ããããã¯ããã©ãŒã«ããã¬ã©ã³ã¹ãéšåã®äºææ§ãããã³éä¿¡ãããã³ã«ã«æ³šæãæãå¿ èŠãããããšãæå³ããŸãããã£ãšèŠåŸãå¿ èŠã§ãã©ã³ãã ã«æé·ãã倧ããªããã°ã©ã ãéçºããã®ã§ã¯ãªããããã ãã®äŸ¡å€ããããŸããããã¯ãªãŒã³ã§äŸ¿å©ãªã³ãŒãã®æãããªå©ç¹ã«å ããŠã人ã ã¯å®éã«ãã®ã³ãŒããèªãã§ãããå®éã«äœãããã®ããç¥ããã«ãããã³ã°ãç¡æèã«è¿œå ããããšã¯ãããŸãããããã¯ãéçºè ãæéãšãšãã«æ¹åããé·æçã«ã¯ã³ãŒãã®å質ãåäžããããšãæå³ããŸãã
ç®èãªããšã«ãOOPã¯ããšããšããããªã¹ãã®ãœãããŠã§ã¢éçºã«äŒŒããã®ã奚å±ããããšãç®çãšããŠããŸããã OOPã®æåã®ããžã§ã³ã¯ã人ã ã座ã£ãŠå·šå€§ã§è€éãªãªããžã§ã¯ããæžãããšãæå³ããŠããŸããã§ããããOOPãç¹ã«äœ¿çšããããšãæå³ããŠããŸããè€éããé¿ããããªããšãããã®åéã§ã®æåãã䜿çšäŸã¯ããŒã¿ããŒã¹ã§ãã人ã ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ãèä¹ æ§ãå¯çšæ§ãåæå®è¡æ§ãããã³ããã©ãŒãã³ã¹ã®èŠ³ç¹ãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãå¿ èŠãšãããããè€éããäžå¯æ¬ ââã§ããããŒã¿ããŒã¹ã¯ä¿¡ããããªãã»ã©è€éã§ãããé«éåããããã®å€å€§ãªééçã€ã³ã»ã³ãã£ãã«ãããããããã³ã³ãã¥ãŒã¿ãŒã®äžçã䟡å€ããå®è£ ãéæããã®ã«äœå幎ãããã£ããšèªä¿¡ãæã£ãŠèšããŸãããããåæã«ãããŒã¿ããŒã¹ãè€éã«ãªãå¯èœæ§ãããå ŽåïŒå¿ èŠãªå ŽåïŒããã®äœ¿çšã®ããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ã¯ããã«åçŽã§ãïŒSQLïŒãããŒã¿ããŒã¹ã䜿çšããæ€çŽ¢æŠç¥ãæå®ãããåã«SELECTãèšè¿°ããŸãïŒãŠãŒã¶ãŒãåãåããããã®ãèšè¿°ããååŸæ¹æ³ã§ã¯ãããŸããïŒãã¯ãšãªãªããã£ãã€ã¶ãŒããããåŠçã§ããããã«ããŸãã
Big Codeãå«ããªã®ã¯ãããŒã¿ããŒã¹ã¯äžçš®ã®äŸå€ã§ããããšã«æ³šæããŠãã ããã圌ãã®è€éãã¯ååã«ç解ãããŠããå¿ èŠæ§ã§ãããèªåã®ãã£ãªã¢ãç 究ã«å°å¿µããæºåãã§ããŠãã人ã ãããŸãããããã人ã ã¯äžè¬çãªããžãã¹ã¢ããªã±ãŒã·ã§ã³ãç解ããããã«ãã£ãªã¢ã亀æãã¹ãã§ã¯ãããŸããããããŠã圌ãã¯ããŸããã圌ãã¯ãããæåŠããã³ãŒããä»ã®æã«è»¢éããããšã§ãã¹ãã²ããã£åãã¹ããŒãã¢ããããŸãã
ãªãããã°ã³ãŒããªã®ãïŒèœãšãç©Žã«ãããããããªãååšããã®ã§ããïŒãããŠããªãããã°ã©ããŒã¯ãèªåã®åãšè€éããæ¬åœã«å¿ èŠãã©ãããå°ããããšãªããOOPããŒã«ã®äœ¿çšãæ¥ãã®ã§ããïŒããã€ãã®çç±ããããšæããŸãããããã®1ã€ã¯æ inessã§ãã人ã ã¯ãéåžžã«å ·äœçãªæœè±¡åãé©çšããå¿ èŠã®ããç¶æ³ãç¿åŸããã®ã«æéãè²»ãããããã1ã€ã®å€§ããªæ±çšæœè±¡åãç 究ããããšã奜ã¿ãŸãã ArrayListãæ¢ã«ããå Žåããªã³ã¯ããããªã¹ããšé åããŸãã¯ããªãŒã®ãããªãããã®äžæçãªæ§é ã®ãã¹ãŠãããªãã ãããå匷ããã®ã§ããããïŒãªããžã§ã¯ããåããžã§ãïŒããã³ãã以äžïŒãå®è¡ã§ããå Žåãããã°ã©ã ããªã³ã¯ééé¢æ°ãã©ã®ããã«äœ¿çšããããç¥ã£ãŠããã®ã¯ãªãã§ããïŒã³ãã³ãã©ã€ã³ã®äœ¿ãæ¹ãåŠã¶çç±ãææ°ã®IDEããããªãã®äººçã§ãã®æ°ã®æ¯ãªãã®ãå°ãªããšãäžåºŠã¯èŠãããªãããã«ä¿è·ã§ãããšãããïŒ Javaããã§ã«ãã¥ãŒãªã³ã°å®äºããŠããã®ã«ããªãæ°ããããã°ã©ãã³ã°èšèªãåŠã¶ã®ã§ããïŒå€§èŠæš¡ãªã³ãŒãã¯ã次ã®äœçœ®ã®æ®åããçºçããŸããçŸä»£ã®ã³ã³ãã€ã©ãæ°åäžè¡ã®ã³ãŒããç°¡åã«åŠçã§ããã®ã«ããªã倧èŠæš¡ãªããã°ã©ã ãã¢ãžã¥ãŒã«ã«åå²ããã®ã§ããïŒã³ã³ãã¥ãŒã¿ãŒãBig Codeã«ééãããšãã«æ°ã«ããªãå Žåããªãæ°ã«ããå¿ èŠããããŸããïŒãªããããæ°ã«ããå¿ èŠãããã®ã§ããããïŒãªããããæ°ã«ããå¿ èŠãããã®ã§ããããïŒ
ããã«ãé¢ãããããã€ã³ãã«è¿ã¥ããå Žåãç§ã¯ããã¯ãã¹ãŠå°ã欲ã®ããwithæ ¢ã«ä»ãªããªããšä¿¡ããŠããŸãã Big Codeã¯ããœãããŠã§ã¢ãããžã§ã¯ããéåžžã«äººæ°ãããæåãããšãã信念ããçãŸãããã®ã§ã人ã ã¯ãã®è€éãã«èããŸã-ç¬èªã®ãã¡ã€ã³åºæããã°ã©ãã³ã°èšèªïŒDSLïŒãCãSQLãšåãããã巚倧ã«ãªããããªã¢ã€ãã¢ããŸããåé¡ã解決æžã¿ãšããŠèªèããæºåãã§ããŠããªãããã«è¡šç€ºãããäœæ¥ã®å€§éšåããã§ã«å®äºããŠããŠãããã°ã©ã ãå®äºããŸãããããã°ã©ãã³ã°ãšã¯äœããšãã誀解ãããçãŸããŸããæ確ã«å®çŸ©ãããæ¢åã®åé¡ã解決ããŠéªéã«ãªããªãããã«ãã代ããã«ãããããªã¹ãã®æ¹æ³è«ã§èšèšãããããã°ã©ã ãè¡ãããã«ãBig Codeã䜿çšããããã°ã©ã ã¯å¿ èŠä»¥äžã«å€ããè¡ããŸãããã®ãããªãããžã§ã¯ãã¯ãå€ãã®å Žåããã¹ãŠãå æ¬ãããœãããŠã§ã¢ã®ããã«ãœãããŠã§ã¢ãäœæããããšãå«ãäžé©åãªãããžã§ã³ãã䌎ããŸããäŒæ¥ç°å¢ã®ãããžã§ã³ãã¯ããã«æ¿æ²»ã«ãªãåŸåããããããããã¯æ··ä¹±ã§ããããã°ã³ãŒãã䜿çšããããã°ã©ã ã¯ãåžžã«ããããçæããç°å¢ãåæ ããŠããŸãïŒã³ã³ãŠã§ã€ã®æ³åïŒããããŠãããã¯åžžã«æ°åŠãšã³ã³ãã¥ãŒã¿ãŒãµã€ãšã³ã¹ã®æ®éçãªèšèªãšãããããããããã£ãŒãšç¹å®ã®ãŠãŒã¢ã¢ã®ã³ã¬ã¯ã·ã§ã³ã®ãããªãã®ã§ãã
ãã®ãã¬ã€ã«ã¯å¥ã®åé¡ããããŸããããã°ã©ããŒãšããã°ã©ã ã®é¢ä¿ã1察å€ã§ã¯ãªãå€å¯Ÿ1ã«ãªã£ãå ŽåãåŽåã远跡ããã人å¡ãã決å®ã§ããããããããŒãžã£ãŒã¯åã«ããã°ã³ãŒããåŽæããŸããããããªã¹ããœãããŠã§ã¢ã®æ¹æ³è«ã¯åªããŠããŸãããè€æ°ã®ã¿ã¹ã¯ã«é©åã«æéãå²ãåœãŠãèœåã«ã¯ããã°ã©ããŒãžã®ä¿¡é Œãå¿ èŠã§ãããã»ãšãã©ã®ãã£ã©ããµãŠã«ã¹ãããŒãžã£ãŒã¯ãããè¡ãããšã«äžå®ãæããŠããŸãã Big Codeã¯å®éã«ã¯æ©èœããŸãããã管çè ãæè¡çåªåã®é åãå¶åŸ¡ã§ããããã«ãªããŸãããŸãããããŒãžã£ãŒãããè¡ããµã€ãºãšæåã®æ··åã䌎ããŸãïŒãããŒãžã£ãŒãžã®ã€ã³ã¿ãã¥ãŒã§ã®è³ªåãéšäžã¯äœäººããŸãããïŒãã§èšŒæãããŠããŸãïŒãããã°ã³ãŒãã®çµæã§ããé·æã®ã¹ãã²ããã£åã¯ããã®ãããªãããŒãžã£ãŒã«ãšã£ãŠãã£ãã«åé¡ã«ãªããŸããã圌ãã¯ãããã©ã®ããã«èµ·ããã®ãèŠåœãã€ããããã°ãã°ãããåé¡ã«ãªãåã«ãããžã§ã¯ããå»ããŸãã
ãŸãšãããšãã¹ãã²ããã£ã³ãŒãã¯æªãã³ãŒãã§ãããšèªä¿¡ãæã£ãŠèšããŸããããã¹ãŠã®æªãã³ãŒããã¹ãã²ããã£ã³ãŒãã§ãããšã¯éããŸãããSpaghettiã³ãŒãã¯ãå€ãã®å ŽåïŒåžžã«ã§ã¯ãããŸãããïŒã³ãŒããå€æ°ã®æãééããçµæã§ããç£æ¥çšããã°ã©ãã³ã°è£œåã§ããã倧èŠæš¡ãªãœãããŠã§ã¢è£œåãéçºããæ¹æ³è«ã®äžå¯é¿ãªçµæãšãæ¬ é¥ã®ãã管çããã»ã¹ããçãããªããžã§ã¯ãæåããã°ã©ãã³ã°bydloopã®çµæã§ããã¹ãã²ããã£ã³ãŒãã«å¯Ÿãã解æ¯å€ã¯ãããã°ã©ã ãã³ã³ãã¯ãã§å¹ççã§ãã¯ãªãŒã³ãªãœãŒã¹ã³ãŒãã§ããããŠæãéèŠãªããšã«äžè²«æ§ãä¿ã€ããã®ç©æ¥µçãã€ç©æ¥µçãªãªãã¡ã¯ã¿ãªã³ã°ãšåªåã§ãã
翻蚳è ããïŒãã®èšäºã¯éåžžã«åºç¯å²ã«ããããããäžæ£ç¢ºãŸãã¯ãšã©ãŒã«ã€ããŠPMã«ãç¥ããããã ããã°å¹žãã§ãã