
諺ã«ãããããã«ããå€ãã³ãŒããæ¥ããªã人ã¯ããã°ã©ããŒãšããŠæé·ããŠããªãããç§ããã®éãã§ããç§ã¯40幎以äžåã«è¶£å³ã§ããã°ã©ãã³ã°ãå§ãã30幎åã«ãããšããŠããã°ã©ãã³ã°ãå§ããã®ã§ããããªãã«å€±æãããŠããŸããã ãšãŠãã³ã³ãã¥ãŒã¿ãµã€ãšã³ã¹ã®ææãšããŠãç§ã¯åŠçãã¡ã«ãèªåèªèº«ã®ãç§ã®ããããŠä»äººã®å€±æããåŠã¶ããã«æããŠããŸããè¬èããä¿ã€ããã«ããããããèªåã®å€±æãå
±æããæãæ¥ããšæã£ãŠããŸãã誰ãã®åœ¹ã«ç«ã€ããšãé¡ã£ãŠããŸãã
3äœ - Microsoftã®Cã³ã³ãã€ã©
åŠæ ¡ã®å çã¯ãããããªãšãžã¥ãªãšãããã¯æ²åãšã¯èšããªããšèããŠããŸãããç»å Žäººç©ãã¡ã¯æ²åçãªçœªãç¯ããŠããã®ã§ã¯ãªãããã ãã£ãŒã³ãšã€ãžã£ãŒãããæããªè¡åãããŠããã ãã ãšãåœæã¯å çã®æèŠã«è³æã§ããŸããã§ããããä»ã§ã¯åœŒã®æèŠã«äžçãããšæããŠããŸããç¹ã«ããã°ã©ãã³ã°ã«é¢ããŠã¯ã
MITã§86幎çãçµããé ãç§ã¯ãŸã è¥ãã人çã«ãããŠãããã°ã©ãã³ã°ã«ãããŠãæªçã§ããããã®å€ãç§ã¯Microsoftã®Cã³ã³ãã€ã©ããŒã ã§ã€ã³ã¿ãŒã³ã·ãããããŸãããæåã¯ãããã¡ã€ãªã³ã°ã®ãµããŒããšãã£ãå®åçãªäœæ¥ãæ åœããŠããŸãããããã®åŸãã³ã³ãã€ã©ã®äžã§æã楜ãããšæã£ãŠããããã¯ãšã³ãã®æé©åãæ åœããããã«ãªããŸãããç¹ã«ãå岿ã®xXNUMXã³ãŒããæ¹åããå¿ èŠããããŸããã
ããããã±ãŒã¹ã«æé©ãªãã·ã³ã³ãŒããæžãããšã決æããç§ã¯é£ã³èŸŒã¿ãŸãããå€ã®ååžã®å¯åºŠãé«ãå Žåã¯ããããã å ¬çŽæ°ãããå Žåã¯ãããã䜿ã£ãŠè¡šãå¯ã«ããŸããïŒãã ããé€ç®ã ïŒãã¹ãŠã®å€ã2ã®çޝä¹ã«ãªã£ãæç¹ã§ãå床æé©åãè¡ããŸãããå€ã®ã»ãããæ¡ä»¶ãæºãããªãå Žåã¯ãè€æ°ã®æé©åãããã±ãŒã¹ã«åå²ããæ¢ã«æé©åãããã³ãŒãã䜿çšããŸãããïŒ
æªå€¢ã§ãããæ°å¹ŽåŸãç§ã®ã³ãŒããåŒãç¶ãã ããã°ã©ããŒãç§ãå«ã£ãŠãããšèããããŸããã

