2009/09/25
ããã°ã©ãã³ã°è¨èªã®é²å
ããã°ã©ãã³ã°è¨èªã®é²åã®æ¹å
ããã°ã©ãã³ã°è¨èªã®æ´å²ãçºãã¦ããã¨ãçµé¨ã®ä¸ããç«ã¡ç¾ãããã¹ããã©ã¯ãã£ã¹ãåãè¾¼ãã ãã®ãå¤ããã¨ã«æ°ãã¤ãã
- æ§é å
- ä¾å¤ãµãã¼ã
- ãªãã¸ã§ã¯ãæå
- 並åãµãã¼ã
è¨èªã®é²åã¯ãã¹ããã©ã¯ãã£ã¹ããµãã¼ãããããã«ããããããªããããã
ãããã£ãã±ã¼ã¹ãå¤ãã®ã¯ç¢ºãã ããããã©ãããã ãè¦ã¦ãã¨ã¾ããã¨æãã
è¨èªã¨ããã®ã¯è¡¨ç¾ã®éå ·ã§ãã£ã¦ãåä½ããããã°ã©ã ã表ç¾ããã«ã¯ è¨èªã使ããããªããã§ã¯ããããã®ããã¹ããã©ã¯ãã£ã¹ããè¨èªã« åãè¾¼ã¾ããåã«ã¯ãã©ããã£ã¦è¡¨ç¾ããã¦ãããã ãã?
- ä»ã®æ©è½ãçµã¿åããã¦ç¡çãã表ç¾ãã¦ãã (e.g. Cã«ããOOP)
- ããã°ã©ã ã¨ãã¦è¡¨ç¾ããã®ã諦ãã¦ãèªç¶è¨èªã§è¡¨ç¾ãã¦ããã°ã©ããéä¸å®è£ ãã¦ã (e.g. ãã¶ã¤ã³ãã¿ã¼ã³)
ã©ã¡ãã«ãããããã¯è¡¨ç¾ã¨ãã¦ä¸èªç¶ã ã ãã®ãã©ã¯ãã£ã¹ãæç¨ã§ãããã¨ãæ¢ã«ããã£ã¦ããªãã ä¸èªç¶ãªè¡¨ç¾ã§ãä½ã¨ãããã使ããã¨ãã¦ãããã¦ãããåºã¾ã è¨èªã«ãµãã¼ãããããã¨ã«ãªãããã ããã©ãããããæåã« ãã®ãã©ã¯ãã£ã¹ãå§ãããã¨æã£ã人éã¯ãã©ããã£ã¦ ãã®ä¸èªç¶ãªè¡¨ç¾ãä¹ãè¶ãããã ãã?
ä¾ãã°ãå å 表è¨ã¯ä¾¿å©ã§ãããããªè¨èªãæ¡ç¨ãå§ãã¦ããããã©ã å¤ãã®è¨èªã¯ä»ã®è¨èªã®å å 表è¨ãè¦ã¦ä¾¿å©ãªãã¨ãç¥ã£ã¦æ¡ç¨ãããã ã¨æãã å å 表è¨ã®ãããã¨ã®èµ·æºã¯æ°å¦è¨æ³ã ãã©ããããã ããã°ã©ãã³ã°è¨èªã«åãè¾¼ãã ã便å©ã ãããã¨æåã«æã£ã¦ å®è¡ãã人ãããã¯ãã ããã®æç¹ã§ã¯ãå å 表è¨ã¯ ãçµé¨ã®ä¸ããç«ã¡ç¾ãããã¹ããã©ã¯ãã£ã¹ãã§ã¯ãªãã£ãã¯ãã ã ã ã£ã¦ããã°ã©ãã³ã°ã§å å 表è¨ã使ãã¨ããçµé¨ã¯ããã¾ã§ç¡ãã£ãããã ããã
ãããã¯ã¹ã¿ãã£ãã¯ã¹ã³ã¼ã+ç¡éã¨ã¯ã¹ãã³ãã§ãããã ã¹ã¿ãã£ãã¯ã¹ã³ã¼ãã¯åãããã£ãããã©ããããç¡éã¨ã¯ã¹ãã³ã ã«ãã¦lambdaãã¯ãã¼ãºããããã«ããããfunargåé¡ããã£ãã解決ãã¡ãã£ãã ã§ãSchemeãããããã£ã¦ã¿ããã¾ã§ã人ã ã¯functionç¹æ®å½¢å¼ã¿ãã㪠ã¢ãããã¯ãªæ¹æ³ã§funargåé¡ã解決ãããã¨ãã¦ãããã§ã 決ãã¦ã¹ã¿ãã£ãã¯ã¹ã³ã¼ã+ç¡éã¨ã¯ã¹ãã³ãããã¹ããã©ã¯ãã£ã¹ã¨ ã¿ãªããã¦ããããããªãã
ã¤ã¾ãããã©ã¯ãã£ã¹ã®ä¸ã«ã¯ããå®éã«ãã®è¨èªæ©è½ã使ã£ã¦æ¸ãã¦ã¿ãã¾ã§ ããããã¹ããã©ããããããªããã¨ãããã®ãããã
代æ¿ã®è¡¨ç¾æ¹æ³ããã¡ãã£ã¨é¢åããããç¨åº¦ãªãã¾ã ããã®æéããã㦠ã¾ãããã©ãæ¹æ³ã§æ¸ãã¦ã¿ããã¨ãã人ã¯ããã ãããããã©ãä»ããè¨èªæ©è½ã§ã¯ å®ç¾ããã®ãé常ã«é¢åããããå®ç¾ã§ãããã©ãããããããããªãã ã¨ãããã©ã¯ãã£ã¹ã«ã¤ãã¦ã¯ããã£ã½ã©ã¢ãã£ãã¼ã·ã§ã³ãé«ããªãéãã é åããªæ¹æ³ã§ä»ã®è¨èªä¸ã«å®ç¾ãã¦ã¿ããã¨ã¯æããªãã¯ãã ã ãã¹ããã©ã¯ãã£ã¹ãåãè¾¼ãã¨ããç¹ã ãè¦ã¦ããã¨ãããããå¦ãª ã¢ã¤ãã£ã¢ãè¦éããã¨ã«ã¯ãªããªãã ãããã
éã«ããã¹ããã©ããããããªããã©ãå¦ãªã¢ã¤ãã£ã¢ãæãã¤ããã æ°è»½ã«è¨èªã®æ¹ãå¤ãã¦ãã®ã¢ã¤ãã£ã¢ã表ç¾ã§ããããã«ãã¦ãã¾ãã ããã¦ããã使ã£ã¦ã¿ãããã¾ãããã°åºããã°ãããããã¡ãªãã¹ã¯ã©ããããã°ããã ããããéç¨ãã¾ããè¨èªã®é²åã«ã¯éè¦ã ã¨æãã®ã ã
Tag: Programming