
ITæ¥çã«å¯Ÿããã¢ã«ãŽã«ã®åœ±é¿
1958幎ã«æåã®ããŒãžã§ã³ãç»å ŽããAlgolïŒALGOrithmic LanguageïŒãšããååã¯ãã¢ã«ãŽãªãºã ãèšé²ããããã«èšèšãããŠãããšããäºå®ã匷調ããŠããŸãã ãã®æ確ãªè«çæ§é ã®ãããã§ãã¢ã«ãŽã«ã¯ç§åŠæè¡æç®ã§ã¢ã«ãŽãªãºã ãèšè¿°ããæšæºçãªæ段ã«ãªããŸããã ãã ããFortranèšèªãšå®å šã«ç«¶åããããšã¯æ±ºããŠã§ããŸããã§ããããŸããAlgolã®ããã€ãã®éèŠãªæ©èœïŒåãã¯ãŒãããã»ãã·ã³ã°ãå ¥å/åºåãã©ãŒããããªã©ïŒããªããããCOBOLãšæ¯èŒããããšã¯å°é£ã§ããã
ãåºç£ãã¢ã«ãŽã«ã¯éåžžã«èŠåŽããŸããã äžéšã®ã¯ãªãšã€ã¿ãŒã«ãšã£ãŠã¯ãççŽã«èšã£ãŠãèŠçã«èŠããã§ããŸãã ç§åŠè ãšæ¥çã®å°é家ã¯ãå€ãã®åé¡ã«ã€ããŠã³ã³ã»ã³ãµã¹ãåŸãããšãã§ããŸããã§ããã
ãã®çµæãæ°ããèšèªã¯æ¶è²»è ãåŒãä»ããã®ã§ã¯ãªããé¢å¿ãåŒã³èµ·ãããŸããã ã°ã¬ãŒã¹ã»ããããŒã¯æ¬¡ã®ããã«èª¬æããŠããŸããã倧ããªè©©ã®ããã«èŠããŸããæ°åŠã®èŠ³ç¹ããã¯åçŽæå¿«ã§ãããå®çšçã§ã¯ãããŸãããã
èæ¯
1950幎代åã°ã«ãæ©æ¢°ã³ãŒãã§ã®ããã°ã©ãã³ã°ã®åœ¹å²ã¯è¡°éãå§ããŸããã äžäœã¬ãã«ã®èšèª-FortranãAlgolãCOBOLãªã©ãç»å ŽããŸããã
ãããã®æåã§æãäžè¬çãªãã®ã®1ã€ã¯ã1954幎ã«IBMã®ããã°ã©ããŒã°ã«ãŒãã«ãã£ãŠéçºãããFortranïŒFORmula TRANslator-åŒå€æããã°ã©ã ïŒïŒæåã®ããŒãžã§ã³ïŒã§ãã ãã®èšèªã¯ãæ°åŠçæ§è³ªã®ç§åŠçããã³æè¡çèšç®ã«åããããŠããŸããã