åŠãã æèš
David Patterson ãš John Hennessy ããComputer Architecture and the Design of Computer Systemsãã§è¿°ã¹ãŠããããã«ãã¢ãŒããã¯ãã£ãšèšèšã®äž»ãªååã® 1 ã€ã¯ãäžè¬çã«ãç©äºãã§ããã ãé«éã«åäœãããããšã§ãã
äžè¬çãªã±ãŒã¹ãé«éåããæ¹ãããŸããªã±ãŒã¹ãæé©åããããã广çã«ããã©ãŒãã³ã¹ãåäžãããŸããç®èãªããšã«ãäžè¬çãªã±ãŒã¹ã¯ãŸããªã±ãŒã¹ãããåçŽãªå Žåãå€ãã®ã§ãããã®è«ççãªã¢ããã€ã¹ã¯ãäœãäžè¬çãªã±ãŒã¹ã§ããããçè§£ãããããçè§£ããŠããããšãåæãšããŠããŸãããããŠãããã¯æ éãªãã¹ããšæž¬å®ãéããŠã®ã¿å¯èœã§ãã
åŒæãããšãç§ã¯åå²ã¹ããŒãã¡ã³ããå®éã«ã¯ã©ã®ãããªãã®ãªã®ã (ããšãã°ãåå²ãããã€ãããã宿°ãã©ã®ããã«åæ£ãããŠããã) ãææ¡ããããšããŸãããããã®æ å ±ã¯ 1988 å¹Žåœæã¯å ¥æã§ããŸããã§ãããããã§ããå®éã®ã³ã³ãã€ã©ãç§ã®äººå·¥çãªäŸã«å¯ŸããŠæé©ãªã³ãŒããçæã§ããªãã£ããšãã¯ãç¹å¥ãªã±ãŒã¹ã远å ãã¹ãã§ã¯ãããŸããã§ããã
çµéšè±å¯ãªéçºè ãåŒãã§ãããããã±ãŒã¹ãäžç·ã«èããå ·äœçã«å¯ŸåŠãã¹ãã§ãããããããã°ã³ãŒãã¯å°ãªããŠæžã¿ãŸããããããã¯è¯ãããšã§ããStack Overflowã®åµèšè ãžã§ãã»ã¢ããŠãããæžããããã«ãããã°ã©ããŒã®æå€§ã®æµã¯ããã°ã©ããŒèªèº«ã§ãã
ããªãã®åæã¯ããåãã£ãŠããŸããç§ãã¡çãããæã£ãŠããŸããç§ãã¡ã¯ãœãããŠã§ã¢ãæžããã³ãŒããæžãã®ã倧奜ãã§ãããããç§ãã¡ã®æ§åãªã®ã§ããã©ããªåé¡ããã¯ãããŒããšããã¯ããããŠå°éã®ã³ãŒãã§è§£æ±ºã§ãããšæã£ãŠããŸããããã°ã©ããŒã«ãšã£ãŠèªããããªãããšã§ãããæé«ã®ã³ãŒããšã¯ååšããªãã³ãŒãã§ããæ°ããè¡ã¯ãã¹ãŠãããã°ããã¡ã³ããã³ã¹ããçè§£ããå¿ èŠããããŸããæ°ããã³ãŒãã远å ãããšãã¯ãä»ã®éžæè¢ãå°œããŠããããããããããšå«æªæãæã£ãŠè¡ãã¹ãã§ããå€ãã®ããã°ã©ããŒã¯ã³ãŒããæžããããŠããããç§ãã¡ã®æµã«ãªã£ãŠããã®ã§ãã
ããããã±ãŒã¹ãã«ããŒããããã£ãšã·ã³ãã«ãªã³ãŒããæžããŠããããå¿ èŠã«å¿ããŠæŽæ°ããã®ããã£ãšæ¥œã ã£ãã§ããããçµå±ã誰ã察åŠããããªããããªæ··ä¹±ããã³ãŒãã«ãªã£ãŠããŸããŸããã

