1. ã¯ããã«
ããã°ã©ãã³ã°ã®äžçã¯åºå€§ã§ãå€ãã®èšèªãååšããŸãããã®äžã§ããCèšèªã¯ç¹ã«æ³šç®ãããèšèªã®äžã€ã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãCèšèªã®éèŠæ§ãšãã®æ®åã®èæ¯ããããŠç¬åŠã§åŠã¶éã®ã¡ãªããã«ã€ããŠè©³ãã解説ããŸãã
1.1 Cèšèªã®éèŠæ§ãšæ®å
Cèšèªã¯ã1970幎代åé ã«AT&Tãã«ç 究æã§éçºãããããã°ã©ãã³ã°èšèªã§ãããã®åŸãå€ãã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã¢ããªã±ãŒã·ã§ã³ã®éçºã«äœ¿çšãããããã«ãªããŸãããCèšèªã®æ倧ã®ç¹åŸŽã¯ãæ±çšæ§ãšå¹çæ§ã§ããããã«ãããããŸããŸãªãã©ãããã©ãŒã ãç°å¢ã§ã®åäœãå¯èœãšãªã£ãŠããŸãã
ãŸããCèšèªã¯ä»ã®å€ãã®ããã°ã©ãã³ã°èšèªã®åºç€ãšãªã£ãŠãããC++ãJavaãPythonãªã©ã®èšèªãCèšèªã®åœ±é¿ãåããŠããŸãããã®ãããªèæ¯ãããCèšèªã¯ããã°ã©ãã³ã°ã®åºç€ãšããŠåŠã¶äŸ¡å€ãéåžžã«é«ããšèšããŸãã
1.2 ç¬åŠã§ã®åŠç¿ã®ã¡ãªãã
ç¬åŠã§ã®åŠç¿ã¯ãèªåã®ããŒã¹ã§åŠã¶ããšãã§ããæ倧ã®ã¡ãªããããããŸããç¹ã«ãå¿ããæ¥åžžã®äžã§åŠç¿æéã確ä¿ããã®ãé£ããå Žåããèªåã®èå³ãç®çã«åãããŠåŠç¿å 容ãéžã³ããå Žåã«ã¯ãç¬åŠãæé©ã§ãã
ããã«ãç¬åŠã§ã¯èªãåé¡ã解決ããèœåãèªåŸçãªåŠç¿èœåãé€ãããšãã§ããŸããããã¯ãå°æ¥çã«æ°ããæè¡ãç¥èãç¿åŸããéã®å€§ããªåŒ·ã¿ãšãªããŸãããŸããç¬åŠã§ã®åŠç¿ã¯ãå€æ§ãªææããªãœãŒã¹ãèªç±ã«éžã¶ããšãã§ãããããææ°ã®æ å ±ãå®è·µçãªç¥èãåŸãããšãå¯èœã§ãã
ãã®ããã«ãCèšèªã®åŠç¿ã¯å€ãã®ã¡ãªãããæã€ã ãã§ãªããç¬åŠã§ã®åŠç¿ã«ãã£ãŠãããªãã¹ãã«ãç¥èã身ã«ã€ããããšãã§ããŸãã
2. Cèšèªã®åºç€ç¥è
ããã°ã©ãã³ã°ã®å ¥éãšããŠãCèšèªã¯å€ãã®åŠç¿è ã«éžã°ããŠããŸãããã®çç±ã¯ãCèšèªãæã€ç¬ç¹ã®ç¹åŸŽãšãå¹ åºãçšéã«å¯Ÿå¿ããŠããããã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãCèšèªã®åºæ¬çãªç¹åŸŽãæ§æããããŠããã°ã©ãã³ã°ã®åºæ¬çãªèãæ¹ã«ã€ããŠè§£èª¬ããŸãã
2.1 Cèšèªã®ç¹åŸŽãšçšé
Cèšèªã¯ãé«éæ§ãšæ±çšæ§ãæã€ããã°ã©ãã³ã°èšèªãšããŠç¥ãããŠããŸããããã«ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãçµã¿èŸŒã¿ã·ã¹ãã ã®éçºã«åºã䜿çšãããŠããŸãããŸããCèšèªã¯ãçŽæ¥ããŒããŠã§ã¢ã«ã¢ã¯ã»ã¹ããããšãå¯èœãªãããããŒããŠã§ã¢å¶åŸ¡ã«ãé©ããŠããŸãã
2.2 Cèšèªã®åºæ¬çãªæ§æ
Cèšèªã®æ§æã¯ãä»ã®å€ãã®ããã°ã©ãã³ã°èšèªã®åºç€ãšãªã£ãŠããŸããåºæ¬çãªæ§æãšããŠã¯ãå€æ°ã®å®£èšãå¶åŸ¡æ§æïŒifæãforæãwhileæãªã©ïŒãé¢æ°ã®å®çŸ©ãªã©ããããŸããç¹ã«ãCèšèªã§ã¯ãã€ã³ã¿ãšããç¹æã®æŠå¿µããããããã«ããã¡ã¢ãªã®çŽæ¥æäœãå¯èœãšãªã£ãŠããŸãã
2.3 ããã°ã©ãã³ã°ã®åºæ¬çãªèãæ¹
ããã°ã©ãã³ã°ãåŠã¶éã«ã¯ãåã«èšèªã®æ§æãèŠããã ãã§ãªããã¢ã«ãŽãªãºã ãããŒã¿æ§é ãšãã£ãåºæ¬çãªèãæ¹ãç解ããããšãéèŠã§ããã¢ã«ãŽãªãºã ã¯ãåé¡ã解決ããããã®æé ãæ¹æ³ãè¡šããã®ã§ãããŒã¿æ§é ã¯ãããŒã¿ãå¹ççã«æ±ãããã®æ§é ãæããŸãããããã®åºæ¬çãªèãæ¹ã身ã«ã€ããããšã§ãããé«åºŠãªããã°ã©ãã³ã°ãå¯èœãšãªããŸãã
3. å¹æçãªåŠç¿æ¹æ³
ããã°ã©ãã³ã°ã®åŠç¿ã¯ããã æ å ±ãåžåããã ãã§ãªããå®éã«æãåãããŠçµéšãç©ãããšãéèŠã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãCèšèªãå¹æçã«åŠã¶ããã®æ¹æ³ãšããŠãåŠç¿ã¹ã©ã€ããå®è·µçãªåŠç¿ãµã€ããæžç±ã®å©çšã«ã€ããŠè©³ãã解説ããŸãã
3.1 åŠç¿ã¹ã©ã€ãã§ã®å ¥é
åŠç¿ã®åãã«ã¯ãå šäœã®æµããæŠèŠãæŽãããšã倧åã§ããåŠç¿ã¹ã©ã€ãã¯ãããžã¥ã¢ã«ã«åªããè³æã§ãäžã€äžã€ã®ãããã¯ãç°¡æœã«ãŸãšããŠãããããåå¿è ãCèšèªã®å šäœåãææ¡ããã®ã«é©ããŠããŸããã¹ã©ã€ããéããŠãåºæ¬çãªæ§æãæŠå¿µãèŠèŠçã«ç解ããããšãã§ããŸãã
3.2 å®è·µçãªåŠç¿ãµã€ãã®æŽ»çš
çè«ã ãã§ãªããå®éã«ã³ãŒããæžããŠã¿ãããšã§ãæ·±ãç解ãåŸãããšãã§ããŸããå®è·µçãªåŠç¿ãµã€ãã¯ãå®éã®ããã°ã©ãã³ã°ç°å¢ãæš¡å£ãããã©ãããã©ãŒã ã§ããªã¢ã«ã¿ã€ã ã§ã³ãŒãã®åäœã確èªããªããåŠç¿ããããšãã§ããŸããããã«ãããå³åº§ã«ãã£ãŒãããã¯ãåãåããèªåã®ç解床ã確èªããããšãã§ããŸãã
3.3 æžç±ãå©çšããæ·±ãç解
æžç±ã¯ãæ·±ãå 容ã詳现ãªè§£èª¬ãæ±ããéã«éåžžã«æå¹ã§ããCèšèªã®å°éæžã¯ãåºæ¬ããå¿çšãŸã§å¹ åºããããã¯ãç¶²çŸ ããŠãããå®éã®ãããžã§ã¯ããæ¥çã®ãã¹ããã©ã¯ãã£ã¹ã«åºã¥ããç¥èãæäŸããŠããŸããæžç±ãéããŠãCèšèªã®èåŸã«ããçè«ãåçãæ·±ãåŠã¶ããšãã§ããŸãã
4. åŠç¿ã®éã®ãã³ããšãã¯ããã¯
ããã°ã©ãã³ã°ã®åŠç¿ã¯ãæã«ã¯é£ããæããããšããããŸããããããé©åãªã¢ãããŒããšãã¯ããã¯ãçšããããšã§ãå¹ççã«åŠã³é²ããããšãã§ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãããã°ã©ãã³ã°ã®èª²é¡ã解決ããæ¹æ³ãå¹æçãªåŠç¿ãªãœãŒã¹ã®éžã³æ¹ããããŠç¶ç¶çãªåŠç¿ã®ããã®ã¢ãããŒã·ã§ã³ç¶ææ³ã«ã€ããŠè©³ãã解説ããŸãã
4.1 ããã°ã©ãã³ã°ã®èª²é¡ã解決ããæ¹æ³
ããã°ã©ãã³ã°ã®åŠç¿äžã«ã¯ãããŸããŸãªèª²é¡ããšã©ãŒã«çŽé¢ããããšããããŸãããããã®èª²é¡ã解決ããããã®ç¬¬äžæ©ã¯ããšã©ãŒã¡ãã»ãŒãžãæ£ç¢ºã«èªãããšã§ãããšã©ãŒã¡ãã»ãŒãžã¯ãåé¡ã®åå ã解決ã®ãã³ããæäŸããŠãããŸãããŸãããªã³ã©ã€ã³ã®ãã©ãŒã©ã ãã³ãã¥ããã£ã掻çšããŠãåãåé¡ã«çŽé¢ããä»ã®åŠç¿è ãå°é家ããã®ã¢ããã€ã¹ãæ±ããããšãå¹æçã§ãã
4.2 å¹æçãªåŠç¿ãªãœãŒã¹ã®éžã³æ¹
ããã°ã©ãã³ã°ã®åŠç¿ãªãœãŒã¹ã¯ç¡æ°ã«ååšããŸããããã®äžããèªåã«åã£ããã®ãéžã¶ããšãéèŠã§ããã¬ãã¥ãŒãè©äŸ¡ãåèã«ããŠãä¿¡é Œæ§ã®é«ããªãœãŒã¹ãéžã¶ããšãããããããŸãããŸããå ·äœçãªãããžã§ã¯ããã¿ã¹ã¯ãéããŠåŠã¶å®è·µçãªãªãœãŒã¹ã¯ãçè«ã ãã§ãªãå®éã®ã¹ãã«ã磚ãã®ã«åœ¹ç«ã¡ãŸãã
4.3 ç¶ç¶çãªåŠç¿ã®ããã®ã¢ãããŒã·ã§ã³ç¶ææ³
åŠç¿ã®éäžã§ã¢ãããŒã·ã§ã³ã倱ãããšã¯èª°ã«ã§ããããŸããã¢ãããŒã·ã§ã³ãç¶æããããã®æ¹æ³ãšããŠãå°ããªç®æšãèšå®ããéæããéã«èªåãè€ããããšãå¹æçã§ãããŸããåŠç¿ä»²éãæã€ããšã§ããäºãã«åºæ¿ãåãåããåŠç¿ã®ç¶ç¶ããµããŒãããããšãã§ããŸãã
5. éçºç°å¢ã®æ§ç¯
ããã°ã©ãã³ã°ã®åŠç¿ãå§ããéãæåã«çŽé¢ããã®ãéçºç°å¢ã®æ§ç¯ã§ããé©åãªéçºç°å¢ãæŽããããšã§ãåŠç¿ãéçºãã¹ã ãŒãºã«é²è¡ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãéçºç°å¢ã®éžã³æ¹ãç°å¢æ§ç¯ã®æé ããããŠãã©ãã«ã·ã¥ãŒãã£ã³ã°ã®æ¹æ³ã«ã€ããŠè©³ãã解説ããŸãã
5.1 éçºç°å¢ã®éžã³æ¹
éçºç°å¢ã¯ã䜿çšããããã°ã©ãã³ã°èšèªãéçºã®ç®çã«å¿ããŠéžã¶å¿ èŠããããŸããCèšèªã®å ŽåãIDEïŒçµ±åéçºç°å¢ïŒãšããŠVisual StudioãEclipse CDTãªã©ã人æ°ã§ãããããã®IDEã¯ãã³ãŒãã®èšè¿°ãã³ã³ãã€ã«ããããã°ãªã©ã®äžé£ã®äœæ¥ãäžå çã«è¡ãããšãã§ããŸãããŸããåå¿è ã«ãšã£ãŠã¯ãã·ã³ãã«ãªããã¹ããšãã£ã¿ãšã³ã³ãã€ã©ã®çµã¿åãããããããã§ãã
5.2 ç°å¢æ§ç¯ã®ã¹ããããã€ã¹ãããã¬ã€ã
éçºç°å¢ã®æ§ç¯ã¯ã以äžã®æé ã§è¡ããŸãã
1. å¿ èŠãªãœãããŠã§ã¢ãããŒã«ã®ããŠã³ããŒã: å ¬åŒãµã€ãããææ°ã®å®å®çãããŠã³ããŒãããŸãã
2. ã€ã³ã¹ããŒã«: ããŠã³ããŒããããã¡ã€ã«ãå®è¡ããæ瀺ã«åŸã£ãŠã€ã³ã¹ããŒã«ãé²ããŸãã
3. èšå®: IDEãã³ã³ãã€ã©ã®èšå®ãè¡ããCèšèªã®éçºã«é©ããç°å¢ãæŽããŸãã
ãã®æé ãèžãããšã§ãå¹ççã«éçºç°å¢ãæ§ç¯ããããšãã§ããŸãã
5.3 ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãšãµããŒã
éçºç°å¢ã®æ§ç¯äžã«ãã©ãã«ãçºçããå ŽåããŸãã¯ãšã©ãŒã¡ãã»ãŒãžã確èªããŸãããããšã©ãŒã¡ãã»ãŒãžã¯ãåé¡ã®åå ã解決ã®ãã³ããæäŸããŠãããŸãããŸãããªã³ã©ã€ã³ã®ãã©ãŒã©ã ãã³ãã¥ããã£ã掻çšããŠãåãåé¡ã«çŽé¢ããä»ã®ãŠãŒã¶ãŒããã®ã¢ããã€ã¹ãæ±ããããšãå¹æçã§ããå¿ èŠã«å¿ããŠãå ¬åŒã®ãµããŒããããã¥ã¡ã³ããåç §ããããšãããããããŸãã
6. å®è·µçãªãããžã§ã¯ãã®ææ¡
ããã°ã©ãã³ã°ã®åŠç¿ã«ãããŠãå®éã®ãããžã§ã¯ããæãããããšã¯éåžžã«æå¹ã§ããå®éã®åé¡ã解決ããéçšã§ãæ·±ãç解ãšå®è·µçãªã¹ãã«ãç²åŸããããšãã§ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãåå¿è ããäžçŽè ãŸã§ã®åŠç¿è åãã«ãCèšèªãçšãããããžã§ã¯ãã®ã¢ã€ãã£ã¢ãææ¡ããŸãã
6.1 åå¿è åãã®ãããžã§ã¯ãã¢ã€ãã£ã¢
åå¿è ã®æ¹ã«ã¯ãåºæ¬çãªæ§æãæŠå¿µã®ç解ãæ·±ããããã®ãããžã§ã¯ããææ¡ããŸããäŸãšããŠãç°¡åãªèšç®æ©ãæ¥èšã¢ããªã®éçºãèããããŸãããããã®ãããžã§ã¯ãã¯ãåºæ¬çãªå ¥åºåãæ¡ä»¶åå²ãã«ãŒããªã©ã®åºæ¬çãªæŠå¿µãçšããŠå®è£ ããããšãã§ããŸãã
6.2 äžçŽè åãã®ãããžã§ã¯ãã¢ã€ãã£ã¢
äžçŽè ã®æ¹ã«ã¯ãå°ãè€éãªæ©èœãæã€ãããžã§ã¯ããææ¡ããŸããäŸãšããŠãç°¡æçãªããŒã¿ããŒã¹ã·ã¹ãã ããã£ããã¢ããªã®éçºãèããããŸãããããã®ãããžã§ã¯ãã§ã¯ããã¡ã€ã«æäœãããŒã¿æ§é ããããã¯ãŒã¯éä¿¡ãªã©ã®äžçŽçãªãããã¯ãåãå ¥ããããšãã§ããŸãã
6.3 äžçŽè åãã®ãããžã§ã¯ãã¢ã€ãã£ã¢
äžçŽè ã®æ¹ã«ã¯ãé«åºŠãªæè¡ãã¢ã«ãŽãªãºã ãçšãããããžã§ã¯ããææ¡ããŸããäŸãšããŠãç¬èªã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®éçºãæ©æ¢°åŠç¿ã©ã€ãã©ãªã®å®è£ ãèããããŸãããããã®ãããžã§ã¯ãã¯ãæ·±ãçè«çç¥èãšé«åºŠãªããã°ã©ãã³ã°ã¹ãã«ãèŠæ±ããããããäžçŽè ã«é©ããŠããŸãã
7. ãŸãšããšä»åŸã®åŠç¿ãžã®ã¹ããã
ãã®èšäºãéããŠãCèšèªã®åŠç¿æ¹æ³ãå®è·µçãªãããžã§ã¯ãã®ææ¡ãéçºç°å¢ã®æ§ç¯ãªã©ãå€å²ã«ããããããã¯ãåŠã³ãŸãããããã§ã¯ããããŸã§ã®åŠã³ãæ¯ãè¿ãã€ã€ãä»åŸã®åŠç¿ãžã®ã¹ãããã«ã€ããŠèå¯ããŸãã
7.1 åŠç¿ã®æ¯ãè¿ã
åãã«ãCèšèªã®åºç€ç¥èãåŠç¿æ¹æ³ã«ã€ããŠåŠã³ãŸãããç¹ã«ãå®è·µçãªãããžã§ã¯ããéããŠã®åŠç¿ã¯ãçè«ãšå®è·µã®ãã©ã³ã¹ãåãäžã§éåžžã«æå¹ã§ããããšãããããŸããããŸããé©åãªéçºç°å¢ã®æ§ç¯ã¯ãåŠç¿ã®å¹çã倧ããåäžãããèŠå ãšãªããŸãã
7.2 ãããªãåŠç¿ãªãœãŒã¹ã®çŽ¹ä»
ä»åŸã®åŠç¿ãæ·±ããããã«ã¯ãããŸããŸãªãªãœãŒã¹ã掻çšããããšãæšå¥šãããŸãããªã³ã©ã€ã³ã®ãã¥ãŒããªã¢ã«ãæžç±ãã³ãŒãã£ã³ã°ãã£ã¬ã³ãžãµã€ããªã©ãå€å²ã«ããããªãœãŒã¹ãååšããŸããç¹ã«ãã³ãã¥ããã£ããã©ãŒã©ã ã掻çšããããšã§ãä»ã®åŠç¿è ãå°é家ãšã®äº€æµãæ·±ããããšãã§ããŸãã
7.3 ç¶ç¶çãªåŠç¿ã®éèŠæ§
ããã°ã©ãã³ã°ã®äžçã¯æ¥ã é²åããŠããŸããæ°ããæè¡ããã¬ãŒã ã¯ãŒã¯ãç»å Žããäžãç¶ç¶çãªåŠç¿ã¯å¿ é ãšãªããŸããå®æçã«ç¥èãã¢ããããŒãããããšã§ãæè¡ã®å€åã«æè»ã«å¯Ÿå¿ããããšãã§ããŸãããŸããåŠç¿ã®ç¶ç¶ã¯ãæ·±ãç解ãå°éçãªã¹ãã«ãç²åŸããããã®éµãšãªããŸãã