ã°ã¬ãŒã¹ã»ããããŒã¯ãã¢ã¡ãªã«ã®ç§åŠè ã§ãããã¢ã¡ãªã«æµ·è»ã®æç£ã§ãã ããŒããŒã倧åŠã®ã³ã³ãã¥ãŒã¿ãŒããã°ã©ããŒMarkIã
1954幎ãã°ã¬ãŒã¹ããããŒãçããã°ã«ãŒãã¯ãããã°ã©ãã³ã°èšèªãšã³ã³ãã€ã©ãå«ãã·ã¹ãã ãéçºããåŸã«Math-MaticãšããŠç¥ãããããã«ãªããŸããã Math-Maticã®äœæãæ£åžžã«å®äºããåŸãHopperãšåœŒå¥³ã®ã°ã«ãŒãã¯ããŠãŒã¶ãŒãéåžžã®è±èªã«äŒŒãèšèªã§ããã°ã©ãã³ã°ã§ããæ°ããèšèªãšã³ã³ãã€ã©ãŒã®éçºã«çæããŸããã 1958幎ãFlow-Maticã³ã³ãã€ã©ãç»å ŽããŸããã Flow-Maticã³ã³ãã€ã©ã¯ãåçšããŒã¿ãåŠçããããã®æåã®èšèªã§ããã
ãã®æ¹åã§ã®éçºã«ãããCOBOLïŒCommon Business Oriented LanguageïŒãäœæãããŸããã 1960幎ã«äœæãããŸããã ãã®èšèªã§ã¯ãæ°åŠçããŒã«ã¯ããŸãéçºãããŠããŸããã§ããããããã¹ãåŠçããŒã«ãšå¿ èŠãªããã¥ã¡ã³ãã®åœ¢åŒã§ã®ããŒã¿åºåã®ç·šæã¯ååã«éçºãããŸããã 管çããã³ããžãã¹ã®åéã§ã®å€§éããŒã¿åŠçã®äž»èŠèšèªãšããŠèããããŠããŸããã
æé«ã¯åã®æµ
20äžçŽã®50幎代ãç§åŠã®äžçå šäœããç§åŠããã°ã©ãã³ã°ã®ããã®åäžèšèªã決å®ããåé¡ã®è§£æ±ºãåŸ ã£ãŠããŸããã ç±³åœã®ç¬èªã®ããŒãžã§ã³ãæäŸããæåã®ã 1957幎ãFortranã¯ç©æ¥µçã«åºãŸãå§ããŸããã ãããããšãŒãããã®ã³ãã¥ããã£ã¯ãIBMïŒFortranãäœæãããå ŽæïŒãä»ã®æ»æçãªã¢ã¡ãªã«äŒæ¥ã®èŠæš©ãæããŸããã ãããã£ãŠã圌ãã¯ãšãŒãããåžå Žã§æ°ãããã¹ã¿ãŒãã確å®ã«äžæããªããã°ãªããªããšæ±ºå®ããŸããã
1958幎ããã¥ãŒãªããã§ãé£éŠå·¥ç§å€§åŠã«åºã¥ããŠç¹å¥å§å¡äŒãèšç«ãããŸããã æåã®äŒè°ã¯5æ27æ¥ã«éå¬ãããã³ã³ãã¥ãŒã¿ãŒã®åéã§æãå°æ¬ãããŠãã8ã€ã®åœå±ïŒãšãŒããããã4人ãç±³åœãã4人ïŒãéãŸããŸããã ãã®äŒè°ã«ã¯ãFortranã®äœæè ã§ããJohn BackusãšJoseph Wagstenãåºåžãããã®åŸãCOBOLã«é¢ããçæå§å¡äŒã®å§å¡é·ã«ãªããŸããã

