å¥ã®Javaãããžã§ã¯ããçµããŠãç§ã¯èç©ãããããããã®çç±ãç解ããããšããŸããã ã¯ããç§ã¯JavaãæããŠããŸããã...ãããããããããããããããã€ããããŸãã ç§ã¯éåžžã«å€ãã®å®åçãªã³ãŒããæžãå¿
èŠããããã³ã³ãã€ã©èªäœããã®çæãåŠçã§ããŸããããã¡ããIDEã¯åœ¹ç«ã¡ãŸãããããã¯åé¡ã®è§£æ±ºçã§ã¯ãªããæŸèæã§ãïŒäœããå€ãã£ãå Žåã¯ããããåçæããŠãããã«ããå¿
èŠããããŸã nullããã§ãã¯ããŸãïŒ ããã¯æ¯çã§ããè¯ãæ¹æ³ã§ã¯ãæãé©åã§ãªãç¬éã«NullPointerExceptionã®åœ¢ã§ãäºæããªããç¶æ
ã«é¥ããªãããã«ãåžžã«ããããè¡ãå¿
èŠããããŸãã èŠããã«ãèªç¶çã«ä»ã«äœãçŸããã®ãããããŠãããç§ãJavaã«çœ®ãæããããšãã§ãããã©ãããèŠãããšããé¡æããããŸããã ããã«ããã®æ¯èŒã®åå è
ã説æããããšã¯çã«ããªã£ãŠããŸãã ç§ã¯å®å
šãªåæã®ãµããããŠããªãããšãããã«èšããªããã°ãªããŸãããæ®å¿µãªããšã«ãåèšèªãé©åã«ç¥ãæéã¯ããŸããããŸããã§ããã
ç§ãæã£ãŠããå¿åè
ã®å¿
é èŠä»¶ïŒ
â¢æ±çšèšèª
â¢ã¯ãã¹ãã©ãããã©ãŒã ïŒå°ãªããšãWindows / LinuxïŒ
â¢å®å®æ§
â¢éçåä»ã
â¢èªåã¡ã¢ãªã¯ãªãŒãã³ã°
â¢å®å
šãªãªããžã§ã¯ãæåã®ãã©ãã€ã ã®ãµããŒã
â¢åªããIDEãµããŒãïŒEclipseãIDEAããŸãã¯ææªã®NetBeansïŒ
â¢æ¢åã®ãã¬ãŒã ã¯ãŒã¯/ã©ã€ãã©ãªãžã®ãã¬ãŒã ã¬ã¹ã¢ã¯ã»ã¹
â¢Javaããã©ãŒãã³ã¹
ããã«ãç§ã¯éåžžã«ãããïŒ
â¢ã³ã³ãã€ã«æã«èšèªã«ãã£ãŠæäŸããããã«ãã€ã³ã¿ãŒã»ãã¥ãªãã£
â¢Cããã®åæ©ãæããªãåçŽãªãã£ã¹ã
â¢åççãªãªãã¬ãŒã¿ãŒã®ãªãŒããŒããŒãã®å¯èœæ§
â¢æçµçã«åºæ¬ã¿ã€ããã¯ãªãŒãã³ã°ããã ããŠãã€ããžã¯ã¯ããã²ããçãããæ代ãããã¹ãŠã®çš®é¡ã®ãããŒã/ããã«ãã·ã§ãŒã/ã€ã³ã/ãã³ã°ã®æ°ããèšèªãåŒã蟌ã¿ãŸããïŒ å€åããã¯ãæ°åŠçãªã³ããã»ããµãæã€i386ããã»ããµã®æ代ã«ã¯çã«ããªã£ãŠããŸããããããã§ã¯ãªããããããŸããã ãããã®åŸ®åŠãªç¹ã¯ãã¹ãŠãããŒããŠã§ã¢ã«ããè¿ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã«ãŒãã«å
ã«ååšããäžã«çªãåºãããšã¯ãããŸããã åºæ¬ãšã³ãã£ãã£ïŒæŽæ°ãšæµ®åå°æ°ç¹æ°ãããã ãã§ããã®ã§ãã³ã³ãã€ã©ã«è©³çŽ°ãæäœãããŸãã
â¢ã©ã ãã®èª¿åããå
±å
â¢äžè¬çãªææ
®æ·±ãå
šäœçãªèšèªèšèš
â¢è¡šçŸåãASCIIã¢ãŒããå°ãªããç¥ç§çãªæ§é ãèæ°Žã§ã¹ãã¬ãŒããã
â¢æåããµãã²ãŒããã¢ããã€ãåäœã§ã¯ãªããæ¬æ ŒçãªUnicodeãã€ã³ãã§è¡šãããéåžžã®è¡ã
ãã®ã¬ãã¥ãŒã«ã¯ããã€ãã£ããã€ããªãŸãã¯Cã«ã³ã³ãã€ã«ãããèšèªã®ã¬ã€ã€ãŒå
šäœãå«ãŸããŠããªãã£ãããšã«æ³šæããå¿
èŠããããŸãããããããããã¯çŽ æŽãããã®ã§ãããDãNimãEiffelãRustãGoãªã©ã®ããã€ãã®ãªãã·ã§ã³ãè©ŠããŸããç§ã¯ãã®ç 究ã«ã¯å
¥ããªããšããçµè«ã ãã§ãã¯ã¯éåžžã«ç°¡åã§ãã-HelloWordã åºåãã€ããªã¯éåžžãã¡ã¬ãã€ãåäœã§æž¬å®ãããŸãã ããªãã¡ ã³ã³ãœãŒã«ã«ãã è¡ãå°å·ããééã§3ã4Kãå æããå°ããªããã°ã©ã ã§ãééã¯ã¡ã¬ãã€ãã§ãïŒ ããªãã¯ããããªããšãèšããŸãã ã¯ããç§ã¯ç解ããŠããŸããèšèªã®äœæè
ã¯åå«ã®ãã¹ãŠã®åãšå¯ããã€ããªã«æŒã蟌ã¿ãŸãããã©ãããããããããæé©åããããšãã§ããŸããïŒïŒ å°å·ã®ã¿ãå¿
èŠãªå Žåãäžçã«ãããã¹ãŠã®ãã®ããã€ããŒã«ããã«ããã®ã¯ãªãã§ããïŒ ããŠãéçã©ã€ãã©ãªã®æå°éã®å¿
èŠãªéšåãšãåçã©ã€ãã©ãªã®ãã®ä»ãã¹ãŠãåãåºããŠãã ããã 誀解ããªãéããDãšRustã®äœæè
ã¯ããããã®èšèªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã«ãŒãã«ã®äœæã«é©ããŠãããšäœçœ®ä»ããŠããŸãã æ¬æ°ã§ããïŒ ãããããã®ãçŸããããã¡ã¬ãã€ãã®è£å©èšèªã³ãŒãããããŠå€æ°ã®Window / Linuxã·ã¹ãã ã³ãŒã«ããã¹ãŠãã«ãŒãã«ã«ãã©ãã°ããããšããå§ãããŸããïŒ äžè¬ã«ããã®ã¯ã©ã¹ã®èšèªã¯ããã¯ãã¹ãã©ãããã©ãŒã ããšãå®å®æ§ãã®èŠä»¶ã«é©åããŸããã§ããïŒãèªåã¡ã¢ãªã¯ãªãŒãã³ã°ããšããªããžã§ã¯ãæåãã§ã¯ããã¹ãŠãåžžã«ã¹ã ãŒãºã§ãããšã¯éãããã€ã³ã¿ãŒãã§ã€ã¹ãè¿œå ãå¿ããå Žåããããã¯ã©ã¹ã®ä»£ããã«äžéšãçåèŠãããŸãïŒä»£æ¿æ¡ãæäŸããïŒ èšèªãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®éã«éåžžã«åãå±€ãããããã®ã³ãŒãã®å質ãšå®å®æ§ã«ã¯å€ãã®çåãçããŸãã ãã¶ã圌ã¯ãšãŠãããã§ãåãããŸããã ããã§ããJVMãšJava SDKã¯é·å¹Žã«ããã£ãŠãã¹ããããŠãããããŸããŸãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§è¯å¥œã«åäœããŸãã ãããã£ãŠã以äžã§èª¬æããèšèªã¯ãã¹ãŠãå€ããå°ãªããJVMã«åºã¥ããŠããŸãã 次ã«ãç°¡åãªèª¬æã§ããŸãã¯ããã䞻芳çãªå°è±¡ã§ãåå è
ã®ãªã¹ãã«ç®ãåããŸãã
CïŒïŒMSVC2015ïŒ -ããªãã®æ°ã®è¡ãæžããããã«ã¬ãã¥ãŒã«åå ããŸããããJavaã«åãå©ç¹ã¯èŠã€ãããŸããã§ããã ããããå察ã ããã«ãã¯ãã¹ãã©ãããã©ãŒã ãšãã®ãã€ãã£ãã®Windowsãã©ãããã©ãŒã ã§ã¯ãã¹ãŠããã©è²ã§ã¯ãªããmonoã¯Linuxã®å®å
šãªä»£æ¿åãæäŸããŸããïŒä»¥äžãåç
§ïŒã ããããããã©ãŒãã³ã¹ã«é¢ããŠä»ã®åå è
ãšæ¯èŒããããšã«èå³ããããŸããã
Qt / C ++ïŒ5.10ïŒ -ããã©ãŒãã³ã¹æ¯èŒã®ããã ãã«è¿œå ãããŸããã
CeylonïŒ1.3.3ïŒ -ãã®çŽ æŽãããèšèªã¯ãæåãªJava Hibernateãã¬ãŒã ã¯ãŒã¯ã®äœè
ã§ããGavin Kingã«ãã£ãŠ2011幎ã«äœæãããçŸåšRedHatã³ãã¥ããã£ã«ãã£ãŠãµããŒããããŠããŸãã èšèªã¯éåžžã«çŸãããèãæãããè¡šçŸåè±ãã§ãã ãããããJavaãäžäœäºææ§ãšãŒã¯ãªãã§éçºãããŠããããJavaã¯ãã®ããã«èŠããã§ãããã ãã®èšèªã«ã¯ãäžèšã®ããŠã£ãã·ã¥ãªã¹ããã®ãã¹ãŠãå«ãŸããŠããŸãã ç§ã¯æ¬åœã«ãã®èšèªã®ãã¡ã³ã«ãªãããããåŠã¶ã®ã«ã»ãšãã©ã®æéãè²»ãããŸããããæ®å¿µãªããšã«ãããã«é¢ããæ
å ±ã¯ããŸããªããã³ãã¥ããã£ã¯ããŸãã«ã倧ãã掻çºã§ã¯ãããŸããã ç§ã®å¥œã¿ã§ã¯ããã®èšèªã¯ã»ãŒå®ç§ã§ãããæ¬ ç¹ã«ã€ããŠèšåããããšæããŸãã Eclipse / IDEçšã®ãã©ã°ã€ã³ã¯éåžžã«ããã§ããŠããŸãããæé©åã¯æé«ã¬ãã«ã§ã¯ãªããèŠããã«æ¥ããããé
ããªããŸãã ãã¹ãã®å®è¡ïŒç¹å¥ãªãã¹ããã¬ãŒã ã¯ãŒã¯ããããŸãïŒã«ã¯7ïŒïŒïŒç§ãããããã¹ãèªäœã¯å³åº§ã«å®è¡ãããŸãããéå§ã¯éåžžã«ãã£ããã§ãã
ã»ãšãã©ã®å Žåãããã¯2çªç®ã®æ¬ ç¹ã«ãããã®ã§ã-ã¢ãžã¥ãŒã«æ§ã·ã¹ãã ãèšèªã«çž«ãä»ããããŠããããããã¢ãžã¥ãŒã«æ§èªäœãæ¬ é¥ã§ãããšã¯èšããããªããç§ã¯èšèªã«çµã¿èŸŒãŸããç¹å®ã®ãã®ãé代æ¿ã«ãªãããšãæå³ããããã¯æªãã§ãã ãããã£ãŠãCeylonã§ã¯ãã¢ãžã¥ãŒã«ã«ã¯ç¬èªã®åœ¢åŒïŒ.carãã¡ã€ã«ïŒããããããã¯ãã¹ãŠJBossã¢ãžã¥ãŒã«ã·ã¹ãã ã«åºã¥ããŠããŸãã äœããã®çç±ã§èšèªã®äœæè
ã§ããããä¿è·ããæŸæ£ããŸãããããã«ãããããšãã°ããã³ãã¬ãŒãã¡ãœããããªã©ã®ãã¶ã€ã³ãã¿ãŒã³ãå®è£
ããããšãã§ããªããªããŸããã
ScalaïŒ2.12ïŒ -ãã®èšèªã®äœæè
ã¯ãåºæ¬çã«ããããã人ã
ã®ããã«ãã¹ãŠããããããšããååã«å°ãããããã§ãã éåžžã®*å®äº_ã®ä»£ããã«ããªãã§ããïŒ ã©ãããããã ããæšæž¬ããªãããã«ãïŒcïŒã é
åã¯éåžž[]ã§ããããšã誰ããç¥ã£ãŠããã®ã§ãïŒïŒãå®è¡ããŠãè³ãããããåãåºãããã«ããŸãã ããã§ã¯äœãæå³ããã®ã§ããããïŒ ãžã§ããªãã¯ã«ããŸããããïŒ ããŸããã...ãªã©ã <-bãšã¯ã©ãããæå³ã§ããïŒ ç§ã¯ãããèããŠãã³ã¬ã¯ã·ã§ã³bããã³ã¬ã¯ã·ã§ã³aã«ãã¹ãŠãã¯ããŒã³ããŸãã¯è©°ã蟌ãã§ãããšæããŸãããããããããã¯ã³ã¬ã¯ã·ã§ã³ã®ãã€ãã¹ã§ã...
ãªãã§ïŒ ã¯ããScalaã§ãããããTau Cetiã§ãããããè¡æ¶²ã¯çŽ«è²ã§ãããè³ã®åããç°ãªããŸããèŠããã«ã圌ãã¯XMLèšèªã«åã蟌ãã§çž«ãä»ããŠããŸãããããããMicrosoft Officeèšèªã«çŽæ¥çµ±åããå¿
èŠããããŸããã©ãããŠïŒ å³å¯ã«xlsãã¡ã€ã«åœ¢åŒãèšèªæšæºã«å°å
¥ããŸã...æåã¯ãããã¯ãã¹ãŠåä»ã§ãïŒæšæºã¯ã©ã¹ã®æããªåå-StringOpsãã©ãã§ããïŒïŒã誰ãã圌女ã®ãã®å²©ãåãåºããèšãã§ãããã ãããŠãæ¯æè
ã¯è©ãããããŠè©ããããã圌ãã¯ç§ãã¡ã®è¶
å°ååè·¯ã«ç»ãããšããããããªãããšèšããŸããããªãã¯æ°ã®æ¯ãªããšãç解ããŠããªãã®ã§ãç§ãã¡ã¯ãšãªãŒãã§ãã ããããçå£ã«ãæ®éã®èšèªã¯ãæ®å¿µãªããããã«ãã€ã³ã¿ãŒã«å¯Ÿããä¿è·ã¯ãªãããªãã·ã§ã³ã§ãããããŸããã åå¿è
ã«ã¯æ»ããããã¹ããããèœãšãç©ŽããããŸããããããéåçãªåµé æ§ã®è¯ã解決çã§ãããã©ããã¯ããããŸããã
KotlinïŒ1.2ïŒ -ã«ãµãµã®ã®å·£ãæãåºããïŒãã¡ãã¯éã®ã¹ããŒã³ããã¡ãã¯ãã£ã³ãã£ãŒã®ã©ãããŒ...ã¿ããªã®ã¢ãããŒã¯ãã©ããããç§ã¯ããªãããããç®ããããŸããããšããæã ã£ãã å®çžŸã®ããä»ã®èšèªã®ãœãªã¥ãŒã·ã§ã³ãçµã¿åãããŠãçµã¿åãããŠã¿ãŸãããïŒ èšèªã®äœæè
ã¯ãããå®çšçãªã¢ãããŒããšåŒã³ãŸãã æã
ãããã¯ç§ã«ã¯æããŸããã圌ãã¯å³ãäœãã®æ¬ åŠïŒãŸãã¯ãçŸããããšããæ°æã¡ãå°ãã®éïŒã«å€±æããŸããã return @ forEachïŒäœããã®çŽæ¥çãªé»åã¡ãŒã«ïŒãªã©ã®ã²ãŒã ãèŠãŠãç§ã¯ç¥çã«åªããããã䜿ããªããšããèªããäžãããã§ãã ããããäžè¬çã«ãç§ã¯ãŸã èšèªãç°¡æœãªãããªããé£ã¹ãå¿
èŠããããã¹ãŠã奜ãã§ããã åŒã®å²ãåœãŠãçŠæ¢ãããŠããŠãåºæ¬çãªåãCeylonã®ããã«ã¯ãªãŒã³ã¢ãããããªãã£ãããšã¯æ®å¿µã§ãïŒããããJavaãšãããã³ã°ãããšãã®åŽåãå°ãªããªããŸãïŒã
FantomïŒ1.0.69ïŒã¯ãã®ãããªãããèªäœãã®ãã¡ã³ãã ã§ããã2005幎ãããã§ã«ååšããŠããããã§ãããååšããªãããã§ãã Tuzikã®æ¹¯ãããœã®ããã«Javaãç¬èªã®JVMã«åŒãè£ããã®ããã«ã圌ã¯ãããåã«ç©èªã®ããã«æµéãããŸãããäžè¬ã«ãJVMãšããŠãããŒããã£ã¹ãã§ããããã€ãã®èªäœfcodeã«ã³ã³ãã€ã«ãããèšèªãèŠãã®ã¯èå³æ·±ãããšã§ããCLRã§ã èšèªèªäœã«ã€ããŠäœãèšããŸããïŒ ãžã§ããªãã¯ã¯ããŸã ãµããŒããããŠããŸããããšèªã¿ãŸãããããã®ããããŸã§ãã¯æ°å¹Žåããç¶ããŠãããæããã«ããã§ããç¶ãããšæãããŸããããã®èšèªã«å¯Ÿããç§ã®å®çšçãªé¢å¿ã¯èããŠããŸãã æ£ç¢ºã«ã¯ãäžè¬çãªãµããŒãããããŸãããçµã¿èŸŒã¿ã®ã³ã¬ã¯ã·ã§ã³ã«å¯ŸããŠã®ã¿ã§ãããããã¯ç£æ¥ã¬ãã«ã®éçºããŒã«ãšããŠã¯ååã§ã¯ãããŸããã äžæ¹ã§ã¯ãnull蚱容åãããããã§ã-ãStrïŒ strãã§ãããã³ã³ãã€ã©ã¯nullããã§ãã¯ããã«strã®åç
§ã劚ããŸããã ããã¯æ®å¿µã§ã...
DïŒdmd 2.078.2ïŒ-JVMããã§ã¯ãªããè¿œå ã®åå è
ãšããŠãã¹ããŒãã®å©çã®ããã ãã«åŸã§è¿œå ãããŸããã æ®å¿µãªãããã人éã®é¡ããããIDEããªããããDã§æžãã®ã¯ããŸãå¿«é©ã§ã¯ãããŸããã ãã®ãµã€ãã«ã¯IDEã®å
šãªã¹ããæ²èŒãããŠãããDèªäœã§æžãããŠãããã®ããããŸãããå®éã«ã¯ãã¹ãŠãå€æããŠããŸãã ãããã¯ãã¹ãŠãå¿«é©ãªã³ãŒãèšè¿°ã«ã¯é©ããŠããŸããã æ¬åœã«ãã©ãã«ãããŠãcackãã§ããã®ã¯ãIdeaã®ãã©ã°ã€ã³ã§ããããããã®åŸã§ãã«ãŒãã³ã³ãŒãã¯ãããŸããã äœæ¥ã«æãé©ããŠããã®ã¯Eclipseã®DDTãã©ã°ã€ã³ã§ããããã®äœè
ã¯ãDã«å€±æããããã§ããããžã§ã¯ãã®äœæ¥ãããããšæžããŠããŸããæ®å¿µã§ãã
èšèªã®ååŽé¢ãåå¥ã«è©³çŽ°ã«èª¿æ»/åæ/ãã¹ãããæéããªãã£ãããã調æ»ãããã¹ãŠã®èšèªã§ãåãã¯ã©ã¹/ããžãã¯ã®ã»ãããæã€åæ§ã®ã³ãŒããèšè¿°ãã確å®ã«é¢äžãããããšã«ããŸããã
â¢éäžçãªI / O
â¢æååã®è§£æ
â¢æ°åŠé¢æ°ã䜿çšããæµ®åå°æ°ç¹èšç®ïŒ sinãcosãatan2ãtoRadiansãsqrt
â¢ã³ã¬ã¯ã·ã§ã³ã®æäœïŒé£æ³é
åãšé
åã®ã¿
â¢ã©ã ãïŒããå ŽåïŒ
èšèªã«ç¬èªã®ã©ã€ãã©ãªãããå Žåããããã䜿çšããããšããŸãã;ããã§ãªãå Žåã¯ãJavaããã
å°å³äœæããŒã¿ãå«ãåã®ãããžã§ã¯ãã®å·šå€§ãªããã¹ããã¡ã€ã«ãæå
ã«ãã£ãã®ã§ããã¹ãã¢ããªã±ãŒã·ã§ã³ã¯æ¬¡ã®ä»äºãããŸãã ãã¡ã€ã«ã®ãããã£ã¬ã¯ããªãžã®ãã¹ã¯ã³ãã³ãã©ã€ã³ã«äžããããåå è
ã¯æ¡åŒµåã§ãã¡ã€ã«ããã£ã«ã¿ãªã³ã°ããŠãã¡ã€ã«ã®ãªã¹ããååŸãããããããåŠçããå¿
èŠããããŸãã åŠçã¯ãè¡ããšã®èªã¿åããšè¡ã®è§£æã§æ§æãããã»ã°ã¡ã³ãïŒã€ãŸããå§ç¹ãšçµç¹ã®åº§æšãæã€å°åœ¢äžã®ã»ã°ã¡ã³ãïŒã§ããå Žåããã®é·ããèšç®ããç¹å®ã®ãã€ã³ãããç¹å®ã®ååŸå
ã«ãããã¹ãŠã®ã»ã°ã¡ã³ãããããã«é
眮ããŸãã ãããå
ã®ããŒã¯ãã»ã°ã¡ã³ãã®ã°ã«ãŒãã®èå¥åã§ãã ããã°ã©ã èªäœã¯ãæäœå
šäœã®å®è¡æéãããªç§åäœã§æ€åºããèŠã€ãã£ãã»ã°ã¡ã³ãã°ã«ãŒãã®æ°ã衚瀺ããŸãã
æãç°¡æœãªã³ãŒããKotlinã§å
¬éãããŸãããããã¯Ceylonããã°ããç解ããããã®æããšã¬ã¬ã³ãã§æé ãªäŸ¡æ Œã§ãã
å°ãéå±ãªæ°åãè¡/ãããã€ãã®ã³ãŒãéïŒ
â¢ã»ã€ãã³ïŒ128 / 4.7
â¢CïŒïŒ177 / 6.2
â¢ãã¡ã³ãã ïŒ153 / 3.8
â¢JavaïŒ203 / 6.1
â¢ã³ããªã³ïŒ117 / 3.9
â¢Qt / C ++ïŒ413 / 8.3
â¢ScalaïŒ123 / 3.6
â¢DïŒ204/5
çµæã®ãã€ããªãã¡ã€ã«ã®éïŒãããã€ãåäœïŒïŒ
â¢ã»ã€ãã³ïŒ* .classïŒïŒ31.1
â¢CïŒïŒ.exeïŒïŒ8.7
â¢ãã¡ã³ãã ïŒ.podïŒïŒ7.5
â¢JavaïŒ* .classïŒïŒ9.9
â¢KotlinïŒ* .classïŒïŒ20.9
â¢Qt / C ++ïŒ* .exeãªãªãŒã¹ïŒïŒ37.7
â¢ScalaïŒ* .classïŒïŒ20.7
â¢DïŒ.exeããªãªãŒã¹ïŒïŒ 1765
ããŠãä»ãæããããããã¬ãŒã¹ã®çµæ...誰ãæåã«èµ°ãã誰ãéšå€è
ã§ããããšãå€æããŸãããïŒ çŽ³å£«ãããªãã®è³ããããŠãã ããïŒ å人çã«ã¯ãç§ã®äºæž¬ã¯å®çŸããŸããã§ããããçµæã¯é©ãã¹ããã®ã§ããã ãã¹ãã¯1å°ã®ãã·ã³ã§å®è¡ãããŸããããWindows 7 x64 ProfessionalãšLinux Debian x64 Stretch Stableã®2ã€ã®ãã©ãããã©ãŒã ã§å®è¡ãããŸããã ãã¡ããã¡ãã§Orcale Java 8.152ãã€ã³ã¹ããŒã«ãããŸããã Linuxã§ã¯ãã³ã³ãã€ã«ããã.exe CïŒãã¡ã€ã«ã¯ãæšæºã®Debianãªããžããªããã¢ãçµç±ã§å®è¡ãããŸããã ãã¹ãŠããã¢ã³ããŒããããã·ã¹ãã ã§åãæ¡ä»¶äžã§èµ·åãããŸããã ç§ã¯2ã©ãŠã³ããè²»ãããŸãããæåã¯å
¥åã«æ¯èŒçå°ããª30Mbãã¡ã€ã«ã1ã€ãããããŸããã§ãã-ã¹ããªã³ãããã®å Žåã¯å®è¡ããå®è¡ãŸã§ã®çµæã®ã°ãã€ãããã£ãã®ã§ãååå è
ã20åå®è¡ããŠå¹³åçµæãååŸããŸãã 2åç®ã®ã©ãŠã³ãã§ã¯ãæ¡ä»¶ãæ¥æ¿ã«å³ãããªããå
¥åæã«ãåèšå®¹éãçŽ900 MBã®è€æ°ã®ãã¡ã€ã«ïŒãã©ãœã³ïŒããããŸããã ãã®å Žåãæããã«JVMã®ããŠã©ãŒã ã¢ããããåå ã§ãã¹ãã¬ããã¯ã¯ããã«å°ãããªããŸããã ããããå®éšã®çŽåºŠã®ããã«ãç§ã¯ãŸã 10åå®è¡ããŸããã
Windows 7 x64 Professional
åäžãã¡ã€ã«ïŒ30MbïŒ
â¢JavaïŒ621msã1.00
â¢KotlinïŒ667msã1.07
â¢ScalaïŒ745msã1.20
â¢DïŒ797msã1.28
â¢CïŒïŒ1143msã1.84
â¢CeylonïŒJavaLibsïŒïŒ1160msã1.87
â¢ãã¡ã³ãã ïŒ1362msã2.19
â¢Qt / C ++ïŒ1378msã2.22
â¢ã»ã€ãã³ïŒ1479msã2.38
è€æ°ã®ãã¡ã€ã«ïŒã900MbïŒ
â¢JavaïŒ22932msã1.00
â¢ScalaïŒ23013msã1.00
â¢KotlinïŒ23300msã1.02
â¢ãã¡ã³ãã ïŒ32047msã1.40
â¢CïŒïŒ33349msã1.45
â¢CeylonïŒJavaLibsïŒïŒ38466msã1.68
â¢Qt / C ++ïŒ40444msã1.76
â¢CeylonïŒãã¹ãã¯å€±æããåå è
ã¯ãã£ããã·ã¥ã©ã€ã³ãŸã§èµ°ãããšãã§ããã倧ããª738Mbãã¡ã€ã«ã5åéæäœããåŸã匷å¶çã«å®è¡ãäžæ¢ããŸããïŒä»¥äžã®ã³ã¡ã³ããåç
§ïŒã
â¢DïŒããŒãºã«å®ããã«ç ã£ããç¢æïŒãcore.exception.OutOfMemoryError@src \ core \ exception.dïŒ702ïŒïŒã¡ã¢ãªå²ãåœãŠã«å€±æããŸããã
Debian x64 Stretch StableïŒ
åäžãã¡ã€ã«ïŒ30MbïŒ
â¢JavaïŒ612msã1.00
â¢KotlinïŒ652msã1.07
â¢ScalaïŒ686msã1.12
â¢DïŒ785msã1.28
â¢Qt / C ++ïŒ1023msã1.67
â¢CeylonïŒJavaLibsïŒïŒ1190msã1.94
â¢ãã¡ã³ãã ïŒ1356msã2.22
â¢ã»ã€ãã³ïŒ1480msã2.42
â¢CïŒïŒ2119msã3.46
è€æ°ã®ãã¡ã€ã«ïŒã900MbïŒ
â¢JavaïŒ22161msã1.00
â¢ScalaïŒ22625msã1.02
â¢KotlinïŒ22865msã1.03
â¢DïŒ22876msã1.03
â¢Qt / C ++ïŒ31349msã1.41
â¢CeylonïŒJavaLibsïŒïŒ34664msã1.56
â¢ãã¡ã³ãã ïŒ40903msã1.85
â¢CïŒïŒ68038msã3.07
â¢ã»ã€ãã³ïŒãã¹ãã«å€±æããåå è
ã¯ãã¹ã¬ããã®äŸå€ãã¡ã€ã³ãjava.lang.OutOfMemoryErrorïŒGCãªãŒããŒãããã®å¶éãè¶
ããŸããããªã©ã®ãšããœãŒãã§æ±ºåã«å°éããåã«ç²Ÿç¥ãæŸæ£ããŸãã
æ®å¿µãªãããç§ããšãŠã奜ãã ã£ãïŒããªãã¯ç§ã®æãæã£ãŠããŸããïŒã»ã€ãã³ã¯ããããŠã©ããã§è¡ãè©°ãŸããŸãããJavaã®åŸãã®é
ãã¯é倧ã§ãã Scalaã¯Javaã§éŒ»åã錻åã«æŒã蟌ã¿ãŸããã ãã¡ã³ãã ã¯åœç¶ãé©åœãèµ·ãããŸããã§ããã Javaã¯é床ã®ãªãŒããŒã§ãããCïŒã¯å°ãé©ããŠããŸãããJavaãšãšãã«ã©ããã«ãããšæããŸããã ãã€ãã£ãã³ãŒããæ«å°Ÿã«ãããšã¯æã£ãŠããŸããã§ããïŒ ãã¡ãããQtã®é
ãã責ããããšã¯ã§ããŸãããããã§ã...ãããããã¡ãããstd libsã§ããŸãã¯ã¢ã»ã³ãã©ãŒæ¿å
¥ã䜿çšããçŽç²ãªCã§æžãæããããšãã§ããŸãããããã¯ãã§ã«å®å
šã«ç°ãªãã³ãŒãã§ãã è¥ããŠåæã®KotlinãJavaã§åæ§ã®ããã©ãŒãã³ã¹ãçºæ®ããããšãæåŸ
ãããŠããŸãããããŸã é
ãããããCeylonããã倧å¹
ã«å°ãªããScalaãããå€ããªã£ãŠããŸãã ãããŠãã©ãããããããããã©ãŒãã³ã¹ãKotlinã®ã©ãã«æ²ããã¯æããã§ã¯ãããŸããããªããªããããã¯ç¬èªã®I / Oãæ°åŠã©ã€ãã©ãªãããã³ã³ã¬ã¯ã·ã§ã³ãæããããããã¯ãã¹ãŠJavaãã䜿çšãããããã§ãã ããšãã°ã倧éã®å
¥åããŒã¿ã§å€±æããçç±ãç解ãå§ãããšãã«ãã»ã€ãã³ã¯èªå®¶è£œã®ã³ã¬ã¯ã·ã§ã³ããŸãšããŸããã 圌ãã¯ã¡ã¢ãªã«å¯ŸããŠããŸãã«ã貪欲ã§ããããšã«æ°ä»ãã8GBã®RAMãæ°ä»ããã«é£ã¹ãŸããããããã£ãŠãããšãã°ã24GBã®ã¡ã¢ãªãæèŒãããã·ã³ã§å®è¡ãããšãCeylonãã¹ãã¯æ£åžžã«å®è¡ãããŸããããã¡ãã絶察æ°ãæ¯èŒããããšã¯ã§ããŸãããããã¯ç°ãªããŸããéã æšæºã©ã€ãã©ãªã®ã³ã¬ã¯ã·ã§ã³ãJavaã®ã³ã¬ã¯ã·ã§ã³ïŒHashMapãšArrayListïŒã«çœ®ãæãããã¹ãã«åæ Œãããšããç§ã¯ãŸã Ceylonãåäœãããããšãã§ããŸããã I / Oããã³ã³ã¬ã¯ã·ã§ã³ã«Javaã©ã€ãã©ãªã䜿çšããå Žåã®Ceylonã®çµæãè¿œå ããŸãããçµæã¯è¥å¹²è¯ããªããŸãããç¶æ³ã¯ä¿åãããŸããã
ã¡ãªã¿ã«ãåãããŒããŠã§ã¢ã§Debianã®æ¹ãããã©ãŒãã³ã¹ããããã«åªããŠããããšã«æ³šæããŠãã ããïŒãœãŒã¹ããŒã¿ãext4ããŒãã£ã·ã§ã³ã«é
眮ããNTFSããååŸããŸããã§ããïŒã
çµè«
ç§ãèšã£ãããã«ããã¹ãŠã®åå è
ã®äžã§ãç§ã¯ã»ã€ãã³ãæã奜ãã§ãããç§ã¯æ¬åœã«ããã«åå ãããã£ãã§ãã ããããç£æ¥çšãšããŠã¯ãŸã æçããŠããªãããã§ãã¯ãªãšã€ã¿ãŒã¯çå£ã«ãããã¡ã€ãªã³ã°ãè¡ããããã«ããã¯ãã¯ãªãŒã³ã¢ããããå¿
èŠããããŸãããããã§ãç§ã¯åœŒã®éåœãç£èŠããŸãã æ®ãã®ãªãã·ã§ã³ã®ãã¡ãScalaãšKotlinãéžæããŸãããããã¯ãæ§æäžã¯éåžžã«äŒŒãŠãããé¢æ°ãšå€æ°ã宣èšããåããã¹ã«ã«ã¹ã¿ã€ã«ã§ãã Scalaã¯é床ãšå®å®æ§ãããæé©åãããŠããŸãããKotlinã«ã¯ã¹ããŒããªåŒ·å¶ãšnullã»ãã¥ãªãã£ããããŸãã ãããããKotlinã«ç«ã¡å¯ã£ãŠãã詳现ã«ç 究ããã§ããããããããã次ã®å
éšãããžã§ã¯ããæžãã§ãããã
PSã¯ããã¯ããç§ã¯ãã¹ã¿ãžãªãžã®ã³ãŒããJãäºèŠããŸãã
ãœãŒã¹ã¯æ¬¡ã®ãšããã§ããdrive.google.com / openïŒid = 1N3sEsw4MZ33GI-PPQOw_vocahGdjg9bq
ãããŒã©ã³ãèªã圢åŒã®ããããDCFã«å€æããmp2dcfããŒã«ã次ã«ç€ºããŸããdrive.google.com / open?id=12SlixUmpnrKH5Eh8k69m_T1tmWCVy6Ko
ãããã¯ãããšãã°ããããããŠã³ããŒãã§ããŸãïŒnavitel.osm.rambler.ru
ã€ã¿ãªã¢ã§ãã£ãŠã¿ãïŒnavitel.osm.rambler.ru/?country=Italy
ãœãŒã¹ãGitHubã«æçš¿ããŸããïŒ github.com/akornilov/LangBenchmark
UPD
ããã©ãŒãã³ã¹ãã¹ãã®æ°å€ãæŽæ°ããŸããã
ãã£ã¹ã«ãã·ã§ã³ã®ã³ã¡ã³ãã®ãããã§ãã³ãŒããæ¹å/ä¿®æ£ãããŸããïŒ
asdf87 - BufferedStreamã CïŒã«è¿œå ãããŸããïŒçµæã«é¡èãªåœ±é¿ã¯ãããŸããïŒã
stack_trace - Qt / C ++ã³ãŒããä¿®æ£ãã ãããã«è¿œå ããŸã ïŒçµæã«å€§ããªåœ±é¿ã¯ãããŸããïŒã
AlexPublic -Javaå®è£
ã®éèŠãªãã€ã³ãã§ããã»ã°ã¡ã³ãã®é·ãã¯ãä»ã®èšèªãšã¯ç°ãªãããªããžã§ã¯ãã®äœææã§ã¯ãªããèŠæ±ã«å¿ããŠèšç®ãããŸããã
ScalaãKotlinãCeylonïŒJavaLibsïŒã«æ»ã ã Javaã® å Žåãšåæ§ã«IOExceptionãã§ãã¯ãè¿œå ãããŸããã
Kotlinã¯æšæºã©ã€ãã©ãªã®æ¡åŒµæ©èœã䜿çšããããã«ãªããŸããïŒJava APIã®ä»£ããã«.useLinesã䜿çšããŠæååãèªã¿åããŸãã
çµæãååŸããæ¹æ³ãå€æŽãããŸããããã¬ãŒã¹ãã®ãã¹ãŠã®åå è
ãæ°åèªåçã«èµ·åããå¹³ååŽåæéãèšç®ããèŠã€ãã£ãã»ã°ã¡ã³ãã®æ°ããã¹ãŠäžèŽããããã«å¶åŸ¡ããã¹ã¯ãªãããäœæãããŸããã å°ããªãã¡ã€ã«ïŒã¹ããªã³ãïŒã®ãã¹ãã§ã¯ãååå è
ã20åã倧ããªãã¡ã€ã«ïŒãã©ãœã³ïŒã§10åå®è¡ãããŸãã JVMãèšå®ãããŠãããã¹ãŠã®èšèªã§-Xmx2gãèšå®ããŸã ã
UPD
1ïŒã¹ããŒãã®ããã«ããã¬ãŒã¹ãã«èå³ãè¿œå ãããŸããD. åå è
ã¯è¯ãçµæã瀺ããŸããïŒãããçŽ æŽããããã®ã§ã¯ãããŸããïŒããæ®å¿µãªãããWindowsãã©ãœã³ã§ã¯ãã¡ã¢ãªäžè¶³ïŒããã¯8ã®ã¬ãã€ãã®RAMïŒã§æ»äº¡ããŸããã , , Linux . , -, .
2) Kotlin 1.2.30-release-78 , «» , , . â Kotlin ! - . Kotlin, â ! Kotlin Java «».