ããã¯ãOOPãFPã®å€§ããªéãã説æããããã®è©Šã¿ã§ãã
ïŒé¢æ°åããã°ã©ãã³ã°ïŒããã³PIïŒå¿
é ïŒããã³PIã®çç±ã蚌æãã
åé¡ã解決ãããšãã®å¥œãŸããèãæ¹ã§ãã
ããã€ã®å¡ã®åé¡ã解決ããäŸã䜿çšããŠãããããã¹ãŠãå®è¡ããããšããŸãã
åœç¶ãç§ã¯çµéšè±å¯ãªãªããžã§ã¯ãæåãFããŸãã¯IãšåŒã°ãããµããããŸãã
ããã°ã©ããŒã§ããããŸã ããã€ãã®ã¹ãã«ããããããããè©ŠããŠã¿ãŸã
ãã®ã¿ã¹ã¯ã«é©çšãããŸãããç§ã®èãã®ã³ãŒã¹ã¯å¯èœæ§ãæãé«ããããã«ã
ããã«ãç¹ã«å»ºèšçãªæ¹å€ãããå¿
èŠãããã®ã§ã
çå®ã«å°éããŸãã
ãŸããåé¡ã®æ¬è³ªã¯äœããæãåºãããŠãã ããã æåã«3æ¬ã®ããããäžããããŸããïŒ1ã2ã3-ãªã³
ãã®ãã¡ã®1ã€ã¯ãååŸãç°ãªãNåã®åã®ç ²å¡ã«åŒµãããŠããã
倧ããååŸã¯åžžã«å°ããååŸã®åã§ãã ããã°ã©ã ã¯
ãããã®åãããããããããã«ç§»åããŠãç ²å¡ã
å¥ã®ãããã«ãªã£ãŠããŸããŸããã åæã«ãåã·ããã¯ä¿åããå¿
èŠããããŸã
åã®é åº-ãã¹ãŠã®åã¯ããã倧ããªåã«ã®ã¿é
眮ã§ããŸã
ååŸããŸãã¯ç©ºã®ãããã§ãããªãã¯ã»ãšãã©ã®1ã€ã ããã·ããã§ããŸã
æ£ã®äžã®åã
ãã®ãããæåã«1æ¬ã®æ£ã®äžã«2ã€ã®åã®é«ããããç ²å¡ãäžããå Žåã
ãããçªå·2ã«è»¢éããå¿
èŠãããå Žåã¯ãæ£ãã
ã·ãŒã±ã³ã¹
移åã¯æ¬¡ã®ããã«ãªããŸãïŒ1-> 3ã1-> 2ã3-> 2.ã«ãŒã«ã§ã¯N-> M
ãããçªå·ã®ã¿ã䜿çšããã以äžã瀺ããŸãã
ãããNãããããMãžã®å
æ©èœçã¢ãããŒãã ããã¯å€å
žãäžããã®ã§ãæåã«èæ
®
åé¡ã«å¯ŸãããåŠæ ¡ãã®è§£æ±ºçã
é¢æ°ãäœæããå¿
èŠããããŸãã
N abcã移å
é¢æ°ãã¿ã¬ããã®é«ããæåã®ãããaãæåŸã®ãããb
ããã«cãæŒããšã移åã®ãªã¹ãã衚瀺ãããŸãã ããŒã...ãŸããä»ã®äœãã
æ©èœã調çã§ããŸããïŒ ä»ããããã€ãã®é¢æ°ãã³ã³ãã€ã«ããããšãæ¬è³ªã§ã
ã¢ãããŒãã æ©èœãèãåºãããšãã§ããŸã
movetoken ab
ããæ£ããå¥ã®æ£ã«åã移åããŸãããæå³ããããŸãã
ãããåŒã³åºãæ¹æ³ãæ確ã§ã¯ãªãããã§ãã å°ãå¿
èŠ
çŽ æŽãããæ©èœã³ã³ã»ããã§è³ãçæ³ããé°åœ±ãã€ããŸãïŒ
æåã®äŸãèŠãŠãç ²å¡ãåããã«ã¯ããŸã
äžéšãè£å©ãããã«ç§»åããäžã®åã
ã¿ãŒã²ããããããŠåããããã§ã¿ã¬ããã®äžéšã移åããŸãã åæã«
äžã®åã¯ã©ã®ãããã«ã移åã§ããŸãããªããªãã
ãããã®äžã§ã¯ãååŸã倧ãããªããŸãã
ãã£ã㌠ææŠãã
解決ããŸããã é¢æ°moveãäœãè¿ããªããã°ãªããªãããç解ããã ãã§ãã
åå ã«ã ããããããã§ã¯ãã¹ãŠãåçŽã§ãããFPã¯ä»£æ¿æ段ãæäŸããŸããã ã ãã
ããžãã¹ã å®è£
ã¯å€§ãã£ã±ã§ãHaskellã§èšè¿°ã§ãããã®ã«äŒŒãŠããŸãã
N abcã移å
// 1ã€ã®åãã¿ãŒã²ããã®ç ²å¡ã«ç§»åããŸã
移å1 abc =ïŒaãbïŒ
// topãrod cã«è»¢éã倧ããªåãrod bã«è»¢éã
//ãããcãããããbã«ãããã移åããŸã
移åN abc =移åïŒN-1ïŒacbïŒïŒaãbïŒïŒç§»åïŒN-1ïŒcba
//ããŠããã®ãããªãã®ãåŒã³åºããŸã
å°å·ç§»å16 1 3 2
ãšã¬ã¬ã³ãã§ææŠçã
ããããä»ã§ã¯ãªããžã§ã¯ãæåã®ã¢ãããŒãã§ãã æåã«åŒ·èª¿ããå¿
èŠããããŸã
ãªããžã§ã¯ãã ããŠãããã¯ç°¡åã§ãããã°ã«ãããšãããããããŠç ²å¡ãã®ãã®ã§ãã
äœããã®ãªããžã§ã¯ãã«ã¡ãã»ãŒãžãéä¿¡ãããšãã圢ã®ãœãªã¥ãŒã·ã§ã³ãå¿
èŠã§ãã äœã
ã®ãããªã
tower.moveïŒaãbãcïŒ
çŽ æŽãããã ç ²å¡ããã°ã«ããããããããããŸãã ãããŠãããããã¹ãŠãŸãšããæ¹æ³
ã¡ãã»ãŒãžã®éä¿¡ãéããŠïŒ ããŒã...åŸé éšã«æ¬æãæããäžè¬çãªãããããããã決ãã
圌女ã ãã§ã¯åé¡ãªãã®ã§ã1ã€ã®ããããããç¡é§ã§ãã
圱é¿ããŸãã ç ²å¡ã«éäžããã«ããã£ãå·ã€ããŠããããèšãããšã¯æ®ã£ãŠããŸã
ç ²å¡ã¯ã2ã€ã®ãªããžã§ã¯ãã§æ§æãããŠããŸãïŒäžéšã
ç ²å¡ãŸãã¯æ¬ èœããŠãããããã³ããŒã¹ã®å€§ããªåã§ãã çŽ æŽãããã
ãã®ããã«ãªããžã§ã¯ããæ§ç¯ããå Žåããœãªã¥ãŒã·ã§ã³ã¯åã³æçœã§ãã ç ²å¡ãå°ãã
è£å©ã䜿çšããŠå¥ã®ãããã«ãžã£ã³ããã圌女ã¯
æåã«è£å©ãããã®äžéšã«ãžã£ã³ãããããã«èŠæ±ãã次ã«
ããŒã¹ãã¿ãŒã²ãããããã«ç§»åãããžã£ã³ãããããã«èŠæ±ãã
ãã®ã¿ãŒã²ãããããã¯ãã®å
端ã§ãã ããŠãä»åºŠã¯ããã€ãã®ã¯ã©ã¹ãããŒã«ããŸãã
ãã¹ãŠãåè·¯å³ã§ãããJavaã«äŒŒãŠããŸãã ãã¹ãŠã®ã¡ãœããã¯ãªãŒãã³ã§ãããããŒã¿ã¯ãã©ã€ããŒãã§ãã
ã¯ã©ã¹ã¿ã¯ãŒ{
// a-ããã¯ç ²å¡ãç«ã€ãããã§ããã§ãã¯ã«äŸ¿å©ã§ã
//ã¿ã¬ããã1ã«ããå Žåãããšãã°moveïŒ1ã3ïŒãªã©ã®ç¡å¹ãªãªã¯ãšã¹ã
//ããããã FIGã¯ã©ã®ãªã¯ãšã¹ããæ¥ãããç¥ã£ãŠãããããä¿¡é Œæ§ãé«ãã
//ã«ãã»ã«åã ããããã³ãŒãã«ã¯ãã§ãã¯ããããŸããã
int Nãa;
ã¿ã¯ãŒãããã
ã¿ã¯ãŒïŒNãäœçœ®ïŒ{
N> 1ã®å Žå{
top =æ°ããã¿ã¯ãŒïŒN-1ãaïŒ;
}
ãã®ä»{
top = null;
}
this.N = N;
this.a = a;
}
ãªã¹ã移åïŒbãcïŒ{// b-移åå
ãc-è£å©ããã
ãªã¹ãl;
ããã{
l.appendïŒtop.moveïŒcãbïŒïŒ;
}
l.appendïŒa.toString + "->" + b.toStringïŒ;
ããã{
l.appendïŒtop.moveïŒbãaïŒ;
}
a = b; //æ°ãããããã«ç§»åããŸãã
return l;
}
}
//èµ·å
System.out.printïŒïŒnew TowerïŒNã1ïŒïŒãMoveïŒ2ã3ïŒ.toStringïŒ;
ãããŒãããã¯ã¯ãŒã«ã§ããã 圌ãã¯åªé
ãã倱ããŸããããç§ãã¡ã¯ã¯ãŒã«ã§ã
ãšã©ãŒããã§ãã¯ã§ãããªããžã§ã¯ããã«ãã»ã«åããã
äžè¬çã«ããã¹ãŠãšãŠãããããã çãããåœä»€çã¢ãããŒã
ããã«åªé
ããããŒãžããã¬ã³ãºã¯ãããã«ãªããŸããã®ã§ã
圌ã¯å³ã§ãçè«çã«ã ããããç§ãã¡ã¯æ¯ãé£ããã°ã£ãŠçªç ŽããŸãã
ããã§ã¯ãåœä»€åã¢ãããŒãã«ã¯äœããããŸããïŒ ãªãïŒæ©èœããªããžã§ã¯ãããããŸããã
ã¡ã¢ãªã®ç¹å®ã®é åã®ç¶æ
ãšãããã®å€æŽã®èª¬æããªãéã
ç¶æ
ã ãã®ç¶æ
ã§ã¯ãåãã£ã¹ã¯ã«åã®ãªã¹ããäœæã§ããŸãã
ããŒã...ããŸã楜芳çã§ã¯ãããŸããã ããŠããªã¹ããšãªã¹ãããããããã©ããããïŒ ããŒã...
ãªã¹ãã 亀é¿è©©ããšãŠã¬ã«ãç§ãã¡ã¯ãŸã ããã€ãã®åãã®ãªã¹ããæã£ãŠããŸãããã©ãã§ããïŒ
ããšãã°ãç ²å¡ã2åé«ã移åããããã®ç§»åã®ãªã¹ãããããŸãã
2çªç®ãã3çªç®ã®1çªç®ã®ãããïŒ1-> 2ã1-> 3ã3-> 2ã
çŽ æŽãããã ããã§äœãã§ããŸããïŒ ããšãã°ãåçªå·ã眮ãæããŸãã
ããšãã°ã次ã®ããã«ãªããŸãã1= 1ã2 = 3ã3 =2ããããŠãããã°ã©ã ãååŸããŠã
2çªç®ã®ã³ã¢ã®2ã€ã®åã®èŸ²å ŽïŒ1-> 3ã1-> 2ã3-> 2ã
ç§ã¯äœãåŸãŠããŸããïŒ
ä»ã2ã¬ãã«ã®çµæžã2çªç®ã®çµæžã«ç§»è¡ããããã®ããã°ã©ã ãããã°
åã3çªç®ã«3çªç®ã«å€§ãããã³ã±ãŒããé
眮ã§ããŸãã
次ã«ããã§ã«ããç¥ãããŠãã2ãã¡ãŒã ã®è»¢éããã°ã©ã ã䜿çšããŠã
1çªç®ã®ãããã2çªç®ãã3çªç®ã«çœ®ãæãããã®äžã«çœ®æãäœæããŸãã
1 = 2ã3 = 1ã2 = 3ã2çªç®ã®ãããããã®è»¢éããã°ã©ã ãååŸããŸã
3çªç®ããæåã ãããŠãæçµçã«ç§ãã¡ã¯çŽ æŽãããããã°ã©ã ã®ææè
ã«ãªããŸã
3çªç®ã®ããããæåã®ããããã3çªç®ã®ãããã«è»¢éããŸãã ãªã©ãªã©ã
ãã®ãããªããã°ã©ã ã®éçºãéå§ããæ¹æ³ãç解ããããšã ããæ®ã£ãŠããŸãã ã§ã
ããã¯æããã§ããã¿ã¬ããã®é«ããå¥æ°ã®å Žåãæåã®ç§»åãå¿
èŠã§ãã
ã¿ãŒã²ãããããããã以å€ã®å Žåã¯è£å©ã æžããããœãªã¥ãŒã·ã§ã³
iscriptã«äŒŒããã®ã
nextblockïŒcmdnewãcmdoldãfïŒ{
a = f [0]; //çŸåšã®ããã°ã©ã ã¯aããbããcãŸã§ã®é åã§ã
b = f [1]; //äžäœNåã®å
c = f [2];
//ïŒN + 1ïŒåãaããcã«ç§»åããŸã
listappendïŒcmdnewã{.from = a; .to = b;}ïŒ;
f [0] = b; // aãä»ããŠbããcãžã®é åãçæããŸã
f [1] = c;
f [2] = a;
i = cmdold.head; ç§ã«; i = i.next {
listappendïŒcmdnewã{.from = f [i.from]; .to = f [i.to];}ïŒ;
}
f [0] = a; //ããã§ãaããcã«bãŸã§ã®é åãã§ããŸãã
f [1] = c; //ïŒN + 1ïŒ-ãã¡ãŒã
f [2] = b;
}
solveïŒNãaãbãcïŒ{
f [0] = a;
NïŒ
2ã®å Žå{
f [1] = b;
f [2] = c;
}
ãŸãã¯{
f [1] = c;
f [2] = b;
}
Nã§; N = N-1 {
nextblockïŒflãslãfïŒ;
i = fl.head; ç§ã«; i = i.next {
printïŒ "ïŒ
0->ïŒ
0 \ n"ãi.fromãi.toïŒ;
}
listmoveïŒslãflïŒ; //ãã¹ãŠãæåã®ãªã¹ããã2çªç®ã®ãªã¹ãã«ç§»åããŸã
}
}
solveïŒ16ã2ã0ã1ïŒ;
ãµã FPãŸãã¯OOPã®ãªãã·ã§ã³ãããé·ããªããŸãã ãããããã®ã³ãŒããšããããæ¯èŒããŸããã
2ã€ã®ãªãã·ã§ã³ãããããããã¯äºãã«é¡äŒŒããŠãããšèŠãªãããšãã§ããŸãã ããªããã§ãã泚æ
ããã€ãã®æ©èœã掻çšããŸãã
ãŸããããã°ã©ã ã®çæã¯ããã«éå§ãããé·æéåŸ
ã€å¿
èŠã¯ãããŸãã
ååž°ãçµäºãããŸã§ã®æéãããã§ååãããããŸãã
é·ãéãåãã®ã¿ã¹ã¯ã®è€éãã¯ææ°é¢æ°çã«å¢å€§ããŸãã äžæ¹ãæåãª
移åã¯ãããã«äžŠååŠçããããã«éä¿¡ã§ããŸããããšãã°ã
ãã®ãŸãã«ããã€ã®ã²ãŒã ã®èŠèŠåããã°ã©ã ã
第äºã«ãåœä»€åã³ãŒãã¯ç¡éã®ãã©ãããã§åäœããããšãã§ããŸãã
éåžžãæåã®Nã決å®ããå Žåãé€ããŠãNã¯å®éã«ã¯å¿
èŠãããŸããã
移åããŸãã
2ã€ã®ååž°æ§é ã§ã¯ãããè¡ããŸããã ããŒã...å°ãå²åŠç
äœè«ïŒå€åããã¯ãååž°çãªæ§é ã§ã¯äžå¯èœã ããã§ãã
æåã®åããšã®äžç¢ºå®æ§ã ååž°ã¯åžžã«å®çŸ©ããå¿
èŠããããŸãã ã§ã
ããã¯å°æ¥ã®åæã®ããã®çºèšã§ãã
æåŸã«ãå人çã«ç§ïŒç§ã¯åŒ·èª¿ããŸãïŒå人çã«ãæåŸã®æ段ã®çå®ã«ã€ããŠ
ç§ã¯ãµããããŸããïŒäžèšã®æšè«ã¯
ããã°ã©ãã³ã°ã¢ãããŒãã
ããã°ã©ã ã¯æ£ç¢ºã«åçã·ã¹ãã ãšèŠãªãããå¿
èŠããããŸããã€ãŸãã
ç¶æ
å€åã«ãã£ãŠèšè¿°ãããã·ã¹ãã ã
ãã£ãŠã¿ããš
次ã®ããã«ãéçãããã³ã°ã®åœ¢åŒã§æ©èœãå®åŒåãã
é¢æ°åããã°ã©ãã³ã°ãç§ãã¡ã¯èªåèªèº«ãå¶éããããšãäœåãªããããŠããŸã
1.ãã€ããã¯ã¹ã§ã¯ãé¢æ°ã®å€ãèšç®ããå¿
èŠãããããã
ç§ãã¡ã¯ããã䜿ãããšãã§ããŸã
2.å¹çãšååžïŒèšç®å€ãæœåšçã«
å®å
šãªèšç®ãå®äºããåã«äœ¿çšã§ãããã®åŸ
å€å
žçãªFPããããè¡ãæ¹æ³ã¯ãããŸããã
ãã¡ããããããã®åé¡ã®è§£æ±ºçãèŠã€ãã£ãŠããŸããMLã«ã¯æ¬¡ã®æ©èœããããŸãã
åœä»€åããã°ã©ã ãHaskellã«ã¯åçåœä»€åã®ã¢ããããããŸã
èšç®ã¯ãå€ã®ç¡éãªã¹ãããããããŸã
ãã®ãã€ããã¯ã¹ã®è»è·¡ã¯ãæã䟿å©ãªè§£æ±ºçã§ã¯ãããŸããã
ããã°ã©ã ãçžäºäœçšãããã®ãšããŠèŠãããšãããšã
ç¹å¥ãªã€ã³ã¿ãŒãã§ã€ã¹ããªããžã§ã¯ãããããŠåã³ãã€ãããºã ã倱ããŸãã ãªããªã
çŽæçãªè¡šçŸã®ãªããžã§ã¯ãã¯ããŸã£ãããªãããã»ã¹ã«å¯Ÿå¿ããŠããŸãã
ãã¹ãŠã®åçæ§é ã§ã¯ãããŸããã ãã®äŸã§ã¯ãèªç¶
ç»åïŒãã¡ãããç§ã®æèŠã§ã¯ãå€ãã®æç§æžã«ãã£ãŠããã¯ã¢ãããããŠããŸã
OOPã§ã¯ãåæ§ã®ã¿ã¹ã¯ãããšãã°çŽ8ãã¬ãŒãºããã®æ¹æ³ã§æ£ç¢ºã«è§£æ±ºãããŸãïŒã
ãªããžã§ã¯ããéžæãããŸããïŒã¿ã¬ããã ãããŠããã®ãããªæœè±¡åãäœã«ã€ãªããã®ããèŠã-
ååž°ã¢ã«ãŽãªãºã ã®å³ææ§ç¯ããããæå³ãããã¹ãŠã®ããš
æ¬ ç¹ã
ãã¡ãããæé»çãªOOPã®å Žåãããžã¥ã¢ã©ã€ã¶ãŒã®ããŒã¿çæ
ååž°ãæåã®åºã«éãããšããã«éå§ã§ããŸããã
éåžžã«é·ãæéããã«å°éããŸãã FIã®äžéšãšããŠããããè¡ãããšãã§ããŸããããã
ããçŽããããã ããã«ãç§ãã¡ã¯ããã§ã¯ãªãããšãå¿ããŠã¯ãªããŸãã
ãã®ããã«éžæããããªããžã§ã¯ãã®ã·ã¹ãã ã§ã¯ãç¡éã®ç ²å¡ã§åé¡ã解決ã§ããŸãã
OOPãšFIãããã°ã©ãã®èœåãå¶éããããã§ã
ã¿ã¹ã¯ã®ãã€ããã¯ã¹ãåç
§ããŠãã ãããå人çã«ãç§ã¯ãã¶ã€ã³ã§ãããã䜿çšããããšã¯ãããŸããã
ããã°ã©ã å
ã§ã®ããŒã¿ã®æµãæ¹ãšãã®æ¹æ³ã«çŠç¹ãåœãŠãŸã
ç§ã®æèŠã§ã¯ãããã¯ããçŸããã·ã³ãã«ã«ãªããŸã
決å®ã äžçã¯ãã€ãããã¯ã ããã§ã
ååšããªãããããªããžã§ã¯ããŸãã¯æ©èœãããç©çççŸå®ã«è¿ã
ãªããžã§ã¯ããæ¬è³ªçã«æ©èœãªãã åçã·ã¹ãã ã®ã¿ãè©Šè¡ãããŸã
çŸä»£ã®ç©çåŠãç§ãã¡ã«èšŒæããŠãã ããã ãªãããªãã®å¿ãå¶éãã
FPã§ããçŸå®ã®éçã¢ãã«ã«çŠç¹ãåœãŠã
ãã£ãšïŒ æ°åŠçæ§è³ªã«ããFPãããã³ãã®çç±ã«ããOOP
è¿ä»£çãªåœ¢ã¯ååçãšã®é¡æšã«é¢ããæèãä¿®æ£ãã
ãããªã¢ã«ãªããžã§ã¯ãã
å
¬å¹³ã«èšããšããã®äŸã§ã¯ããªããžã§ã¯ãã¯
äžé£ã®åããéžæããåæ§ã®åœä»€åãœãªã¥ãŒã·ã§ã³ãæ§ç¯ãã
ããã°ã©ã ããããOOããã°ã©ããŒã¯ãæçœãªãªããžã§ã¯ãã®æ€çŽ¢ããå§ãŸããã§ã¯ãªã
èšèšæ©èœãå¶éãããã€ããã¯ã¹ã®åæã
ãããŠãããã¯ãã°ãã°åœŒã«åœŒãã®ããé¡äŒŒãã決å®ã«ã€ãªãããŸã
FPäžã®æ§é ã FPã¢ãããŒãã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãããã¯æœåšçã«
è¡ãããšã¯ã§ããŸãããã¯ããã«é£ãããç¡éã®ç ²å¡ãæ°ããããšãã§ããŸã
ã®ãã¬ãŒã ã¯ãŒã¯å
ã§å®å
šã«é
延å®è¡ãããé¢æ°åèšèªã§ã®ã¿
ãã ããã©ã ãæœè±¡åã®å Žåããã®ãããªèšç®ã¯èšç®ã§ããŸããã ãŸãããšããã§ã
ã³ã³ãã¥ãŒã¿ãŒã¯ãã¥ãŒãªã³ã°ãã·ã³ä»¥äžã®ãã®ã§ããããšã蚌æããŠããŸãã
ããã«ãããã°ã©ãã³ã°èšèªã¯åæ§ã®èšèšã«åŸããŠããŸããã
èªåããªããžã§ã¯ãæåãšåŒã¶äººã ãããã®ãªããžã§ã¯ãã¯
ãã€ãããã¯ãšã³ãã£ãã£ã¯ã¡ãã»ãŒãžã亀æããŸãã
Smalltalkãã€ãŸãéç
æœè±¡ããŒã¿åããã以äžã ç¬èªã®åçãªããžã§ã¯ã
人çããããäœæããããšã¯éåžžã«å°é£ã§ãã åæ£ããŠããŠãæµæãã
ãã¯ãããžãŒãåãCROBAã
ãªã¯ãšã¹ãã«å¿ããŠã®ã¿ãªããžã§ã¯ããçãè¿ããŸãã
å®è£
ïŒåå¥ã®ã¹ã¬ããã®èµ·åãããã³ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããå
±æããŒã¿ãžã®ã¢ã¯ã»ã¹
åæã䜿çšããŸãã ããã¯ãæ¬æ Œçãªã¯ã©ã€ã¢ã³ããµãŒããŒã®äœæã§ã
åºãŠããã¢ããªã±ãŒã·ã§ã³ã ããããOOPã¯åã³ããã»ã¹ãšããŠã§ã¯ãªãäœæããåŸåããããŸãã
ããããäžé£ã®ãªããžã§ã¯ãã®åœ¢ã§ãåã³æ»ãã§åçã§ã¯ãªãããšãå€æããŸãã
ãã®ã³ã¢ã§ã ãããã®éã®å®éã®ããŒã¿ãããŒãæŽçããããšã¯å°é£ã§ãã
䞊è¡ããŠå®è¡ããããšã¯å°é£ã§ããããã¯ãå床å®è¡ããå¿
èŠãããããã§ãã
ãµãŒããŒã
ãã®éãçŽç²ã«æ©èœçãªãœãªã¥ãŒã·ã§ã³ãšããŠå§ãŸã£ãããã€ãã®èšèªã¯
æçµçã«é²åããŠããŸãã«ãã®ãããªãšã³ãã£ãã£ãäœæããæ©èœãæäŸããŸãã
-ã¡ãã»ãŒãžã³ã°ããã»ã¹ã ErlangãšO'CamlãäŸã§ãããããã¯
å¯èœæ§ã¯ããããã®ã»ãŒæ©èœçãªæ©èœã«åºã¥ããŠããŸã
èšèªïŒç¶æ
ãä¿åããã¢ãããŸãã¯æ瀺çãªèœåã ãããã«
ããã«ããåœä»€çãªæ§é çã¢ãããŒãã¯ãŸã£ããçºçããŸããã
LimboãAdaããŸãã¯UNIXäžã®IPCãªã©ã
å®éãã¢ããŒã«ã¯ããã«åºã¥ããŠããŸãïŒç§ã ãã§ãªãã
http://www.lysator.liu.se/c/pikestyle.htmlïŒOOPãšFIãã©ãã§ãæåŠ
ããŒã¿å€æŽã®åæã®ã¿ã«çŠç¹ãåœãŠãŠ
ããã°ã©ã ãç¶æ
ããããã£ãããã³å€æŽã®ããžãã¯ã
å¥ã®
äœè«ïŒçŸä»£ã®ç©çåŠã¯æ¢åã®ãã®ãèæ
®ããããã¯çŽæçã§ã
泚ç®ããããšãªããå€åã®éçšã§ç¹æ§ãä¿åããããšã¯æããã§ã
ããã°ã©ã å
ã®ãã€ããã¯ã¹ã®åæã§ã¯ãä¿åãããããããã£ãæ£ç¢ºã«èå¥ã§ããŸããã
ãããã£ãŠããªããžã§ã¯ãã ãã®ãããªåæã¯ãããæè»ãªãœãªã¥ãŒã·ã§ã³ãšããå¹æçãªãœãªã¥ãŒã·ã§ã³ã«ã€ãªãããŸãã
ã€ã³ã¿ãŒãã§ãŒã¹ãé¢æ°ãã¢ãžã¥ãŒã«ãã¯ã©ã¹ã¯ããã»ã¹ã§èªç¶ã«çºçããŸã
ããã°ã©ã ã®å®è£
ã ãããŠããããã¯åå©çšã§ããŸãã