é£éŠå·¥ç§å€§åŠã ãã¥ãŒãªãã
ãæé«ã¯åã®æµã§ããããšããã¢ãããŒã®äžã§ã®äŒè°ã¯ãå®éã«ã¯ãã®å£°æã«å¯Ÿå¿ããŠããŸããã§ããã ãã®ããšãããäœæ¥ã¯ãã£ãããšé²ã¿ãŸããã ã¢ã¡ãªã«äººã¯ããã§ã«ã³ã³ãã¥ãŒã¿ãŒã§äœ¿çšãããŠããèšèªã«è¿ãèšèªã䞻匵ããŸããã ãšãŒããã人ã¯ãè€éãªæ°åŠçåé¡ã解決ããéã®èšèªã®åã»ã©ã³ã³ãã¥ãŒã¿ã«é¢å¿ããããŸããã§ããã 2æ¥ç®ã«ã¯ãææ ã®åµãåŒãèµ·ãããå°ããªãªãããå°æ°ç¹ä»¥äžã®ç¹ãåå ã§ãã»ãšãã©è°è«ãè¡ãè©°ãŸããŸããã
ãšãŒããã人ã®äžäººã¯ãæ³ã§ããŒãã«ã«ã¶ã€ãããããèšã£ãã ããããã¢ã¡ãªã«äººã¯ãå°æ°ç¹ã§å°æ°ç¹ã䜿çšãããšãŒãããã®ç¿æ £ãåŠå®ããŸããã ãã®åŸããžã§ã»ãã»ã¯ã°ã¹ãã³ã¯å¹³åç¶æã®åœ¹å²ãåŒãåãããå°åµããé®ããããšããŸããã
Wagstenã«ãã£ãŠææ¡ãããåé¡ã®æçµçãªè§£æ±ºçã¯ãæ°ããèšèªã«æã泚ç®ãã¹ãç¹æ§ã®1ã€ãæäŸããŸããã 圌ã¯ã説æãåºçç©ãããã³å®è£ ã®ã¬ãã«ãšãã3ã€ã®ã¬ãã«ã®èšèªã¢ãã«ãææ¡ããŸããã
ãã€ã³ããšã³ã³ããŸãã¯äœ¿çšããã¢ã«ãã¡ãããã®éžæãªã©ã®å°ããªè³ªåã¯ç¬¬2ã¬ãã«ãŸãã¯ç¬¬3ã¬ãã«ã«æã¡èŸŒãŸããããã«ããåºæ¬çãªåé¡ãæ¯èŒçè¿ éã«è§£æ±ºããããšãã§ããŸããã åŸã§åæãããåºçã¬ãã«ã§ã¯ãåœå¥ããŒã¯ãŒããšããŒã¿è¡šç€ºæšæºïŒå°æ°ç¹ãå«ãïŒã®äœ¿çšãèš±å¯ãããå®è£ ã¬ãã«ã«ããèšèªãéåžžã«å³å¯ã«æ±ºå®ãããŸãã-ããã«å¿ããŠã翻蚳è ãäœæããå¿ èŠããããŸãããããªãè°è«ã¯ã第1ã¬ãã«ã®ã¿ã§è¡ãããããã现ããéšåã«ãšããããã«é²ãããšãã§ããŸããã
ãã¬ãã
ãã¥ãŒãªããã§ã®äŒè°ã§äœæãããèšèªã¯ãFortranããå€ããç¶æ¿ããŸããããã¢ã«ãŽã«ã§ã¯ãåºæ¬çãªæŠå¿µã¯ããè«ççãªãã€ãŸããšã¬ã¬ã³ããªæ§é ã§åéãããŸããã ããããæéã®äžè¶³ãšåŠ¥åã®å¿ èŠæ§ã®ããã«ãå€ãã®èŠèœãšãããªãããŸããã ãããã®1ã€ã¯ãããŒã¿ã®å ¥åããã³åºåæé ã®æ¬ åŠã§ããã äŒè°ã®åå è ã¯ãèšèªã³ã³ãã€ã©ã®éçºè ãå ¥åããã³åºåæé ãäœæããå¿ èŠããããšèããŠãã³ã³ãã¥ãŒã¿ãŒã®çš®é¡ã«å€§ããäŸåãããã®é åã«ã¯æå³çã«è§ŠããŸããã§ããã
ããããå§å¡äŒã®å šäŒäžèŽã¯çµ¶å¯Ÿçã§ã¯ãããŸããã§ãããäžéšã®åå è ã¯ãäœæ¥ãæãç²ãè¿äŒŒã§è¡ããããšä¿¡ããŠäŒè°ãå»ããä»ã®éšåã¯ãã¢ã«ãŽã«ããã¹ã¿ãŒãããã³æ°ããåœéæšæºã«ããã®ã«ååã§ãããšä¿¡ããŠããŸããã

