æ¬å½ã®ããã°ã©ãã³ã°åå¿è ãSICPãèªãã§ã¯ãããªãä¸ã¤ã®çç±
- é ã£ã¦é©å½ã«èãããã¨ãæ¸ãçãã¦ãã
- åå以ä¸ä¸å¤ªã ãã©ãããã³ãæè¿
SICPã¯ãè¨ç®æ©ããã°ã©ã ã®æ§é ã¨è§£éãã¨ããã³ã³ãã¥ã¼ã¿ãµã¤ã¨ã³ã¹ã®æç§æ¸ã§ãããµã³ãã«ã¯ãã¹ã¦Schemeã¨ããLispã®æ¹è¨ã§æ¸ããã¦ãã¾ãã以ä¸ããæ¬å½ã«ããã°ã©ãã³ã°æªçµé¨ã§SICPããå ¥éãããã¨ãã人ããé¥ããããããªãä¸ã¤ã®ç½ ãæãã¦ã¿ã¾ãã
1. ç ´å£çä»£å ¥ã«å¯¾ãã嫿ªæãæ¤ãã¤ãããã
SICPã«ã¯ã大ãªã¼ã°ãã¼ã«é¤æã®ãã¹ãã®ãããªå´é¢ãããã¾ããã¹ãã¤ãã¯ãªå¶éãä¸ãããã¨ã§æèã®æµããèªå°ããæãã第1ç« ã§ã¯ãªã¹ãã使ããï¼LISPï¼LISt Processingãªã®ã«ï¼ï¼ã第2ç« ã¾ã§ã¯set!ã使ããªãããç ´å£çä»£å ¥ãã§ãã¾ãããã¤ã¾ãç¶æ ãæ±ããªãï¼å®éã«ã¯2ç« ã®æå¾ã®ã»ãã§ã¯ãã¼ãã«ãæåããç¨æããã¦ãããã¨ã«ãã¦ãªãã¸ã§ã¯ãæåã£ã½ããã¨ããã¦ã¾ããï¼ã第3ç« ã§ããããç¶æ ãæ±ããããã«ãªãã¾ããããç¶æ ã£ã¦ããã©ãããããã¼ãã¨ããä¾ãããããåºã¦ããæå¥ãæå¾ã«ãé å»¶ã¹ããªã¼ã ãããã°ä»£å ¥ã¯ãªãã¦ããããï¼ãã¨ããå±éãããã°ã©ãã³ã°çµé¨ããã人ã¯ã ã¾ãããªãã¨æãã¾ãããçã£ç½ãªç¶æ ããå ¥ã£ã人ã¯ãã¶ãç ´å£çä»£å ¥ãçççã«å«ãã«ãªãã¾ããã¨ãããç§ã¯ãªãã¾ãããããããSICPã®ç®çã®ä¸ã¤ã¯é¢æ°åã¹ã¿ã¤ã«ã¸ã®æ´è³ã§ãã
ãã ããªãã¸ã§ã¯ãæåããã°ã©ãã³ã°ãã¯ãããæ®éã®ããã°ã©ãã³ã°ã§ã¯ç¶æ ãæ®éã«ä½¿ãã¾ããå½ç¶ãç ´å£çä»£å ¥ãã¤ã¤ã ã¨é§ã ããããã®ã¯ç¾å®çã§ã¯ããã¾ãããé å»¶è©ä¾¡ãã¢ãããæã¤Haskelã«ãã®ã¾ã¾ãªã ãè¾¼ãã°å¹¸ããªäººçãéããã®ããããã¾ããããALGOLç³»ã®è¨èªãå ¨ãç¥ããã«Haskelã®ã³ã¼ããããªããªæ¸ãã¦ãã人ã«ã¯ãç§ã¯ãã¾ã ã«ãç®ã«ããã£ããã¨ã¯ããã¾ããã
ã¨ãããã¨ã§ãä½äºã«ãé度ã¨ãããã®ã¯ããã®ã§ãã
2. ã«ã¼ããå«ãã«ãªã
Schemeã§ç¹°ãè¿ãæ§é ãæ¸ãæ¹æ³ã¯å帰ããããã¾ããï¼ã¨ããã®ã¯å°ãã¦ã½ã§ããï¼ãå¿ ç¶çã«SICPã®ãµã³ãã«ã¯å帰ã ããã§ãããªã¹ãæä½ã§ã¯mapã®ãããªé«é颿°ãå¤ç¨ãã¾ãããã¡ãã£ã¨åã£ããã¨ããããã¨ããã¨å帰ãå帰ã§ããåå¸°ã¯æ £ããã¾ã§ã«ã¡ãã£ã¨ããå£ã¯ããã¾ãããæ £ããã¨æ¸ãã®ã楽ãããªãã¾ããããããããRubyã®æ¥½ããã«ä¼¼ã¦ããã®ããããã¾ããï¼ç§ã¯Rubyistã§ã¯ãªãã®ã§ãããããã¾ãããï¼ãå帰ãå©ç¨ããã¨ããã ã®ã«ã¼ãã§ã¯æ¸ãã®ãé¢åãªãè¾¼ã¿å ¥ã£ãå ´ååããªã©ãç°¡æ½ã«è¨è¿°ã§ãã¾ãã
å帰ã¯ã¹ã¿ãã¯ãæ¶è²»ããã®ã§æ®éã¯é¿ããã»ããããã¨ããã¦ãã¾ãããSchemeã§ã¯æ«å°¾åå¸°ã¯æé©åãããï¼ãªã½ã¼ã¹ãæ¶è²»ããªãï¼ã¨æ±ºã¾ã£ã¦ãã¾ãããªã®ã§ãSchemeããã°ã©ãã¯å帰ãå¤ç¨ããã¨åæã«ãèªç¶ã«æ«å°¾åå¸°ã§æ¸ãããã«ãªãã¾ããã¨ã¯ããããªãã¦ãã¨ãªãç¹°ãè¿ãã¾ã§ã«ã¼ãã§ã¯ãªãåå¸°ã§æ¸ããããã®ã¯åé¡ã§ããããããå§¿å¢ã¯Scheme以å¤ã®ãæ¨æºã§ã«ã¼ããç¨æããã¦ããè¨èªãã§ã¯ãªã½ã¼ã¹ã®ç¡é§é£ããã¤ã¾ãæããã«æå®³ã§ãã
ç¹°ãè¿ãã¾ãããä½äºã«ãé度ã¨ãããã®ã¯ããã®ã§ãã
3. ä½ã§ãèªåã§å®è£ ãã¦ãã¾ã
Schemeã®å²å¦ã¯ãè¨èªä»æ§ã¯å°ããã»ãããããã¨ããããããªãºã ã§ããSICPã®æ¼ç¿åé¡ãè§£ãã¦ããã¨ãcarã¨cdrã¨consã¨condãããããã°ä½ã§ãæ¸ãããããªæ°ããã¦ãã¾ãï¼çå±ã®ä¸ã§ã¯ãã¨defineã¨eq?ã¨atom?ã¨quoteï¼'ï¼ãããã°ååã¿ããã§ãï¼ããã¾ã«å¢ããã¾ã£ã¦memqã®ãããªæ¨æºé¢æ°ã«ç¸å½ããå¦çã¾ã§èªåã§æ¸ãã¦ãã¾ããã¨ãããã¾ãï¼ããã¯ãããã«ããããï¼ãSchemeã«ã¯SRFIã¨ããæ¡å¼µä»æ§ãããã®ã§ãããSICPã®åé¡ã¯Schemeã®æ¨æºæ©è½ã§è§£ããã¨ãåæã«ãªã£ã¦ããã®ã§ãSRFIãæ¢ãã¦ãã¾ãã¨èªåã®åå¼·ã«ãªããªãã¨ãããã¨ã§ãããªããã®ã¯æ¢ãã®ã§ã¯ãªãæ¸ããã¨ããç¿æ £ãä»ãã¦ãã¾ãã¾ãã
Javaã®ããã«ãã©ããªã¨ãã«ã©ããªã©ã¤ãã©ãªã使ãã°ããããç¥ã£ã¦ãããã¨ãéçºå¹çã«ç´çµããéçºç°å¢ã§ã¯ããã®ãããªå§¿å¢ã¯è´å½çã§ããã¨ããããè»è¼ªã®åçºæããããªãã¨ããæ æ°ã¯ããã°ã©ãã®ç¾å¾³ãã¨ããã¨ããèªå主義ã¯è©å¤ãæªãã§ããã
ãã¤ããããã§ãããä½äºã«ãé度ã¨ãããã®ã¯ããã®ã§ãã
ãã ãããã°ã©ãã³ã°ã®çµé¨ããã£ã¦ããããããã¾ã§é¢æ°åããã°ã©ãã³ã°ãæèãããã¨ã®ãªã人ã¯ãä¸ã®ä¸ã¤ã®è¦ç´ ãå°ãã¯æã£ã¦ããã»ããããããããã¾ãããã¨ãããã¨ã§ããã¯ãSICPã¯ããå ¥éæ¸ã ã¨æãã¾ãã