ãœãŠãŒãºãã±ãããåè»ã§çºå°å°ã«å±ããããŸããã NASAã®ãããªãã¯ãã¡ã€ã³ããã®åçã
ããã¯æåãªSlackã¢ããªã±ãŒã·ã§ã³ã®ãšã³ãžãã¢ã®1人ã§ããPHP Seriouslyã®ç¿»èš³ã§ãã 圌ã¯ãSlackã移è¡ãã»ãŒå®äºããHackèšèªãšHHVMä»®æ³ãã·ã³ã ãã§ãªããPHPã®æ¬ ç¹ãšå©ç¹ã«ã€ããŠãèªã£ãŠããŸãã
Slackã¯ã»ãšãã©ã®ãµãŒããŒããžãã¯ã«PHPã䜿çšããŠããŸãããããã¯æè¿ã§ã¯æãäžè¬çãªéžæè¢ã§ã¯ãããŸããã ãã®èšèªã§æ°ãããããžã§ã¯ããæžãããšã«ããã®ã¯ãªãã§ããïŒ ããªããåãããšããã¹ãã§ããïŒ
PHPã§å°ãéãã ã»ãšãã©ã®ããã°ã©ããŒã¯ãPHPã«ã€ããŠ2ã€ã®ããšãç¥ã£ãŠããŸããããã¯ãéžæã®äœå°ããããšãã«ã¯æ±ºããŠäœ¿çšããªãæªãèšèªã§ãããäžçã®æŽå²ã§éåžžã«æåãããããžã§ã¯ãã®ããã€ãã¯ããã䜿çšããŠããããšã§ãã ããã¯ççŸã§ã¯ãããŸãããããã®äºå®ã¯ããªãã«èããããã¹ãã§ãã ã€ãŸããFacebookãWikipediaãWordpressãEtsyãBaiduãBoxããããŠæè¿Slackã§ãããããã¯ãã¹ãŠãPHPã䜿çšããŠããã«ãããããããåé¡ã解決ã§ããŸããïŒ Rubyã䜿çšããå Žåãããæåããã§ããããïŒ ã¢ãŒã©ã³ïŒ ãã¹ã±ã«ïŒ
ããã§ã¯ãªãå¯èœæ§ããããŸãã PHPèšèªã«ã¯ãééããªãéçºãé ãããå€ãã®æ¬ ç¹ããããŸãããPHPç°å¢ã«ã¯ããããã®æ¬ ç¹ãè£ã以äžã®å©ç¹ããããŸãã ãŸãã圌ã¯èªåã®èšèªã®åé¡ã解決ããæ¹æ³ãæã£ãŠããŸã ãããã¯éåžžã«å°è±¡çã§ãã åçã«åºã¥ããŠãPHPã¯ã競åããç°å¢ãšæ¯èŒããŠãæåããWebãããžã§ã¯ããäœæãå€æŽãããã³éçšããããã®æé©ãªåºç€ãæäŸããŸãã ä»æ¥ãç§ã¯PHPã§æ°ãããããžã§ã¯ããå§ããããšæããŸãããããã€ãã®äºçŽããããŸãããããã«ã€ããŠè¬çœªããçç±ã¯ãããŸããã
æŽå²çé 足
PHPã¯ãçŸä»£èšèªåãã®ç¬èªã®WebãµãŒããŒç°å¢ã§çãŸããŸããã ãã®åŒ·ã¿ã¯ããµãŒããŒäžã®èŠæ±ã³ã³ããã¹ãã«é¢é£ããŠããŸãã
PHPã¯å ã ã ããŒãœãã«ããŒã ããŒãž ããšåŒã°ããŠããŸããã 1995幎ã«å ¬éãããŸããã Rasmus Lerdorfã¯ãã€ã³ã¿ãŒãããã®dææã«äººæ°ã®ããã²ã¹ãããã¯ã蚪åè ã«ãŠã³ã¿ãŒãªã©ãå°ããã·ã³ãã«ãªåçWebã¢ããªã±ãŒã·ã§ã³ã®ãµããŒãã«éç¹ã眮ããŠããŸãã
PHPã®ãªãªãŒã¹ä»¥æ¥ãPHPã¯äœæè ãåœåäºæ³ããŠãããããã¯ããã«è€éãªãããžã§ã¯ãã§äœ¿çšãããŠããŸããã ããã€ãã®å€§ããªå€æŽãè¡ãããããããããããã®è€éãªã¢ããªã±ãŒã·ã§ã³ãæå¶ããæ°ããã¡ã«ããºã ããããããŸããã çŸåšã2016幎ã圌ã¯JavaScriptãPythonãRubyãããã³Luaãå«ãMixed Productive Language ParadigmïŒMPDPLïŒãã¡ããªãŒ[1]ã®æ©èœè±å¯ãªã¡ã³ããŒã§ãã 2000幎代ååã«PHPãè©Šããå Žåãææ°ã®PHPã³ãŒãããŒã¹ã¯ã ç¹æ§ ã ã¯ããŒãžã£ãŒã ãžã§ãã¬ãŒã¿ãŒã§é©ããããããŸããã
PHPã®çŸåŸ³
PHPã«ã¯ãéåžžã«æ·±ãããããŠééããªãçã®æ©èœããããŸãã
ãŸãã æ¡ä»¶ ã åWebèŠæ±ã¯ãå®å šã«ã¯ãªãŒã³ãªç¶æ ã§å§ãŸããŸãã ãã®åå空éãšã°ããŒãã«å€æ°ã¯åæåãããŠããŸããããããã€ãã®æšæºçãªã°ããŒãã«å€æ°ãé¢æ°ãããã³ããªããã£ãæ©èœãšã©ã€ããµããŒããæäŸããã¯ã©ã¹ã¯äŸå€ã§ãã æ¢ç¥ã®ç¶æ ã§åãªã¯ãšã¹ããéå§ãããšãèµ·ãããããšã©ãŒããäžçš®ã®åé¢ãåŸãããŸãã èŠæ±tããœãããŠã§ã¢ã®åé¡ã«ééããŠå€±æããå Žåããã®ãã°ã¯åŸç¶ã®èŠæ±t + 1ã®å®è¡ã«åœ±é¿ãäžããŸããã å®éããã¡ããããœãããŠã§ã¢ããŒãã«å ããŠãã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ã¯ä»ã®å Žæã«ãããããŒã¿ããŒã¹ãmemcacheããŸãã¯ãã¡ã€ã«ã·ã¹ãã ãå®å šã«ç Žå£ããå¯èœæ§ãååã«ãããŸãã ããããPHPã¯ããã®åŒ±ç¹ããç¶æ ãç¶æã§ãããã¹ãŠã®èããããç°å¢ãšå ±æããŠããŸãã åæã«ãèŠæ±éã§ãœãããŠã§ã¢ããŒããåå²ãããšãã»ãšãã©ã®ãœãããŠã§ã¢ãšã©ãŒã®äŸ¡æ ŒãäžãããŸãã
2ã€ç®ã¯äžŠè¡æ§ã§ãã åã ã®ãªã¯ãšã¹ãã¯1ã€ã®PHPã¹ã¬ããã§æ©èœããŸãã äžèŠãããã¯ã°ãããå¶éã®ããã«èŠããŸãã ããããã¢ããªã±ãŒã·ã§ã³ã¯WebãµãŒããŒã®ã³ã³ããã¹ãã§å®è¡ããããããèªç¶ãªäžŠè¡æ§ã®ãœãŒã¹ã¯Webãªã¯ãšã¹ãã§ãã éåæã®èŠæ±ãèªåèªèº«ã«éä¿¡ããã ãã§ãåé¢ãããç¶æ ãšããã¯ã¢ãããšåŸ©å ã®åŒã³åºãã§äžŠè¡æ§ãç°¡åã«ååŸã§ããŸãã å®éã«ã¯ãããã¯ãä»ã®æ±çšèšèªã§äœ¿çšãããããã¯ã¢ã³ãã·ã§ã¢ã¢ãããŒããããå®å šã§ãšã©ãŒèæ§ããããŸãã
çµè«ãšããŠãPHPããã°ã©ã ãã¯ãšãªã¬ãã«ã§åäœãããšããäºå®ã¯ãããã°ã©ãã®ã¯ãŒã¯ãããŒãé«éã§å¹ççã§ãããã¢ããªã±ãŒã·ã§ã³ãå€æŽããåŸãé«éã§ããããšãæå³ããŸãã å€ãã®çç£çãªéçºèšèªãããã䞻匵ããŠããŸãããåãªã¯ãšã¹ãã§ç¶æ ãã¯ãªã¢ãããã€ãã³ãã®ã¡ã€ã³ã¹ããªãŒã ãããã°ã©ã ç¶æ ã¬ãã«ããªã¯ãšã¹ãéã§åå²ããå Žåãã»ãšãã©ã®å Žåãéå§ã«æéãããããŸãã å žåçãªPythonã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®å Žåãå žåçãªãããã°ãµã€ã¯ã«ã¯ããµãŒããŒãèããç·šéããåèµ·åãããã¹ããªã¯ãšã¹ããéä¿¡ããããããªãã®ã«ãªããŸãã ããµãŒããŒã®åèµ·åããåèšæéã®ãã¡æ°ç§ããããããªãå Žåã§ããçŸåšã®ç¶æ ã®æãäžå¿ èŠãªéšåã念é ã«çœ®ãã«ã¯ ã人éã®è³ã®15ã30ç§ã®å€§ããªã¹ã©ã€ã¹ãå¿ èŠã§ãã
ãããŒãžãèããç·šéããåèªã¿èŸŒã¿ãããã¹ã¿ã€ã«ã®PHPéçºã¯ãéçºè ã®çç£æ§ãé«ãããšäž»åŒµããŸãã é·ãè€éãªãããžã§ã¯ãéçºãµã€ã¯ã«ã§ã¯ãããã«ããããã«å€§ããå¢å ããŸãã
é·æãšPHP
ããããã¹ãŠçå®ãªãããªã圌ã¯ãããªã«å«ãããŠããã®ã§ããããïŒ ãã¹ãŠã®ã«ã©ãã«ãªåæ²ç·ãåé€ãããšãPHPã¯ã©ã¹ã¿ãŒã«é¢ããäž»ãªäžæºã¯æ¬¡ã®åé¡ã«åž°çããŸãã
- å€å®¹ã®é©ãã æè¿ã®ã»ãšãã©ãã¹ãŠã®èšèªã§ã¯ãããšãã°ãæŽæ°ãšæµ®åå°æ°ç¹ã> =æŒç®åã§æ¯èŒã§ããŸãã å°çãCã§ãå¯èœã§ãã ããã§äœãæå³ãããã¯æããã§ãã æååãšæ°å€ã==ãšæ¯èŒããããšã¯ããã»ã©æçœã§ã¯ãªããèšèªã«ãã£ãŠéžæãç°ãªããŸãã ãã®ç¶æ³ã§ã®PHPã®éžæã¯æãæªè³ªã§ãããé©ããšäžå¿«ãªãšã©ãŒã«ã€ãªãããŸãã ããšãã°ã123 == '123foo'ã¯trueãšè©äŸ¡ãããŸãïŒããã§äœãããŠããã®ã§ããããïŒïŒãããã0123 == '0123foo'ã¯ããïŒããŒãïŒã§ãã
- ãªã³ã¯ãšã»ãã³ãã£ã¯ã¹ã®æå³ã«é¢ããççŸã PHP 3ã«ã¯ãåŒæ°ãæž¡ãããã¹ãŠãå€ã§è¿ãããªã¯ãšã¹ãå
ã®ããŒã¿ã®è«çã³ããŒãäœæãããšããæ確ãªã»ãã³ãã£ã¯ã¹ããããŸããã ããã°ã©ãã¯ãïŒèšå·[2]ãšãšãã«åç
§ã»ãã³ãã£ã¯ã¹ãéžæã§ããŸãã ããã¯ãPHP 4ããã³5ã§ã®ãªããžã§ã¯ãæåããã°ã©ãã³ã°ããŒã«ã®å°å
¥ãšãšãã«çºçããŸãããã»ãšãã©ã®PHP OOã¢ãããŒã·ã§ã³ã¯JavaããåçšãããŠãããJavaã«ã¯ãªããžã§ã¯ããåç
§ã§æž¡ãããã»ãã³ãã£ã¯ã¹ããããããªããã£ãåã¯å€ã§æž¡ãããŸãã ãã®çµæãPHPã»ãã³ãã£ã¯ã¹ã®çŸåšã®ç¶æ
ã§ã¯ããªããžã§ã¯ãã¯åç
§ã«ãã£ãŠæž¡ããïŒC ++ãªã©ã®ä»£ããã«JavaãéžæïŒãããªããã£ãåã¯å€ã«ãã£ãŠæž¡ãããŸãïŒããã§ã¯JavaãC ++ãããã³PHPãåæããŸãïŒããå€ãåç
§ã»ãã³ãã£ã¯ã¹ãšïŒèšå·ã¯ãããŸããªæ¹æ³ã§æ°ããäžçãšããåãããããšãæã
ãããŸããã
- 倱æãç¡èŠããã³ã³ãã¥ãŒãã£ã³ã°ã®å²åŠ ã PHPã¯ãå®å
šã«å¥åŠãªããšãæ¢ã«å®è¡ããŠããŠããã¯ãšãªãå®è¡ãç¶ããããã«éåžžã«æžåœã«åªåããŠããŸãã ãã®ãããããšãã°ããŒãã§é€ç®ããŠãäŸå€ã¯ã¹ããŒããããINFã¯è¿ããããèŽåœçãªèŠæ±ã¯çµäºããŸããã ããã©ã«ãã§ã¯ãèŠåãçºããå€ãfalseã«èšå®ããã ãã§ãã falseã¯æ°å€ã³ã³ããã¹ãã§ã¯æé»ã®ãã¡ã«0ãšèŠãªããããããå€ãã®ã¢ããªã±ãŒã·ã§ã³ããããã€ããããŒãã«ããæªèšºæã®é€ç®ã§å®è¡ãããŸãã å
·äœçã«ã¯ããã®åé¡ã¯PHP 7ã§è§£æ±ºãããŸãããããããŸãããåŠçããããã®èšèšã®æšé²åã¯ãæå³ãããå Žåã§ããã©ã€ãã©ãªã«ã浞éããŠããŸãã
- æšæºã©ã€ãã©ãªã®ççŸã PHPãè¥ãã£ããšãããã®èŽè¡ã¯Cã«æã粟éããŠãããå€ãã®APIã¯æšæºCèšèªã©ã€ãã©ãªã®èšèšã䜿çšããŠããŸããïŒ6æåã®å°æåã®ååãæå/倱æã®å¿çãåŒã³åºããããã©ã¡ãŒã¿ãŒã«å®éã®å€ãè¿ãããã«ã PHPãé²åããã«ã€ããŠãæ¥é èŸ_ã䜿çšããŠåå空éã«åå²ããCã¹ã¿ã€ã«ã®ã¹ã¿ã€ã«ãããäžè¬çã«ãªããŸããïŒmysql _...ãjson _...ãªã©ã æè¿ã§ã¯ãCamelCaseã¯ã©ã¹ã®camelCase Javaã¹ã¿ã€ã«ã®åœåæ¹æ³ããæ°ããæ©èœãå°å ¥ããæãäžè¬çãªæ¹æ³ã«ãªããŸããã ãã®ãããæçµçã«ãDirectoryIteratorïŒ$ãã¹ïŒã®ãããªæ··ååŒãšifïŒïŒïŒ$ F = fopenïŒ$ pã 'w +'ïŒïŒ...ã®ãããªè€éãªããžãã¯ã®ã³ãŒãäŸãèŠãããšããããŸãã
PHPã®ç¡åå°çãªè¬çœªè ã®ããã«èŠããªãããã«ããããã«ããããã¯ãã¹ãŠé倧ãªåé¡ã§ãããæ¬ é¥ãåŒãèµ·ããå¯èœæ§ãé«ããªããŸãã ãããã¯åŒ·å¶ãããŠããªããšã©ãŒã§ãã PHPã®åªããéšåãšãããã®åé¡ã®éã«ã¯ãæ¬è³ªçãªåŠ¥åã¯ãããŸããã ãã¹ãŠã®è¯ãé¢ãç¶æããªããããããã®æ¬ ç¹ã解決ããPHPãäœæããæ©äŒãå®çŸããå¿ èŠããããŸãã
HHVMãšããã¯
ãã®PHPã·ã¹ãã ã®åŸç¶ã¯HackãšåŒã°ããŸã[3]
ããã¯ã¯ã人ã ãPHPã®ã挞é²åã·ã¹ãã ããšåŒã¶ããã°ã©ãã³ã°èšèªã§ãã ãã¿ã€ãã·ã¹ãã ããšã¯ãããã°ã©ããŒãã³ãŒããæµããããŒã¿ã«ã€ããŠèªåçã«æ€èšŒãããäžå€åŒãäœæã§ããããšãæå³ããŸãããã®é¢æ°ã¯ãJavaãŸãã¯C ++ãŸãã¯Haskellãªã©ã®éçã«åä»ããããèšèªã§æååãŸãã¯æ°å€ãåãåããFribblesã·ãŒããè¿ããŸããã©ã¡ããéžã¶ãã ã挞é²çããšã¯ãã³ãŒãããŒã¹ã®äžéšãéçã«åä»ãã§ããäžæ¹ã§ããã以å€ã®éšåã¯äŸç¶ãšããŠä¹±éã§åçãªPHPã«ããããšãæå³ããŸãã ãããã®ã¢ãããŒããçµã¿åãããããšã«ããã倧èŠæš¡ãªã³ãŒãããŒã¹ãåŸã ã«ç§»è¡ããããšãã§ããŸãã
ããã§ã¯ãHackã¿ã€ãã·ã¹ãã ãšãã®ä»çµã¿ã®èª¬æã§å€§éã®ã€ã³ã¯ã泚ãã®ã§ã¯ãªãã åã«è©ŠããŠã¿ãŠãã ãã ã ããªããæ»ã£ããšããç§ã¯ããã«ããŸãã
ããã¯ãã¡ããšããã·ã¹ãã ã§ãããè¡šçŸã§ãããšããç¹ã§éåžžã«éå¿çã§ãã ãŸãããããžã§ã¯ããåœåã®äºæ³ããã匷ããªã£ãå Žåã«ããããžã§ã¯ãã段éçã«ããã¯ã«ç§»è¡ã§ããå¯èœæ§ã¯ãPHPãšã³ã·ã¹ãã ã®ãŠããŒã¯ãªå©ç¹ã§ãã ããã¯ã¿ã€ããã§ãã¯ã¯ãããã¯ã°ã©ãŠã³ãã§å®è¡ãããããããæèãç·šéããªããŒãããŒãžãã®ã¹ã¿ã€ã«ã§ã¯ãŒã¯ãããŒãä¿åããŸãããã¡ã€ã«ã·ã¹ãã ã«å€æŽããããšãã³ãŒãããŒã¹ã¢ãã«ãåŸã ã«æŽæ°ãããŸãã Hackãããžã§ã¯ãã¯ããã¹ãŠã®äžè¬çãªãšãã£ã¿ãŒããã³IDEãšã®çµ±åãæäŸãããããWebãã¢ã®å Žåãšåæ§ã«ãã³ãŒãã®å ¥åãçµäºãããšãæ¢ã«ã¿ã€ããšã©ãŒã«é¢ãããã£ãŒãããã¯ã確èªã§ããŸãã
ããã¯ã«ç §ãããŠPHPãããããå®éã®ãªã¹ã¯ã®å šäœãèŠãŠã¿ãŸãããã
- å€æã®é©ãã¯ãHackãã¡ã€ã«ã®ãšã©ãŒã«ãªããŸãã ããŒã¿ã®åé¡ã®ã¯ã©ã¹å šäœããªããªããŸãã
- Hack ã®ãªã³ã¯ãšå€ã®ã»ãã³ãã£ã¯ã¹ã¯ ãå€ãã¹ã¿ã€ã«ã®ãªã³ã¯ã®äœ¿çšãåã«çŠæ¢ããããšã§ã¯ãªã¢ããããããæ°ããã³ãŒãããŒã¹ã§ã¯äžèŠã«ãªããŸãã ããã«ãããJavaãŸãã¯Cã®å Žåãšåæ§ã«ãã»ãã³ãã£ã¯ã¹ã®åäœããåç §ã«ãããªããžã§ã¯ãããã³ãã®ä»ã®å€ã«ãããªããžã§ã¯ãã®ã¹ã¿ã€ã«ã«äŒŒããã®ã«ãªããŸãã
- 倱æãç¡èŠãã PHPããŒã¹ã®èšç®ã¯ãã©ã³ã¿ã€ã ç°å¢ã®ããããã£ã§ããããããã®ã·ã¹ãã ã«çŽæ¥æ³šå ¥ããããã«ãHackãªã©ã®ã»ãã³ãã£ã¯ã¹ã¢ãã©ã€ã¶ãŒã§åŠçããã®ãããå°é£ã§ãã ãã ããå®éã«ã¯ãé害ãç¡èŠããã»ãšãã©ã®åœ¢åŒã®ã³ã³ãã¥ãŒãã£ã³ã°ã§ã¯ãéåžžã«é©ââãã¹ãå€æãå¿ èŠã§ãã ããšãã°ããŒãã§é€ç®ããåŸã«falseã«ãªã£ãããã«çºçããåé¡ã¯ãã¿ã€ã[4]ã®ãã§ãã¯å¢çã®äº€ç¹ã§ã¯æçµçã«çºçãããããŒã«å€ãæ°å€ã«å€æããããšããŠå€±æããŸãã ãããã®å¢çã¯ãHackã³ãŒãããŒã¹ã§ã¯ããäžè¬çã§ãã ãããã®ã¿ã€ãã説æããç°¡åãªæ©èœãšåãããŠãããã¯ã¯å®éã«ã¯å€ãã®äžæ£ç¢ºãªã¹ã¿ãŒãã®ããã¬ãŒãã³ã°è·é¢ããççž®ããŸãã
- çµè«ãšããŠã è«äºã¯æšæºã©ã€ãã©ãªã«æ®ã£ãŠããŸã ã ããã¯ã®ã»ãšãã©ã¯ããã®åé¡ãããå®å šãªæœè±¡åã§ã©ããããããšã§ããã®åé¡ã軜æžã§ããããšãæãã§ããŸãã
ããã¯ã¯ãä»ã®äžè¬çãªMPDPLãã¡ããªã¡ã³ããŒã«ã¯ãªãæ©äŒãæäŸããŸããã¡ã€ã³éçºã®åŸã«åã·ã¹ãã ãå°å ¥ããæ©èœã§ãäŸ¡æ ŒãäŸ¡æ Œãäžåãã·ã¹ãã ã®éšåã«éšåçã«ã®ã¿å°å ¥ã§ããŸãã
Hhvm
Hackã¯ããšããšã HipHopä»®æ³ãã·ã³ ããŸãã¯PHPçšã®ãªãŒãã³ãœãŒã¹ä»®æ³ç°å¢ã§ããHHVMã®äžéšãšããŠéçºãããŸããã HHVMã¯ããããžã§ã¯ããæåãããããã®ãã1ã€ã®éèŠãªãªãã·ã§ã³ãæäŸããŸããããã¯ããµã€ããããéããããçµæžçã«å®è¡ããèœåã§ãã Facebook 㯠ãPHPã€ã³ã¿ãŒããªã¿ãŒãããããã»ããµãŒå¹çã11.6ååäžãããšå ±åãã Wikipedia 㯠6åã®å éãå ±åããŠããŸãã
Slackã¯æè¿ãWebç°å¢ãHHVMã«ç§»è¡ãããã¹ãŠã®åºå£ç¹ã§å€§å¹ ãªé 延ã®åæžãåãåããŸãããããã®ããã¹ããæžããŠããæç¹ã§ã¯ãããã»ããµã®è² è·ã«é¢ãããªã³ãŽããšã®ã¹ã¿ã€ã«ã®æž¬å®å€ããããŸããã ãŸããã³ãŒãããŒã¹ãHackã«ç§»è¡ããéçšã«ãããããã§çµéšãå ±åããŸãã
楜ãã¿ã«ããŠ
PHPã¯å€ãã®æåãããããžã§ã¯ãã§äœ¿çšãããŠããéåžžã«è²§åŒ±ãªèšèªã§ãããšããæçœãªãã©ããã¯ã¹ããå§ããŸããã ç§ãã¡ã¯ã貧ããèšèªãšããŠã®åœŒã®è©å€ã¯ãåç¬ã§ãååã«äŸ¡å€ããããšä¿¡ããŠããŸãã ããã䜿çšãããããžã§ã¯ãã®æåã¯ãPHPç°å¢ã®åºæ¬çãªç¹æ§ãããã³PHPãæäŸããå éåãããéçºæ©èœãšå€ãã®å ±éç¹ãæã£ãŠããŸãã ãããŠããã®ç°å¢ã®å©ç¹ïŒãšã©ãŒåé¢ã«ãããã°ã®æžå°ãå®å šãªäžŠååŠçãããã°ã©ããŒã®é«ã¹ã«ãŒãããïŒã¯ãèšèªã®æ¬ é¥ã®ããã«çããåé¡ããã䟡å€ããããŸãã
ããã«ãMPDPLãã¡ããªãŒã®ä»ã®ã¡ã³ããŒãšã¯ç°ãªããHackããã³HHVMã®åœ¢ã§ãããçç£çã§å®å šã§ç¶æãããç°å¢ã«ç§»è¡ããããã®æ確ãªéçãæäŸããŸãã Slackã¯HHVMãžã®ç§»è¡ã®æçµæ®µéã«ãããHackãžã®ç§»è¡ã®åæ段éã«ãããŸããããéãæéæ ã§ããè¯ããœãããŠã§ã¢ãäœæã§ããã®ã§æ¥œèŠ³çã§ãã
泚ïŒéçºè ã®ããã°ãããåŒçšãããŠããŸãïŒïŒ
[1] MPDPLãšããçšèªãäœãåºããŸããã ãããã®éã«éºäŒçãªã³ã¯ã¯ã»ãšãã©ãããŸãããããããã®èšèªã¯äºãã«åŒ·ã圱é¿ããŠããŸãã éå»ã®æ§æãèŠããšãéããããã¯ããã«å ±éç¹ãããããšãããããŸãã MIPSã¢ã»ã³ã㪠ãHaskellãC ++ãForthãErlangã®ããã°ã©ãã³ã°èšèªã®äžçã§ã¯ãMPDPLãèšèªèšèšã¹ããŒã¹ã§å¯éããã¯ã©ã¹ã¿ãŒã圢æããããšãåŠå®ããã®ã¯å°é£ã§ãã [æ¬æã«æ»ã]
[2]æ®å¿µãªãããïŒã¯åŒã³åºãå€ã§ã¯ãªããåä¿¡å€ã«ç€ºãããŸãã ãã®ãããããã°ã©ããåç §ã«ãã£ãŠãã©ã¡ãŒã¿ãååŸããããšããèŠæãçºè¡šãããšããããã¯æ±ºããŠè¡šç€ºãããŸããã ããã«ãããã³ãŒããšå€æŽå¯èœãªå 容ã®åæãç解ããããšãé£ãããªããPHPã§ã®å¹æçãªäœæ¥ãå€§å¹ ã«è€éã«ãªããŸãã dl.acm.org/citation.cfm?id=2660199ã®å³2ãåç §ããŠãã ããã [æ¬æã«æ»ã]
[3]ã¯ããHackã¯ããã°ã©ãã³ã°èšèªã®å®è³ªçã«ã¿ã°ãªãã®ååã§ãã Hacklangã¯ããããŸãããå¯èœãªå Žåã«äœ¿çšãããããšããããŸãã Googleèªèº«ãGoogle以å€ã®Goã§äººæ°ã®ããèšèªãåŒã³åºãããšãã§ããã®ã§ããã°ããªãã§ããïŒ [æ¬æã«æ»ã]
[4] Hackããã°ã©ã ã§ã®ãããã®åãã§ãã¯ã¯ãPHPåãã³ãã·ã¹ãã ã«åºã¥ããŠæ©èœãããããå®è¡æã«ããã©ã«ãã§äœ¿çšãããŸãã ããã«ãããHackãšåŸæ¥ã®PHPãæ··åšããæ··åã³ãŒãããŒã¹ã®ã»ãã¥ãªãã£ãåäžããŸãã [æ¬æã«æ»ã]