ãã®ãããªæ¥œèŠ³äž»çŸ©è ã®äžäººã¯ãžã§ã³ã»ããã«ã¹ã ã£ãã 1959幎2æã圌ã¯åœ±é¿åã®ããSHAREçµç¹ïŒIBMã³ã³ãã¥ãŒã¿ãŒãŠãŒã¶ãŒãå«ãïŒã«æ°ããããã°ã©ãã³ã°èšèªã«è³ããããã«èª¬åŸããŸããã ãã®åŸãçµç¹ã¯IBMã«Algolãå®è£ ããããšã匷ãæšå¥šããŸããã
ã€ãŸããå瀟ã¯é¡§å®¢ã«äŒãã«è¡ããŸããããå®éã«ã¯ããã®æ¹åã®äœæ¥ã¯ã»ãšãã©è¡ãããŠããŸããã§ããã åœæãIBMã¯ã³ã³ãã¥ãŒã¿ãŒåžå Žã®äžççãªãŒããŒã§ãããFortranãç©æ¥µçã«å®è£ ããŠããŸããã å®éãSHAREã¡ã³ããŒã«ãæ確ãªç«å Žã¯ãããŸããã§ããã 圌ãã®ç±æãèãããšãã圌ãã¯äœãèµ·ãããªãã£ããã®ããã«FortranããµããŒããç¶ããŸããã
ããããããã«ã¹ã¯å€±æã«ãããããããã¢ã«ãŽã«ãç©æ¥µçã«å®£äŒãç¶ããŸããã
ãã¥ãŒãªããã«æ»ã£ãŠã圌ã¯ææ³ãã€ãŸãèšèªã®åèªãšèšå·ã®æ£ããé 眮ã«èå³ãæã¡ãŸããã Backusã¯ãè«ççãªæ¹æ³ã§åèšèªæ§é ãå®çŸ©ããããã®å³å¯ã§æ£ç¢ºãªã·ã¹ãã ãéçºããŸããã ããšãã°ãèŠçŽ ãdigitããå®çŸ©ããŠãã<number>ïŒ= 0 | 1 | 2 | ... | 9 |ããšæžããŸããã
ããã«ãããã°ã©ãã¯æ§æã®èšè¿°ã«å¯Ÿãããã®ã¢ãããŒããBackusã®éåžžã®åœ¢åŒããŸãã¯BNFãšåŒã³å§ããŸããã ïŒãã³ããŒã¯ã®å€©æåŠè ããŒã¿ãŒã»ããŠã¢ã«ãããã®ç 究ã®ãã®åŸã®æ¹è¯ã¯ããã®ã¢ãããŒãããã°ãã°ãããã«ã¹ã»ããŠã¢åœ¢åŒããšåŒã°ãããšããäºå®ããããããŸããïŒç¥èªã¯åããŸãŸ-BPFïŒãBPFã¯ãç¹ã«ããã°ã©ãã³ã°èšèªã®éçºã«å€§ããªåœ±é¿ãäžããŸããã¢ã«ãŽãŒã«ã®éçºã®ç¬¬2段éã
äžæ¹ãAlgol-58ã¯æåããŸããã§ãããæ·±å»ãªä¿®æ£ãå¿ èŠã§ããã
ã¢ã«ãŽãŒã«-60
1960幎1æãæåŸã®ãã¥ãŒãªããã°ã«ãŒãã®7人ãå«ããšãŒããããšã¢ã¡ãªã«ã®åœã®ä»£è¡š13人ãããªã§äŒããæåã®ããŒãžã§ã³ã«æ®ã£ããç©Žãåãããã æ°ããå°çãã人ã®1人ã¯ãBNFã®å©ããåããŠé²é³ãããä¿®æ£ã¢ã«ãŽã«èšèªã®ããªã¢ã³ããææ¡ããããŠã«ã§ãã

æ§æå³ãšè§£æããªãŒ
8æ¥éã®å°é£ãªäº€æžã®åŸãäŒè°ã®åå è ã¯ããªãå»ããåæã«éãããšä¿¡ããŠãããã¢ã«ãŽã«ã®æãç±çãªæ¹è©å®¶ã§ããé»ã£ãŠããã¹ãã ãšä¿¡ããŠããŸããã

