å瀟ã®æšæ¥ã®ãã¬ã¹ãªãªãŒã¹ã«ãããšããé·ãéã®ãã§ããããã€ãã«æåã®ãªãªãŒã¹ããªãªãŒã¹ããåæã«èšèªã®æ°ããããŽïŒã¢ã€ã³ã³ïŒãçºè¡šããŸããã
é·ããšããµã€ãã£ã³ã°ãªéã§ããããã€ãã«æåã®å€§ããª1.0ã«å°éããŸãããæ°ããããŽããèŠãããããšã§ããªãªãŒã¹ãç¥ããŸãã
ããã¯ãäºææ§ãã»ãã¥ãªãã£ãè¡šçŸåãåªããããŒã«ã«éç¹ã眮ããJVMãšAndroidã®å®çšçãªèšèªã§ãããšããäºå®ã«éç¹ã眮ããŠããŸãã
Kotlinã¯ããªããžã§ã¯ãæåãšæ©èœã®æ©èœãçµã¿åãããJVMããã³Androidçšã®å®çšçãªããã°ã©ãã³ã°èšèªã§ãããçžäºéçšæ§ãå®å šæ§ãæå¿«ããããã³ããŒã«ã®ãµããŒãã«çŠç¹ãåœãŠãŠããŸãã
Kotlinã¯æ±çšèšèªã§ãããããJavaãåäœãããã¹ãŠã®å ŽæïŒãµãŒããŒåŽã¢ããªã±ãŒã·ã§ã³ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ïŒAndroidïŒããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ïŒã§åäœããŸãã 次ã®ãããªãã¹ãŠã®äž»èŠãªããŒã«ãšãµãŒãã¹ã§åäœããŸã
IntelliJ IDEAãAndroid StudioãEclipse
MavenãGradleãããã³Ant
Spring BootïŒKotlinãµããŒãã¯æ¬æ¥ãªãªãŒã¹ïŒïŒ
GitHubãSlackãããã«ã¯Minecraft :)
ãã®å Žåããã©ã°ããã£ãºã ã®æŠå¿µã匷調ãããŸã-äœæè ã¯ãå®å šã«æ°ããèšèªãšæŠå¿µãçºæããããšãç®æããŠããŸããã§ããããããšãã°ããã°ã®åºçŸãäœæãããæœè±¡åãé²ãåã·ã¹ãã ãæ§ç¯ããŸãã-ããã¯ãã³ãŒãã®åå©çšã«è²¢ç®ããæ žèšèªãéåžžã«äŸ¿å©ã§äŸ¿å©ãªããŒã«ã«ããããšã«çŠç¹ãåœãŠãŠããŸãïŒ
é·æã«ããããããžã§ã¯ãã§ã¯ãã³ã¢ããªã¥ãŒãç解ããããšãéèŠã§ãã ã³ããªã³ã®ãã¶ã€ã³ã説æããèšèã1ã€éžã¶ãšããããããã¯ãã©ã°ããã£ãºã ã§ãã ããããKotlinãçºæãç 究ã«ããã»ã©éç¹ã眮ããŠããªãããšãæ©ãããè¿°ã¹ãçç±ã§ãã ç§ãã¡ã¯ããªãå€ãã®ãã®ãçºæããããšã«ãªããŸããããããããããžã§ã¯ãã®ãã€ã³ãã§ã¯ãããŸããã§ããã ãã¡ããããã°ãé²ãã¿ã€ãã·ã¹ãã ãšãã³ãŒãã®åå©çšã容æã«ããæœè±¡åã¡ã«ããºã ãæ§ç¯ããŠããŸããã ãããããããè¡ãããã®ïŒå®çšçãªïŒæ¹æ³ã¯ããŠãŒã¹ã±ãŒã¹ã«çŠç¹ãåœãŠãŠãèšèªãåªããããŒã«ã«ããããšã§ããã
ãŸããæãéèŠãªã®ã¯ãæ¢åã®ã³ãŒããšã€ã³ãã©ã¹ãã©ã¯ãã£ãšã®äºææ§ã§ãã
ç¹ã«ããã®ã¢ãããŒãã¯ãæ¢åã®ã³ãŒãããã³ã€ã³ãã©ã¹ãã©ã¯ãã£ãšã®çžäºéçšæ§ãéèŠã§ãããšããæŠå¿µã«ããã«ã€ãªãããŸãã
ååŠç¿ãæžããã«ã¯ãããäžåºŠæžãçŽããŠãã ããã åå©çšã§ããã»ã©ãè¯ãïŒ
ãããããšã¬ã¬ã³ã¹ã¯é«ãè©äŸ¡ãããŠããŸãããããã§ã¯äž»èŠãªç®æšã§ã¯ãªããäž»èŠãªç®æšã¯æçšã§ãã ãŸãããŠãŒã¶ãŒããŒãããååŠç¿ãåçºæãåå®è¡ããå¿ èŠãå°ãªããªãã°ãªãã»ã©ããŠãŒã¶ãŒã¯ããå€ãåå©çšã§ããããã«ãªããŸãã
åãçç±ã§ãç¬èªã®ãããžã§ã¯ãã³ã¬ã¯ã¿ãŒãäœæããããåŸåŸ©ãããŒã¿å€æã®åé¡ãåé¿ããããã«ãJDKãšåãã³ã¬ã¯ã·ã§ã³ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããšã決å®ããŸããã
-ã§ã¯ããªãKotlinã«ã¯ç¬èªã®ããã±ãŒãžãããŒãžã£ãŒããã«ãã·ã¹ãã ããªãã®ã§ããïŒ
-æ¢ã«MavenãšGradleããããå€ãã®ãããžã§ã¯ãã§èšå€§ãªæ°ã®ãã©ã°ã€ã³ãåå©çšããããšãéèŠã ããã§ãã
-ã³ã¬ã¯ã·ã§ã³ããŒãããåèšèšããæ¹ããã£ãšç°¡åã ã£ãã®ã«ããªãJDKäºæã®ã³ã¬ã¯ã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããããã«å€ãã®æéãšåŽåãè²»ãããã®ã§ããïŒ
-å€æ°ã®Javaã³ãŒããJDKã³ã¬ã¯ã·ã§ã³ã§æ©èœãããããå¢çã§ããŒã¿ãå€æããã®ã¯é¢åã§ãã
äœæè ã¯ããã®èšèªã¯ç£æ¥ã§ã®äœ¿çšã«å®å šã«å¯Ÿå¿ããŠãããå€ãã®å®éã®å€§èŠæš¡ãããžã§ã¯ãã§ãã¹ããããŠããããšã匷調ããŠããŸãã
ååã«æçããŠãããçç£ã®æºåãã§ããŠããŸããïŒ
ã¯ã ãããŠããã¯ããªãåãããããŸããã JetBrainsã§ã¯ãã³ã³ãã€ã©ãŒãšããŒã«ãå®è£ ããŠããã ãã§ãªããéå»2幎éã«ããã£ãŠKotlinãå®éã®ãããžã§ã¯ãã§ããªã倧èŠæš¡ã«äœ¿çšããŠããŸãã JetBrainsã«å ããŠãããªã以åããKotlinãæ¬çªç°å¢ã§äœ¿çšããŠããäŒæ¥ãããªããããŸãã
ãã®ããã«é·ããªãªãŒã¹æ¹æ³ïŒ2010幎ã«ç»å ŽããŠãã5幎以äžïŒã¯ãå®éã®ã¢ãŒããã¯ãã£ã®æ±ºå®ã培åºçã«ãã§ãã¯ããããšã«ãããã®ã§ãããšèª¬æãããŠããŸãã ã³ã³ãã€ã©ã¯ãKotlinã®ãã¹ãŠã®å°æ¥ã®ããŒãžã§ã³ãšäžäœäºææ§ããããŸãã
å®éã1.0ã«éãããŸã§ã«é·ãæéãããã£ãçç±ã®1ã€ã¯ãå®éã«èšèšäžã®æ±ºå®ãæ€èšŒããããšã«ç¹ã«æ³šæãæã£ãããã§ãã ããã¯ãã³ã³ãã€ã©ãåæ¹äºææ§ãæã¡ãKotlinã®å°æ¥ã®ããŒãžã§ã³ãæ¢åã®ã³ãŒããå£ããŠã¯ãªããªãããã§ãã ãã®ãããã©ã®ãããªéžæãè¡ã£ããšããŠãããããã«åºå·ããå¿ èŠããããŸãã
ã³ããªã³ã®ã·ãŒã³ã¯äœã§ããïŒ ãªãŒãã³ãœãŒã¹ãããžã§ã¯ããšäœçŸäººãã®è²¢ç®è ã§ããJetBrainsã¯çŸåšãKotlinã®ã¡ã€ã³ã¹ãã³ãµãŒã§ãã ãã§ã«ãå瀟ã®çŽ10ã®å€§ããªè£œåãKotlinã䜿çšããŠããŸãã
çŸåšãJetBrainsã¯Kotlinã®äž»ãªæ¯æŽè ã§ããKotlinã®éçºã«ã¯å€å€§ãªåªåã泚ããé·æçã«ãããžã§ã¯ãã«åãçµãã§ããŸãã èªç€Ÿè£œåã§äœ¿çšããå¿ èŠæ§ããäœæããŸããã ãããŠããããŸã§ã®ãšãããIntelliJ IDEAãJetBrains RiderãJetBrains AccountïŒE-ShopãYouTrackãããã³ããã€ãã®å°èŠæš¡ãªIDEãããã€ãã®å éšãããžã§ã¯ããKotlinã䜿çšããŠããJetBrains補åã10è¿ããããŸãã æ»åšããããã«ããã«ããŸãïŒ
å瀟ã¯ãèšèªã®ãããªãéçºã®ããã®ææ¡ã®éäžçãªè°è«ãçµç¹ãããã®ããã»ã¹ãããã«éæã«ããããšãèšç»ããŠããŸãã
ä»åŸããã¶ã€ã³ã®ææ¡ãšè°è«ã®ããã®éäžåã®å Žãèšçœ®ããããã»ã¹ãããã«å¯èŠåããŠçµç¹åããããšãèšç»ããŠããŸãã Kotlinã®æšæºåã®åãçµã¿ã¯ãããŸã§ã®ãšããéå§ãããŠããŸããããåŸã»ã©æ©ãè¡ãå¿ èŠãããããšãèªèããŠããŸãã
èšèªã¢ãŒããã¯ãã£ãšãããžã§ã¯ãéçºã¯ã20人以äžã®ãã«ã¢ãŒãã®ç€Ÿå ããŒã ã«ãã£ãŠå®è¡ãããŸãã
ãããžã§ã¯ãã®èšèªèšèšãšå šäœçãªéå¶ã¯ãJetBrainsã§æ¡çšãããŠããããŒã ã«ãã£ãŠè¡ãããŸãã çŸåšãKotlinã§ãã«ã¿ã€ã ã§åããŠãã20人以äžã®äººãããŸããããã¯ãKetlinãžã®JetBrainsã®ã³ãããã¡ã³ãã®ããã«å¥ã®èšŒæ ã§ããããŸãã
æåã®ãªãªãŒã¹ã¯ãèšèªãšãã®æšæºã¿ã€ãã®ã©ã€ãã©ãªã®é·æçãªåŸæ¹äºææ§ãç®çãšããŠããŸãã
1.0ã§ã¯ãèšèªãšãã®æšæºã©ã€ãã©ãªïŒkotlin-stdlibïŒã®é·æçãªåŸæ¹äºææ§ã«åãçµãã§ããŸãã
-æ°ããã³ã³ãã€ã©ã¯å€ããã€ããªã§åäœããŸãïŒãã ããå€ãã³ã³ãã€ã©ã¯ãjavac 1.6ãjavac 1.8ã§ã³ã³ãã€ã«ãããã¯ã©ã¹ãèªã¿åããªããªã©ãæ°ãããã€ããªãç解ã§ããªãå ŽåããããŸãïŒã
-å€ããã€ããªã¯ãå®è¡æã«æ°ãããã€ããªã§åäœãç¶ããŸãïŒãã ããæ°ããã³ãŒãã§ã¯æ°ããäŸåé¢ä¿ãå¿ èŠã«ãªãå ŽåããããŸãïŒã
åœé¢ã®èšç»ã¯ãèšèªããŒã«ã®ç¶ç¶çãªæ¹åãJavaScriptãµããŒãïŒå¯èœãªå Žåã¯JVMãšJSã®äž¡æ¹ã§ã®ã³ã³ãã€ã«ïŒãããã³æ°æ©èœã䜿çšããJava8ãã€ãã³ãŒãçæã®æé©åã§ãã
èšç»ã«é¢ããŠãç§ãã¡ã®æãè¿ãç®æšã¯ïŒãã°ä¿®æ£ãé€ãïŒã§ãã
KotlinããŒã«ãã§ãŒã³ã®ç¶ç¶çãªããã©ãŒãã³ã¹ã®åäžïŒããã«ã¯ãçŸåšäœæ¥äžã®Gradleã§ã®ã€ã³ã¯ãªã¡ã³ã¿ã«ã³ã³ãã€ã«ãå«ãŸããŸãïŒã
JavaScriptãµããŒãïŒå¯èœãªå Žåã¯JVMãšJSã®äž¡æ¹ãžã®ã¯ãã¹ã³ã³ãã€ã«ãå«ãïŒ;
æé©åãããã©ã ããªã©ã䜿çšããŠJava 8ãã€ãã³ãŒãã®çæããµããŒãããŸãïŒAndroidãŠãŒã¶ãŒãå¿ èŠãšããéããJava 6ã¯ç©æ¥µçã«ãµããŒããããŸãïŒã
ããŒã«ã®æŽæ°ãšãã°ä¿®æ£ã¯ãã€ã³ã¯ãªã¡ã³ã¿ã«æŽæ°ãã€ãŸã1.0.XãšããŠãªãªãŒã¹ãããŸãã 倧ããªå€æŽã¯ãæåã«æ©æã¢ã¯ã»ã¹ããã°ã©ã ïŒEAPïŒãééãããã®åŸ1.1ãšããŠãªãªãŒã¹ãããŸãã
ããã¯ãããã¥ã¢ã«-ãããžã§ã¯ãã®å ¬åŒãªãœãŒã¹ã§å©çšå¯èœ-kotlinlang.org
ãã©ãŒã©ã ãŸãã¯ãã£ããkotlinã«ãããã£ãŒãããã¯
çŽ æµãªã³ããªã³ãïŒ ä»:)
PSãã¹ãŠãäžçš®ã®ã¯ãŒã«ã§æåŸ ãããŠããŸããããããšããå¯äžã®ãã¥ã¢ã³ã¹ã¯çããæããããã ãã§ã-æ°žé ã®åŸæ¹äºææ§ã®ä¿èšŒãããªãã¡ Javaèªäœãšåãã§ãã ããã¯æ¬åœã«å¿ èŠã§ããïŒ çµæã¯ãæ¬ é¥ã®ãããžã§ããªãã¯ãæ代é ãã®ã³ã¬ã¯ã·ã§ã³èšèšãã©ã ãã®äŸ¿å©ãªå®è£ ãªã©ã®äŸã§ç¥ãããŠããŸãã å€ãã¯çã¿ããè¿œå ã§ããŸãã 10ã15幎ããšã«ãã®äžäœäºææ§ãå°éããŠèšèªãæ¹åããããšãéèŠã§ãªãå Žåãããã¯éåžžã«éèŠã§ããïŒ æ°žé ã®åŸæ¹äºææ§ãæã€Javaããã§ã«ãããŸããKotlinã§æ¬åœã«å¿ èŠã§ããïŒ ç§ã¯æ祚ããããšãææ¡ããŸãïŒ