2äœïŒãœãŒã·ã£ã«ãããã¯ãŒã¯äžã®åºå
ç§ã Google ã§ãœãŒã·ã£ã« ã¡ãã£ã¢åºå (Myspace ãèŠããŠããŸãã?) ã«åãçµãã§ãããšããC++ ã§æ¬¡ã®ãããªã³ãŒããæžããŸããã
for (int i = 0; i < user->interests->length(); i++) {
for (int j = 0; j < user->interests(i)->keywords.length(); j++) {
keywords->add(user->interests(i)->keywords(i)) {
}
}ããã°ã©ããŒãªãããã«ãã®ãšã©ãŒã«æ°ã¥ãã§ããããæåŸã®åŒæ°ã¯iã§ã¯ãªãjã§ããã¹ãã§ãããŠããããã¹ãã§ã¯ãã®ãšã©ãŒã¯æ€åºãããããã¹ã¿ãŒãåæ§ã§ãããå®è¡ã¯å®äºããŸããããããå€ãç§ã®ã³ãŒãã¯ãµãŒããŒã«éä¿¡ãããããŒã¿ã»ã³ã¿ãŒå ã®ãã¹ãŠã®ã³ã³ãã¥ãŒã¿ãŒãã¯ã©ãã·ã¥ããŸããã
äœãã²ã©ãããšã¯èµ·ãããŸããã§ãããã°ããŒãã«ãªãªãŒã¹åã«ã³ãŒãã¯åäžã®ããŒã¿ã»ã³ã¿ãŒå ã§ãã¹ããããŠããããã誰ãäœãå£ããŸããã§ãããSREãšã³ãžãã¢ãããªã€ãŒããå°ãã®éäžæããå°èŠæš¡ãªããŒã«ããã¯ãè¡ã£ãããšãé€ããŠã¯ãç¿æãã¯ã©ãã·ã¥ãã³ããæ·»ä»ãããã¡ãŒã«ãåãåããã³ãŒããä¿®æ£ãããšã©ãŒãæããã«ãããŠããããã¹ãã远å ããŸããããããã³ã«ã«åŸã£ãããïŒããã§ãªããã°ã³ãŒãã¯ãªãªãŒã¹ããã¹ã§ããªãã£ãã§ãããïŒãä»ã«åé¡ã¯çºçããŸããã§ããã

åŠãã æèš
å€ãã®äººã¯ããã®ãããªé倧ãªãã¹ããããšãééããªãç¯äººã¯è§£éãããã ãããšç¢ºä¿¡ããŠããŸãããããã¯çå®ã§ã¯ãããŸããã第äžã«ããã¹ãŠã®ããã°ã©ããŒã¯ãã¹ãç¯ããŸããã第äºã«ãåããã¹ãäºåºŠç¯ãããšã¯ãã£ãã«ãããŸããã
å®éãåªç§ãªãšã³ãžãã¢ã ã£ãããããã°ã©ããŒãç¥ã£ãŠããŸãã圌ã¯ãã£ãäžã€ã®ãã¹ã§è§£éãããŸãããã颿¥ã§ãã®ãã¹ã«ã€ããŠæ£çŽã«è©±ãããããèŽåœçãšã¯ã¿ãªããããGoogleã«æ¡çšããïŒãããŠããã«æé²ããŸããïŒããã®åŸããã«æé²ããŸããã
ããã« IBMã®äŒèª¬çãªç€Ÿé·ãããŒãã¹ã»ã¯ããœã³ã«ã€ããŠ:
çŽ100äžãã«ã®æ¿åºçºæ³šãçºè¡šãããŸãããIBM瀟ããããããŒãã¹ã»ã¯ããœã³ã»ã·ãã¢å人ã¯ãã©ãããŠããã®æ¡ä»¶ãåæ³šãããã£ãã®ã§ããããããå¶æ¥æ åœè ã¯å泚ã§ãããIBMã¯å ¥æã«æããŸãããç¿æ¥ãããåŸæ¥å¡ãã¯ããœã³æ°ã®ãªãã£ã¹ã蚪ããåœŒã®æºã®äžã«å°çã眮ããŸãããã¯ããœã³æ°ã¯å°çãèŠãããšããããŸããã§ãããåŸæ¥å¡ãåŸ ã£ãŠãã圌ã¯ããããèŸè¡šã ãšåãã£ãŠããã®ã§ãã
ã¯ããœã³ã¯äœãæªãã£ãã®ãå°ããã
å¶æ¥æ åœè ã¯å ¥æã«ã€ããŠè©³çްã«èª¬æããç¯ããŠããŸã£ããã¹ãé¿ããããã¯ãã®ãã¹ãææããŸãããæåŸã«ãã¯ããœã³ããã説æãããŠããã ãããããšãããããŸãããã®æ³šæãã©ãã»ã©å¿ èŠã ã£ãããã©ãã»ã©éèŠã ã£ãããããåãã£ãŠããŸãããšèšããç«ã¡å»ãããšããŸããã
ã¯ããœã³ã¯çé¢ã§åœŒã«è¿ã¥ãã圌ã®ç®ãèŠã€ããŠå°çãè¿ããŠèšã£ãããã©ãããŠåãææŸããã ãããïŒåã®æè²ã«100äžãã«ãæè³ããã°ãããªã®ã«ãã
ãããééããæ¬åœã«æèšã«ãªãã®ãªããç§ã¯ããé人ã ããšæžãããTã·ã£ããæã£ãŠããŸããå®éãééãã«é¢ããŠã¯ãç§ã¯å士å·ãæã£ãŠãããããªãã®ã§ãã
1äœ: App Inventor API
æ¬åœã«ã²ã©ããã¹ã¯ãèšå€§ãªæ°ã®ãŠãŒã¶ãŒã«åœ±é¿ãäžããå ¬ã«ãªããä¿®æ£ã«é·ãæéãããããé¿ããããã¯ãã®äººãã¡ã«ãã£ãŠç¯ãããŸããç§ã®æå€§ã®ãã¹ã¯ãããããã¹ãŠã®æ¡ä»¶ãæºãããŠããŸãã
æªãã»ã©è¯ã
ç§ã¯èªã 90幎代ã«å€§åŠé¢çãšããŠãã®ã¢ãããŒãã«ã€ããŠåŠã³ããšãŠãæ°ã«å ¥ã£ãã®ã§åŠçã«ã課é¡ãšããŠåºããŠããŸããããèŠããŠããªãããã§ããããæãåºããŠã¿ãŠãã ãããçãå 容ã§ãããã®ã¢ãããŒãã¯ããæ£ããè¡ãããããšããæ¬²æ±ãšãæªãæ¹ãããããšããã¢ãããŒãããã·ã³ãã«ããå«ããæ§ã ãªã¬ãã«ã§å¯Ÿæ¯ãããŠããŸãã
åœç¶ã®ããšã§ãããèšèšã¯å®è£ ãšã€ã³ã¿ãŒãã§ãŒã¹ãã·ã³ãã«ã§ããã¹ãã§ããã€ã³ã¿ãŒãã§ãŒã¹ã®ã·ã³ãã«ãã¯å®è£ ã®ã·ã³ãã«ããããéèŠã§ãã
æªãã»ã©è¯ãïŒèšèšã¯å®è£ ãšã€ã³ã¿ãŒãã§ãŒã¹ãã·ã³ãã«ã§ããã¹ãã§ããã€ã³ã¿ãŒãã§ãŒã¹ã®å®¹æãããããå®è£ ã®å®¹æãã®æ¹ãéèŠã§ãã
ã¡ãã£ãšå¿ããŸããããæ®å¿µãªãããäœå¹Žãå¿ããŠããŸããã
App Inventor
Googleã§åããŠãããšããç§ã¯ããŒã ã®äžå¡ã§ãã åå¿è åãã®ãªã³ã©ã€ã³ãã©ãã°ïŒããããéçºç°å¢ Androidéçºè ã®çããã2009幎ã®ããšã§ãããå€ã«æåž«åãã®ã¯ãŒã¯ã·ã§ãããéå¬ããç§ã«ã¯æå®€ã§ãã®ç°å¢ã䜿ã£ãŠããããããã«ãã¢ã«ãã¡çãææ¥ãŸã§ã«ãªãªãŒã¹ããããšæ¥ãã§ããŸãããç§ã¯TI-99/4ã§ã²ãŒã ãäœã£ãŠããé ãæãããæããã¹ãã©ã€ãã®å®è£ ãå¿é¡ããŸãããã¹ãã©ã€ããšã¯ãä»ã®ãœãããŠã§ã¢èŠçŽ ãšé£åããŠåãããšãã§ãã2次å ã®ã°ã©ãã£ãã¯ãªããžã§ã¯ãã®ããšã§ããã¹ãã©ã€ãã®äŸãšããŠã¯ãå®å®è¹ãå°ææãããŒã«ãããã«ãªã©ããããŸãã
ãªããžã§ã¯ãæåã®App Inventorã¯Javaã§å®è£ ããã®ã§ããªããžã§ã¯ãã¯å±±ã»ã©ãããŸããããŒã«ãšã¹ãã©ã€ãã®åäœã¯éåžžã«äŒŒãŠãããããXãYãSpeedãHeadingãšããããããã£ïŒãã£ãŒã«ãïŒãæã€æœè±¡ã¹ãã©ã€ãã¯ã©ã¹ãäœæããŸãããè¡çªå€å®ãç»é¢ç«¯ããã®è·³ãè¿ãå€å®ãªã©ãåæ§ã®ã¡ãœãããåããŠããŸãã
ããŒã«ãšã¹ãã©ã€ãã®äž»ãªéãã¯ãæç»ããããã®ãäœã§ããããã€ãŸãå¡ãã€ã¶ãããåãã©ã¹ã¿ãŒãã§ããã¹ãã©ã€ããå ã«å®è£ ããã®ã§ãç»åãé 眮ãããŠããå Žæã®å·Šäžé ã®x座æšãšy座æšãæå®ããã®ã¯çã«ããªã£ãŠããŸãã

ã¹ãã©ã€ããåäœããããã«ãªã£ãã®ã§ãããŒã«ãªããžã§ã¯ããéåžžã«å°ãªãã³ãŒãã§å®è£
ã§ãããšå€æããŸãããå¯äžã®åé¡ã¯ãããŒã«ãå²ãã¢ãŠãã©ã€ã³ã®å·Šäžé
ã®x座æšãšy座æšãæå®ãããšãããå®è£
è
ã®èгç¹ããæãç°¡åãªæ¹æ³ãéžãã ããšã§ãã

å®éãæ°åŠã®æç§æžãåã«ã€ããŠèšåããŠããä»ã®è³æã§æããããŠããããã«ãåã®äžå¿ã® x 座æšãš y 座æšãæå®ããå¿
èŠããããŸããã

ãããŸã§ã®å€±æãšã¯ç°ãªããä»åã®å€±æã¯ååã ãã§ãªããäœçŸäžäººãã®App InventorãŠãŒã¶ãŒã«åœ±é¿ãäžããŸããã圌ãã®å€ãã¯åäŸã ã£ãããããã°ã©ãã³ã°åå¿è
ã ã£ããããŸããã圌ãã¯ãããŒã«ãåãã¢ããªã±ãŒã·ã§ã³ãéçºãããã³ã«ãèšå€§ãªåŽåãè²»ãããªããã°ãªããŸããã§ãããä»ã®å€±æã¯ç¬ãè©±ã§æãåºãã®ã§ãããä»åã®å€±æã¯ä»ã§ãæ±æ°ŽããããŠæãåºããŸãã
10幎çµã£ãŠãã€ãæè¿ã«ãªã£ãŠãããããã®ãã°ãä¿®æ£ããŸããããä¿®æ£ãã§ã¯ãªããä¿®æ£ãã§ãããžã§ã·ã¥ã¢ã»ãããã¯æ°ãèšãããã«ãAPIã¯æ°žé ã ããã§ããæ¢åã®ããã°ã©ã ã«åœ±é¿ãäžãããããªå€æŽã¯ã§ããªããããOriginAtCenterããããã£ã远å ããŸããããã®ããããã£ã®å€ã¯ãå€ãããã°ã©ã ã§ã¯falseãå°æ¥ã®ããã°ã©ã ã§ã¯trueã§ãããŠãŒã¶ãŒã¯åœç¶ãªãããåç¹ãäžå¿ä»¥å€ã®å Žæã«çœ®ãããšã誰ãèããã®ããšå°ããã§ããããäžäœèª°ãïŒ10幎åã«ã¡ãããšããAPIãæžãã®ãé¢åã ã£ãããã°ã©ããŒã§ãã
åŠãã æèš
APIã«åãçµãéïŒã»ãŒãã¹ãŠã®ããã°ã©ããŒããã€ãã¯åãçµãããšã«ãªãã§ãããïŒãJoshua Blochã®ãããªã§æŠèª¬ãããŠããæè¯ã®ã¢ããã€ã¹ã«åŸãã¹ãã§ãã"ãŸã㯠:
- APIã¯å€§ããªå©çãšå€§ããªå®³ãããããå¯èœæ§ãããåªããAPIã¯ãªããŒã¿ãŒãçã¿åºããŸããæªãAPIã¯æ°žé ã®æªå€¢ãšãªããŸãã
- ãããªãã¯APIã¯ãã€ã€ã¢ã³ãã®ããã«æ°žé ã§ãå šåãå°œãããŠãã ãããæ£ããè¡ããã£ã³ã¹ã¯äºåºŠãšãããŸããã
- APIããŒãã¯ç°¡æœã« ã¯ã©ã¹ãšã¡ãœããã®ã·ã°ããã£ãšèª¬æã1è¡ä»¥å ã§ãŸãšãã1ããŒãžãããã«ãããæåã®æ®µéã§APIãå®ç§ã§ãªããŠããç°¡åã«åæ§ç¯ã§ããŸãã
- ãŠãŒã¹ã±ãŒã¹ã説æããAPIãå®è£ ããåããããã¯ä»æ§çå®ã«åãçµãåã«ãå¿ ã確èªããŸããããããããããšã§ãå šãæ©èœããªãAPIã®å®è£ ã仿§çå®ãé¿ããããšãã§ããŸãã
ããä»®ã«ç°¡åãªã·ããªãªã§èŠçŽãæžããŠããããããããééããèŠã€ããŠä¿®æ£ã§ããã§ããããããããã§ãªããã°ãååã®èª°ãããã£ãŠãããŠããã§ããããåºç¯å²ã«åã¶åœ±é¿ãæã€æ±ºå®ã¯ãå°ãªããšã1æ¥ã¯ãã£ããèããå¿ èŠããããŸãïŒããã¯ããã°ã©ãã³ã°ã«éã£ãããšã§ã¯ãããŸããïŒã
ãªãã£ãŒãã»ã¬ããªãšã«ã®ãšãã»ã€ãWorse Is BetterïŒæªãæ¹ãããïŒãã®ã¿ã€ãã«ã¯ãããšãäžå®å šãªè£œåã§ãã£ãŠããä»ã®äººãå®ç§ãè¿œãæ±ããŠé·ãæéãè²»ããäžã§ãåžå Žã«æåã«åå ¥ããããšã§åŸãããåªäœæ§ãæããŠããŸããã¹ãã©ã€ãã®ã³ãŒããæ¯ãè¿ã£ãŠã¿ããšãæ£ããåäœãããããã«ãã以äžã³ãŒããæžãå¿ èŠã¯ãªãã£ãããšã«æ°ã¥ããŸãããç§ã®èãã¯å®å šã«çå€ãã§ããã
ãŸãšã
ããã°ã©ããŒã¯æ¯æ¥ãã¹ãç¯ããŸãããã°ã ããã®ã³ãŒããæžããããã¹ãã«ãçç£æ§ãåäžããããããªããšã詊ããªãã£ããããã¡ãããç§ãç¯ãããããªå€§ããªãã¹ãç¯ããªããŠãããã°ã©ããŒã«ãªãããšã¯ã§ããŸããããããèªåã®ãã¹ã«æ°ã¥ããããããåŠã¶ããšãªãã«ãåªããããã°ã©ããŒã«ãªãããšã¯ã§ããŸããã
èªåã¯ãã¹ãå€ãããŠããã°ã©ãã³ã°ã«åããŠããªããšæããŠããåŠçã«ããåºäŒããŸããITæ¥çã§ã¯ã€ã³ãã¹ã¿ãŒçå矀ïŒè©æ¬ºåž«çå矀ïŒãèå»¶ããŠããããšã¯éã
æ¿ç¥ããŠããŸããç§ãæããæèšãçããã«åŠãã§ããã ããã°å¹žãã§ãããèå¿ãªã®ã¯ã誰ãããã¹ãç¯ããšããããšã§ããæ¥ãããããã¹ãããããªãã¹ãã²ã©ããã¹ãªã©ã§ããããä»åŸããã®èšäºãç¶ããããã®ææãè¶³ããªããªã£ããããã£ãšé©ãããããŠãã£ããããã§ãããã
åºæïŒ habr.com