Algol-60éçºå§å¡äŒã¯ã1960幎ã«ããªã§éå¬ãããäŒè°ã§æ®åœ±ããããã®ã°ã«ãŒãåçã«ãè³æãããŸãã åå è ã®äžã«ã¯ãã¢ã¡ãªã«ã®ã³ã³ãã¥ãŒã¿ãŒã¹ãã·ã£ãªã¹ãã§ããJohn BackusïŒå³åŽã®ã«ã¡ã©ã«æãè¿ãïŒãšãã³ããŒã¯ã®å€©æåŠè Peter NaurïŒå·ŠåŽã®4çªç®ïŒãããŸãããã®åŸãããã°ã©ãã³ã°èšèªãèšè¿°ããã·ã¹ãã ã¯ãBackus-Naur圢åŒããšåŒã°ããŸãã ïŒLISPã®äœæè ããžã§ã³ã»ããã«ãŒã·ãŒãæ®åœ±ããåçïŒ
ããããã¢ã¡ãªã«ã®äŒè°åå è ãé£è¡æ©ãéãããšããã«ãã¢ã«ãŽã«-60ã¯å€éšããå³ããæ¹å€ãåããŸããã ããã«ãäŒè°åå è ã®å°ããªã°ã«ãŒãã¯ãèšèªã«æ®ã£ãŠããææ§ããææããããããã宣äŒãããŸããã ä»ã®æ¹è©å®¶ã¯ãI / Oã¯èšèªã«å«ãŸããŠããªããšåŒ·èª¿ããŸããã
ã¢ã¡ãªã«ã§ã¯ãAlgol-60ãå·é ·ã«åºäŒã£ãã ããã«ã圌ãã³ã³ãã€ã©ãæžãã®ã¯éåžžã«å°é£ã§ããããšãå€æããŸãããåœæã®æå 端ã®ã³ã³ãã¥ãŒã¿ãŒã§ãããèšè¿°èšèªã§èŠã€ãã£ã116æåã®ã»ãããèªèã§ããŸããã§ããã
ãšãŒãããã§ã¯ã圌ãã¯ç°ãªã£ãè°è«ãããŸãããæ°ããèšèªã¯ãåœå¢ãèšèªã®éå£ã«é¢ä¿ãªããèå³æ·±ãè€éãªã¢ã€ãã¢ã亀æããããšãå¯èœã«ããŸããã ããã«éèŠãªããšã¯ããšãŒãããã®ã³ã³ãã¥ãŒã¿ãŒç£æ¥ãã¢ã¡ãªã«ã®ãã¯ãããžãŒããç¬ç«ããããšãå¯èœã«ããŸããã
ã¢ã«ãŽã«68
1962幎ãåœéæ å ±åŠçåäŒïŒIFIPïŒã®åŸæŽã®äžãã¢ã«ãŽã«ãããã«æ¹åããããšãç®çãšããæ°ããå§å¡äŒãèšç«ãããŸããã æ°ããå§å¡äŒã«ã¯ãäžççã«æåãªå€ãã®ç§åŠè ãç¹ã«ãšãã¬ãŒã»ãã€ã¯ã¹ãã© ã ãã¯ã©ãŠã¹ã»ã¯ãŒã¹ ããããŒã»ãã¢ãå«ãŸããŸããã
以åã®ããŒãžã§ã³ã®æ¬ ç¹ã®1ã€ã¯ãå ¥å/åºåã®äžè¶³ãšããŠäŸç¶ãšããŠèªèãããŠããŸããã ãã®ç¬éã®è»œèŠã¯ãèšèªã®åŠè¡çæåã«ãã£ãŠèª¬æãããŸãããç§åŠè ã«ãšã£ãŠãã¢ã«ãŽãªãºã èªäœã第äžã®é¢å¿äºã§ãããåºåããŒã¿ãã©ã®ãããªåœ¢ã§æ瀺ããããã¯äºæ¬¡çãªåé¡ã§ãã ç£æ¥äžã®ããŒãºã«ã¯ããã®ã¢ãããŒãã¯é©åã§ã¯ãããŸããã§ããã
2çªç®ã®é倧ãªæ¬ ç¹ã¯ãäœéã§ããã ãããã£ãŠãéèŠãªã¿ã¹ã¯ã¯ãããã°ã©ã å®è¡æ®µéã§ã®äœæ¥å¹çãé«ããããšã§ããã
äœããã®çç±ã§ãèšèªéçºã°ã«ãŒãã®ãªãŒããŒã¯ãã¢ã ã¹ãã«ãã ã®æ°åŠã»ã³ã¿ãŒã®ãã£ã¬ã¯ã¿ãŒã§ããA.ãŽã¡ã³ãŠã§ã€ã³ã¬ãŒãã§ããã 圌ã¯çŽç²ãªæ°åŠè ã§ããã圌ã®æš©éã䜿çšããŠãããã°ã©ããŒãšå®è·µè ãåæããªãã£ã決å®ãäžããçµæãšããŠçããèšèªã«æªåœ±é¿ãåãŒããŸããã
æ®å¿µãªããããŽã¡ã³ãŠã§ã€ã³ã¬ãŒãã®æš©åšäž»çŸ©çãªãªãŒããŒã·ããã®ã¹ã¿ã€ã«ã¯ããã°ãã°ããŒã å ã®æèŠã®çžéã«ã€ãªãããHoar and WirthãããŒã ãå»ãããšããããŸããã ããŒã ã«ãšã£ãŠãã®æ倱ãã©ãã»ã©é£ããã£ããã¯ã次ã®äºå®ã«ãã£ãŠå€æã§ããŸããWirthã®ææ¡ã¯ãå§å¡äŒã§ã¯åãå ¥ãããããPascalèšèªã®åºç€ã圢æããŸããã
Algol 68ã¯ãããã€ãã®èå³æ·±ãã¢ã€ãã¢ïŒããšãã°ãèšèªæ¡åŒµã¡ã«ããºã ãããã³äžŠåã³ã³ãã¥ãŒãã£ã³ã°ã®ããŒã«ïŒãå®è£ ããŸãããã䜿çšã¯éãããŠããŸãã

ãã·ã¢ã§ã¯ãä»äºã§ãããç©æ¥µçã«äœ¿çšããæ奜家ãããŸããããããŠãã¢ã«ãŽã«68ã«åºã¥ããèšèªã¯ããã€ãŠåœå ã®Elbrusã³ã³ãã¥ãŒã¿ãŒãããã°ã©ãã³ã°ããããã®åºç€ã«ãªããŸããã
èšèªæ©èœ
ä»ã®ã»ãšãã©ã®ããã°ã©ãã³ã°èšèªãšåæ§ã«ãAlgolããã°ã©ã ã¯ã¡ã€ã³ããã°ã©ã ãšäžé£ã®ã«ãŒãã³ã§æ§æãããŠããŸãã
begin procedure SUM(V,N); valueN; realarray V; integer N; begin integer I; real TEMP; TEMP:=0; for I:=1 step1 until N do TEMP:=TEMP+V[I]; SUM:=TEMP end; integer K; START: inreal(1,K); if K>0 then begin realarray A[1:K]; inarray(1,A); outreal(2,SUM(A,K)); gotoSTART end end
ãããã¯å ã§äœæãããããŒã¿æ§é ã¯ããããã¯å ã§ããŒã«ã«ã§ããããããã¯ãçµäºãããšç Žæ£ãããŸãã ãããã£ãŠãããŒã¿ã®æå¹æéãšãã®èå¥åã®ã¹ã³ãŒããå¶åŸ¡ã§ããŸãã ãããã¯å ã®å€æ°ã®åçã¡ã¢ãªå²ãåœãŠã«ãããååž°ãå¹ççã«äœ¿çšã§ããŸãã
ãããã¯ã¯ãã¹ããããæ§é ã圢æã§ããŸããã€ãŸãããããã¯ã¯ãããã¯å ã«ãã¹ãã§ãããããã¯ã¯ãã®äžã®å¥ã®ãããã¯ãªã©ã«ãã¹ãã§ããŸãã ãã®èšèªã®éèŠãªç¹åŸŽã¯ããããã¯ãæŒç®åã®äžçš®ã§ãã-è€åæŒç®åã§ãããéåžžã®æŒç®åãåãå ¥ãããããšãããªãã©ãã§ã䜿çšã§ããããšã§ãã
Algolã¯ãè«çåãæŽæ°åãå®æ°åãããã³ããŒã¿æ§é ã®åçš®ã®é åã®ã¿ãå®è£ ããŸãã 確ãã«ãé åã¯åçã§ãããããã¡ã¢ãªã®é åãå¹æçã«ç®¡çã§ããŸãã æ®å¿µãªãããèšèªã®ããŒã¿ã®ã¿ã€ããšæ§é ã¯ããã»ã©å€æ§ã§ã¯ãããŸããã ããããããããäž»ã«ç§åŠèšç®ã«äœ¿çšãããèšèªã®ãããªãéåœã決å®ããã®ã§ãããã
èšèªã®æ©èœã«ã¯ããµãããã°ã©ã ã«ãã©ã¡ãŒã¿ãæž¡ãããã®ã¡ã«ããºã ãå«ãŸããŸãã ãããã®2ã€ããããŸãïŒäŸ¡å€ã«ããããç¥ãããäŒéãšååã«ããããªããšããŸããã¯ãªäŒéã
ããã·ãŒãžã£ã«æž¡ãããåŒã¯æ¯åè©äŸ¡ãããŸãããŸãã§ä»®ãã©ã¡ãŒã¿ã®ä»£ããã«ãåŒã³åºãå ããã°ã©ã ã®ã³ã³ããã¹ãã§èšç®ãããå€ãä»£å ¥ããããã®ããã«è©äŸ¡ãããŸãã å®éããã¯ã眮æãšãµãã«ãŒãã³åŒã³åºãã®äº€å·®ç¹ã§ãã
Begin procedure p (a,b); name a, b; integer a, b; begin for a:=1 step1 until 10 do b := 0 end p; integer i; integer array s [1:10]; p (i, s[i]) end
ãµã€ã¯ã«ã®åã¹ãããã§pããã·ãŒãžã£ãå®è¡ããããšãiãaã«çœ®ãæããããs [i]ãbã«çœ®ãæãããããã®ããã·ãŒãžã£ã¯é åsãåçŽã«ãŒãã«ããŸãã ãã©ã¡ãŒã¿ãŒãæž¡ããã®æ¹æ³ã«ã¯å€ãã®åé¡ããããããååã§ãã©ã¡ãŒã¿ãŒãæž¡ãããšã¯ãã¢ã«ãŽã«ã®ç¹æš©ã§ãã ãããããã©ã¡ãŒã¿ãæž¡ããã®æ¹æ³ã¯ãããã°ã©ãã³ã°èšèªã®ãããªãéçºã«åœ±é¿ãäžããŸããã
æŽå²äžã®åœ¹å²
ç±³åœåœé²ç·çãCOBOLèšèªãç©æ¥µçã«ãµããŒãããããã«ããã€ãããã³è¥¿ãšãŒãããè«žåœã®ä»ã®æ¿åºæ©é¢ã®ç¬ç«ããç 究è©è°äŒã¯ãã¢ã«ãŽã«ããµããŒãããŸããã
ããã«ãããèšèªã¯ã€ã®ãªã¹ãããœããšãé£éŠã«åºãããŸããã ã»ãšãã©ã®ã³ã³ãã€ã©ãŒã¯æåããããã«ã¢ã«ãŽã«ã¯ãšãŒãããã®ããã°ã©ããŒã®åœéèšèªãšããŠèªããããŸããã
ã¢ã«ãŽã«ã¯ããã®ãããªå°äœãã¢ã¡ãªã«ã®å©çãæ·±å»ã«å·ã€ããã®ã§ãäžéšã®äººãæãã§ããããã«ãæ®éçãªåœéæšæºã«ãªããŸããã§ããã 圌ã¯ç±³åœã§ã»ãšãã©äººæ°ãç²åŸããŸããã§ããããFortranã®åœ±ã«æ°žé ã«çãŸããŸããã
ãã ããåŸã«ç»å Žããèšèªã®å€ãã¯ïŒå°ãªããšãéšåçã«ïŒAlgolã«åºã¥ããŠããããã®éçºãžã®è²¢ç®ã¯ããã€ãã®åºæ¬çãªã¢ã€ãã¢ã«é¢é£ããŠããŸãã
æãéèŠãªãã®ã®1ã€ã¯ãããã¯æ§é ã§ããããã«ãããããã°ã©ã ãç¬ç«ããŠéçºãããã¯ããŒãºããŠãããã«åå²ã§ããŸãã å¥ã®ã¢ã€ãã¢ã¯ååž°ã§ãã 3çªç®ã®ã¢ã€ãã¢ã¯ãæ§æã®æ£åŒãªå®çŸ©ã§ããBPFã§ãã
ãããããã³ãã®ä»ã®åºæ¬çãªã¢ã€ãã¢ã¯ãä»ã®èšèªã®éçºè ã«ç¶æ¿ãããŸããã