-Developer Advocateã®æ©èœïŒéçšäž»åã補åã宣äŒããªãçç±
-ãããã¹ãšãã¬ã€ã³ã®äŸã§ã®Java 9ãšJavaãªãªãŒã¹ã®é »åºŠ
-ã³ããªã³ãšäžçæ¯é ãžã®é

ãéèŠãªã®ã¯ãéçºè ã®åé¡ã解決ããã®ã«ã©ãã ãã®æ¯æŽãã§ãããã§ãããéçºè ã®é¢å¿ããããªããæšé²ããŠãã補åã®é¢å¿ãããé«ãããããšã§ãã
ããªãã®æçš¿ã¯Developer Advocateã®ããã«èãããŸããïŒ ç§ã®ç¥ãéããããã¯äŒéè ã®é¡äŒŒç©ã§ãããïŒ
ã¯ããäŒéè ã®é¡äŒŒç©ã§ãããå®å šã§ã¯ãããŸããã ãäŒéãã®æŠå¿µãã®ãã®ããåäžã®æ£ãã決å®ã«ã€ããŠã®çå®ã人ã ã«äŒãããšããæèã§ãå®æçãªæå³åããæã£ãŠããŸãã ããã¯ç§ããã£ãŠããããšã§ã¯ãããŸããã å°ãªããšãç§ã¯ãããä¿¡ãããã§ãã äŒéè ãšã¯ãæ£ããããæ¹ãäŒãã人ã§ãã è±èªã®æè·è ãæåã¯ãã·ã¢èªã®ããã«æ³çæå³ã¯ãããŸããããå©çã®ä¿è·ãè¡šçŸãæå³ããŸãã ãããéãã§ãã
éçºè ãæè·ããŸãã ããã¯ãéçºè ãã³ãã¥ããã£ã®åžæãç解ãã瀟å ã§ããããæäŸããããšãæå³ããŸããïŒ
ããã¯ãæ¹åã®1ã€ã§ãã 2çªç®ã«éèŠãªã®ã¯ã絊æãæ¯æã£ãŠããäŒç€Ÿã®è£œåã䜿çšããªããŠãïŒãã¡ãããããè¯ãæ¹æ³ã§ïŒéçºè ãç¹å®ã®åé¡ã解決ã§ããããã«ããããšã§ãã ãã¿ããªãããªãã®åé¡ã解決ããã®ã«åœ¹ç«ã€ã®ã§ãArtifactoryã䜿ã£ãŠãã ããããšèšãããšãã§ããŸãããŸãããããã䜿ããªãæ¹ããã-ããã§ã¯åœ¹ã«ç«ããªãããšèšãããšãã§ããŸããæåã®ãã®ã䜿çšã§ããŸãã
ããã§ã¯ã補åããã¢ãŒã·ã§ã³ãšDeveloper Advocateã®ãããã§ãã·ã§ãã«ãªä»äºã®éã®å¢çç·ã¯ã©ãã«ãããŸããïŒ
ãã€ã³ãã¯ãäžç·ã«åã人ã ã®ããŒãºãã©ãã ãç解ãããã§ãã ããªãã圌ãã®åé¡ã解決ããã®ãã©ã®ãããå©ããããšãã§ããŸãããããªãã®å®£äŒããŠãã補åã®èå³ã®äžã«åœŒãã®èå³ã眮ããŸãã 倧ãŸãã«èšãã°ãããªããèšãããšãã§ãããªãïŒ ç§ãã¡ã®è£œåãæçšããªãã§ãã ãã-ããã¯ä»ããªããå©ããŸãã ãããªãã¯ããã®éçºè ãªã¬ãŒã·ã§ã³ã§ãã ãšã«ããéçºè ã®å£°ã«è³ãåŸãããç解ãã§ããªãã£ãããã«è£œåã宣äŒããŠããã®ã§ããã°ãããã¯éå°éçã§ãã
Developer Advocateã¯åæã«éçºè ã§ããããŸããïŒ äŸãã°ãå¥åº·ãç¶æããã³ãã¥ããã£ã®ããŒãºãç解ããããã
å¿ é ã§ãã ãããŠãåé¡ã¯åœ¢åŒã«ãããŸããã ã³ãŒããæžãããšãªãã人ã ã®ããŒãºãç解ããããšã¯ã§ããŸãã-ãããŠãããªãã¯èªåã®çŸ©åãæãããŸããã å¿ ãã³ãŒããæžãããã¯ãããžãŒãç解ããããããããã¬ã€ãããŠãã ããã ãããŠããã¯ãã é¢çœããŠæ¥œããã§ãã
ããŒã±ãã£ã³ã°ã³ã³ããŒãã³ããšéçºã³ã³ããŒãã³ãã®ãã©ã³ã¹ã¯ã©ãããã¹ãã§ããïŒ ã©ã®ãããã®é »åºŠã§ã³ãŒãã£ã³ã°ããŸããïŒ
åçã«æ»ããšãããŒã±ãã£ã³ã°ã¯éçºè é¢ä¿ã®äžéšã§ã¯ãããŸããã ã»ãšãã©ã®å ŽåãäŒç€Ÿã®éçºè æ¯æè ã¯éåžžã«å°ããã§ãã çŸåšãJFrogã¯250人ãéçšããŠããã1人ã ããæè·ããŠããŸãã ããã«ç§ãã¡ã®3ã€ããããŸããã ãããã250人ã®äŒç€Ÿã«ãšã£ãŠã¯ãããã§ãååã§ã¯ãããŸããã ãããã£ãŠãéåžžãéšéã¯ãã®æ©èœã«å²ãåœãŠããããå¥ã®ãŠãããã«æ¥ç¶ãããŸãã
Developer Advocateã¯ã©ãã§ãæ©èœããŸãããå¶æ¥éšéã§ã¯æ©èœããŸããã ç§ãã¡ã®å Žåãç§ã¯ããŒã±ãã£ã³ã°æ åœè ã§ãã ç§ã¯ãã®æãçŽç²ãªåœ¢ã§ããŒã±ãã£ã³ã°ãè¡ãã®ã§ã¯ãªããããããã®éãåãéããŸãã JFrog補åã圌ã«ãšã£ãŠã©ã®ããã«åœ¹ç«ã€ãã«ã€ããŠã®ç§ã®å ±åãèããåŸã圌ã¯ããŒã±ãã£ã³ã°ã®ãªãŒããŒãšãªãããšãã§ããŸãã
é¢ä¿ãšéçºã®é¢ä¿ã«ã€ããŠã¯ãçæ³çãªæ¯çã¯50/50ã§ãã æ®å¿µãªããã人ã ã¯å°æ°ã§ã-å€ãã®ä»äºãããã®ã§ãæè¡çãªéšåã¯æéåŸã«ãããã¯ã¢ããããããªããã°ãªããŸããã ããšãã°ãææ°ã®ãã¥ãŒã¹ãèããæ°ãããã¯ãããžãŒãè©Šãããã«ãJavaDayã«è¡ããŸãã ãããªãŒãã£ã³ã°ããããã£ã¹ãã«ã¯ãç§ã«ãšã£ãŠåãç®æšããããŸãã ç§ã¯ããã§ä»äºã§äœãã宣äŒããããšã¯ããŸããããéã«ãæ å ±ãåŸãããã«å匷ããŠèãããšãè©Šã¿ãŸãã ããŒã ãã¿ã€ããããšãã«ãæçµçã«å€åæéäžã«ãããè¡ãæéãããããšãæ¬åœã«æã¿ãŸãã
ã€ãŸããããªãã¯ä¹ã£ãŠæŒå¥ããã®ã奜ãã§ãã ããããã³ãŒããæžãã®ã奜ãã§ããïŒ
ç§ã¯æ¬åœã«ã³ãŒããé転ããŠæžãã®ã奜ãã§ãã 50/50ã®æ¯çã§äž¡æ¹ãè¡ãããšãã§ããã°...ç§ã¯ãã§ã«çæ³çãªä»äºãããŠããŸãããããå°ãçæ³çã§ãã

ãããã§ãã·ã§ããªãºã ããããããŒãªã¬ãŒã·ã§ã³ãº-èªåã«æ£çŽã«ãªããŸãããã ããããéçšäž»ã¯ããããããã€ãã®KPIã眮ãã®ã§ããããïŒ ããã©ãŒãã³ã¹ã¯ã©ã®ããã«æž¬å®ãããŸããïŒ
å¹æã枬å®ããããšã¯ã§ããŸãããéåžžã«å°é£ã§é«äŸ¡ã§ãã åæ段éã§ã¯ãäŒæ¥ã¯ã³ãã¥ããã£ã«å¯Ÿããéçºè é¢ä¿ã®å°é家ã®åœ±é¿ã枬å®ããããšã«æè³ããæºåãã§ããŠããŸããã å€ãã®äŒæ¥ã§ã¯ã圱é¿ã¯ãŸã£ãã枬å®ãããŠããªãããTwitterã®ãã©ãã¯ãŒæ°ãã¬ããŒãã蚪ãã人ã®ãããªéåžžã«åçŽã§çŽ æŽãªææšã«äŸåããŠããŸãã ããããã¹ããŒãã«äœäººã®äººãæ¥ããã¯ãã¬ããŒãã«ã¹ãã£ã³ãã©ã¹ãªååãä»ããŠããããšãšã誰ã䞊è¡ããŠè©±ããŠããããšãã2ã€ã®ããšã«ãã£ãŠæ±ºãŸããŸãã JavaDayã®Webãµã€ãã«ãã§ã«ãã³ã°ã¢ããããŠããæã®ããã«ãç§ãšäžŠã¶æã䞊ã¶ãšããããé©ãã¹ãå ±åãããŠã誰ãç§ã®ãšããã«æ¥ãªãã§ãããã ããã¯æå³ã®ãªãKPIã®äŸã§ãã
ã©ã®KPIãæ¬åœã«éèŠã§ããïŒ ç§ã®ã¬ããŒãã¯ã©ãããã人ã ãåŒãã€ããŸãããïŒ Yegor Bugaenkoã®äŸãèŠãŠã¿ãŸãããã 圌ã®å ±åã¯éåžžã«ããã£ãããŒããªäººã ã§ãã ããã¯è¯ãã§ããæªãã§ããïŒ ããã«ããã圌ã®éçºè é¢ä¿ã¯æ¹åãŸãã¯æªåããŸããïŒ ãšãŽãŒã«ã¯éçšã®ããã«è¡åããŸãã ãã®å Žåããã¹ãŠãåçŽã§ãã圌ã®ã¬ããŒãã®åŸã3人ã圌ã®ä»äºã«æ¥ãããã¬ããŒãã¯è¯ãã£ãã§ãã å¥ã®100人ããã®ã¬ããŒãã«äžæºãæããå¯èœæ§ãããããšã¯åé¡ã§ã¯ãããŸããã
ãããŠããããéçšã§ã¯ãªãã補åããã©ãããã©ãŒã ãAPIãªãïŒ å ±ååŸã«äœäººãç»é²ããŸãããïŒ ãããããã®æ¥ã®ããã°èšäºãå ¬éãããããã§ã¯ãªããäŒè°åŸã«åœŒããæ¥ãããšãã©ããã£ãŠç¥ã£ãŠããŸããïŒ ããã«ãããããããç§ã¯ããã枬å®ããããšãå¯èœã§ãããšä¿¡ããŠããŸãããããã¯éèŠãªäœæ¥ã§ãã
JavaOneã®ã¹ããŒã«ãŒãšããŠåã³æ¿èªãããŸãã äœã§æŒå¥ããŸããïŒ
ç§ã®ã¬ããŒãã®ã»ãšãã©ã¯ãŸã DevOpsã«é¢ä¿ããŠããããããã¹ãŠã®ã¬ããŒãã«ã€ããŠãŸã åçããããŸããã Dockerã«ã€ããŠãªã©ãå€ãã®æè¡ã¬ããŒããããã§åãå ¥ããããããšãæåŸ ããŠããŸãã ãããŸã§ã®ãšãããé³å£°ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã«é¢ãã1ã€ã®ã¬ããŒããã¡ã€ã³ã®Javaã¹ã¬ããã§åãå ¥ããããŸããã AlexaãšGoogle Homeã® 2ã€ã®ãæ°ã«å ¥ãã®åœ¢åŒã®ãããããäœæããŸãã ãããã®æ¡åŒµæ©èœãäœæãããã®éçšã§ããµãŒãããŒãã£æ¡åŒµæ©èœã®èšèšãšçµ±åã®ã³ã³ããã¹ãã§AmazonãšGoogleãäžãã決å®ãæ¯èŒããŸãã
7æã«ã2017幎ã®ããã20 Javaã€ã³ãã«ãšã³ãµãŒãªã¹ãã«åå ããŸããã Developer Advocateã®ãã®ãããªè©äŸ¡ã®ãããã¯ã©ãã»ã©éèŠã§ããïŒ ãªãããªãã¯ããã«å€¢äžã«ãªã£ãã®ã§ããïŒ
æšå¹Žãäž»å¬è ãæåã«ãã®è©äŸ¡ãè¡ããç§ãã¡-ããã«çããªãã£ã人ãã¡-ã¯ããã«ãã人ãã¡ãã²ã©ããããŒã«ããŸããã äºå®ã¯ãè©äŸ¡ã以åã«è©±ãããããã®ç¡æå³ãªæž¬å®åºæºã®ã¿ã«åºã¥ããŠãããšããããšã§ãã ãŠãŒã¶ãŒã¯Kloutãæ¡çšããŸãããããã¯ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã«åºã¥ããŠãœãŒã·ã£ã«ãããã¯ãŒã¯ã®åœ±é¿è©äŸ¡ãæ§ç¯ãããã©ãããã©ãŒã ã§ãã ããããå®éã«ã¯ããã©ãããã©ãŒã ã¯éåžžã«åçŽã§ãããå ã»ã©è¿°ã¹ãããã«ã圱é¿ã枬å®ããã®ã¯äŸç¶ãšããŠå°é£ã§ãã ããããä»å¹Žç§ã¯ããã«çããïŒ ãããŠããã¹ãŠãKloutã¯äžåºŠã«å¿ãžã®åœ±é¿ã枬å®ããããã®æãæ·±å»ã§çå®ãªããŒã«ã§ãïŒ ïŒãã¡ããåè«ã§ããäºçŽ°ãªããšã§ãããçŽ æŽãããããšã§ããïŒ
ãªã©ã¯ã«ã¯æè¿ããã¹ãŠã®äŒéè ãçž®å°ããŸããã 圌ã¯ãããããããã®æå¹æ§ã枬å®ããã®ã«ååãªãéãæã£ãŠããŸãããïŒ
ããããç¡é§ã«æžå°ãããã©ããã®åªããææšã¯ããã®ååãç¥ã£ãŠããŸããã äŒéè ã解éããããšãããã¥ãŒã¹ãèªãã§ãèããããšããªããªãã圌ãã®å°é家ã¯ãŸããŸãã§ããã Oracleã®å ŽåãSimon Ritterã®ãããªæå人ãããŸããããããã§ã¯ãããŸããã§ããã ããããåæžããŠããJavaãäŒç€Ÿã«å®³ã¯ãããŸããã§ããã
ãä»ãJava 9ã®éåžžã«å€ãã®è¯å®çãªåŽé¢ã«ã€ããŠè©±ãããšãã§ããŸããã
ãŸã ããŸã人æ°ããªãJava 9ã宣äŒãã人ã¯ããªããšæããŸãããïŒ
çãã¯2ã€ãããŸãã éçºè ãªã¬ãŒã·ã§ã³ã¯ãæªã補åã宣äŒã§ããŸããã ã9ãã«ãããã®ãæ°ã«å ¥ããªãããšã人ã ãç解ãããªãã誰ã圌ããçŽåŸãããããšã¯ã§ããŸããã 1幎åããªãªãŒã¹ã¯åé¡ä»¥äžã§ããã Oracleã§éçºè ã®æè·è ãšããŠåããå Žåãå°ãªããšãå éšçã«ã¯ãããã®ãœãªã¥ãŒã·ã§ã³ãæ¹å€ããŸãã
ç¶æ³ã¯å°ãå€ãããŸããã ãªã©ã¯ã«ã¯ã³ã³ã»ããã®å€æŽãäœåãªãããã9ã€ã®ããã³ãããå ãã«ããã¢ãžã¥ãŒã«ã®ç©æ¥µçãªããã¢ãŒã·ã§ã³ãæŸæ£ããã³ãã¥ããã£å šäœãJava 10ã«ç§»è¡ããŸãããããã«ãããã9ãã¯ããªãç¡å®³ãªæŽæ°ã«ãªããŸãã ãããã£ãŠããããããããããã¯ãã¹ãŠãå£ãã®ã§æŽæ°ããŸããããšããç¶æ³ããããããªããã¢ããã°ã¬ãŒãã§ããŸã-ããããããã€ãã®ãã·ã¥ã¿ã¯ããããŸãããšããç¶æ³ã«ãªããŸããã ãããŠããã®ç¶æ³ã§ã¯ãOracleã«Developer Relationsããªãããšã¯Javaã«ãšã£ãŠæªãããšã§ãã ã¢ãžã¥ãŒã«æ§ãå®ãå¿ èŠã¯ãããããŸããããæ°ãããªãªãŒã¹ã«ããå©ç¹ãæããã«ããå¿ èŠããããŸããããã¯èª°ã«ãæããã§ã¯ãããŸããã
Baruchã絊æã«Oracleãæã£ãŠãããµããããŸãããã Java 9ã宣äŒããŸããïŒ éçºè ã«æ£ç¢ºã«äŒãããããšã¯äœã§ããïŒ
ã¯ãããã¡ãããJava 9ã®éåžžã«å€ãã®è¯å®çãªåŽé¢ã«ã€ããŠæ¢ã«è©±ãããããšãã§ããŸããæãè°è«ãšæ絶ãåŒãèµ·ãããæ倧ã®æ©èœã¯Jigsawã§ãã 圌ã®ä»¥åã®çãŸãå€ããã¯ãã¹ãŠãå£ãããšãçŽæããŠããŸããããä»ã§ã¯è°é¡ããåé€ãããŸããã Java 8ã§æ©èœããã»ãšãã©ãã¹ãŠã®æ©èœã¯ãã9ãã§ã»ãšãã©å€ãããã«æ©èœããŸãã ãããã£ãŠãä»ã®æ©èœã«ã€ããŠè©±ãããšãã§ããŸãã
ããšãã°ãèšèªã®æ§æã«ã¯æ°èŠæ§ããããŸã-ã€ã³ãã¥ããŒã¿ãŒãããžã§ã¯ã-ããã«ãããæ°ããHttpClientã®ããã«ã10以äžã察象ãšããããã€ãã®ããšãè©Šãããšãã§ããŸãã ã¯ãã5ã8ã®ãããªå·šå€§ãªãªãªãŒã¹ã§ã¯ãªããªããŸãã Java 9ã¯ã7ã®ãããªããããã€ããŒãªå®å®åãªãªãŒã¹ã§ãã ãããããã®äžã«ã¯è©±ãã¹ãããšããããŸã-ãããŠæŽæ°ãæäŸããçç±ããããŸãã
ãã®ãããªé 延ãšé©å¿ã¯ãèšèªã®éçºã«ã©ãã»ã©ã®å®³ãäžããŸããïŒ ãããããªã©ã¯ã«ã¯ã5幎ã®éã«è€æ°åãããé »ç¹ã«æ°ããããŒãžã§ã³ããªãªãŒã¹ããããã«ãéçºãµã€ã¯ã«ãççž®ããããšãèããŠããŸããã
ã¯ããJavaãªãªãŒã¹ãããããã¹ãã«ãããããã¬ã€ã³ãã«ãããã«ã€ããŠã®è°è«ããããŸãã ããããã¹ãããã£ã±ãã«ãªããšåºãŠããŸãã ã€ãŸããç¹å®ã®ãªãªãŒã¹ã§èšç»ãããŠããç¹å®ã®æ©èœã»ããããããŸãã ãã¹ãŠã®æ©èœã®æºåãã§ããããªãªãŒã¹ãããŸã-ãããã¹ããã£ã±ãã«ãªããŸãã ãããããåè»ãã¯ã¹ã±ãžã¥ãŒã«éãã«åºãŠããŸãã誰ã管çããŸãããïŒ ãããŸã§ãJavaãªãªãŒã¹ã¯ãã·ã£ãã«ãã¹ãã§ããã 誰ããã¢ãžã¥ãŒã«ã®æºåãã§ããã®ãåŸ ã£ãŠãããããJava 9ã®ãåºè·ãã¯åžžã«é ããŠããŸããã
Oracleã§ã¯ããªãªãŒã¹æ¥ãå²ãåœãŠãããããã¬ãŒãã³ã°ãã«ç§»è¡ããŠããŸãã ããã«ãããã1ã€ãéããŠããªãªãŒã¹ãè¡ãããå¯èœæ§ãé«ãã倧ããªãªãªãŒã¹ã®åŸã«ããããå粧åãã®ãªãªãŒã¹ãç¶ãå ŽåããããŸãã ã€ãŸããã¢ãžã¥ãŒã«ã®æ¬¡ã®ãã§ãŒãºïŒãã¹ãŠã®ãŠãŒã¶ãŒã«åœ±é¿ãäžãããã®ïŒããããã10ãã«å ¥ããJava 11ã§ã¯æ ¹æ¬çãªå€æŽã¯ã»ãšãã©ãªãã§ãããã æžãæéããããŸããã
ããªãã¯ããããã¹ãã§ããããããšããé»è»ãã§ããïŒ
ãé»è»ãã®æ¹ãæ£ããããã«æããŸãã ãã®ã¢ãããŒãã«ããããããžã§ã¯ããªãŒããŒã®Oracleã®ã¹ãã¬ã¹ãå€§å¹ ã«è»œæžãããŸãã ãããã¹ã®å Žåã圌ãã¯çã£åããæ¥ãã§å質ã«åŠ¥åããªããã°ãªããŸãããããªãªãŒã¹ã«éã«åããããŸãã¯ãããåã³å»¶æãããããšã§æ眪ãšãªããŸãã
Java 8ã¯ãã®åé¡ã«çŽé¢ããŠãããšæããŸãããæ§ããã«èšã£ãŠããå質ããã°ãããã¥ã¡ã³ããèšèšã®æ±ºå®ã®ç¹ã§åé¡ããããŸããã Javaã¯ä»ã®å€ãã®èšèªãããå®å®ããŠããŸãïŒå®å®ããJVMã§ãã£ãŠãïŒããJavaã¯é©ãã»ã©Javaæšæºã«ãã£ãŠæªå å·¥ã§ããã ãããããããããã¹ãåããããšãããã¬ãã·ã£ãŒãçç±ã§ããã éåžžã®ãªãªãŒã¹ã®å ŽåïŒãã®æéããªãå Žåã¯ã次ã®ãªãªãŒã¹ã§ãªãªãŒã¹ãããŸãïŒããã®åé¡ã¯ã»ãšãã©åé¿ãããŸãã
ãŸãã¯ãJavaã¯ç¶ç¶çãªé ä¿¡ããŒã¹ã§é²åã§ããŸããïŒ
ã©ã®ãã©ãããã©ãŒã ãæ±ã£ãŠããããå¿ããŠã¯ãªããªãã®ã§ãç§ã¯éåžžã«çã£ãŠããŸãã 圌女ã¯å€§äººã§ãã å€ãã®ä¿å®çãªäŒæ¥ã¯ã©ã€ã¢ã³ãã¯ããã«äŸåããŠããŸãã ã¢ããã°ã¬ãŒãã¯é«éã§ã¯ãªããæ°ããããŒãžã§ã³ã絶ãããªãªãŒã¹ãããŠãããããããçšåºŠã®ãã¬ãã·ã£ãŒãããããŸãã ã3ã€ã®ããŒãžã§ã³ããã§ã«ãªãªãŒã¹ãããŠããŸããããŸã æŽæ°ãããŠããŸããïŒãããã«ã¯å¯Ÿå¿ããŠããŸããã ãããã£ãŠãéçºè åãã®ãã«ãã®ç¶ç¶çãªé ä¿¡ãå¯èœã§ãã ãããã1幎ã«1åãããé »ç¹ã«é·æãµããŒãããŒãžã§ã³ãã¢ããããŒãããããšã¯çã«ããªã£ãŠãããšã¯æããŸããã
ãªãªãŒã¹ã®é »åºŠã«ã€ããŠè©±ããŸããã ä»ãå質ã«ã€ããŠè©±ããŸãããã Javaã«ã¯äœãæ¬ ããŠããŸããïŒ æ¬¡ã®ã¡ãžã£ãŒãªãªãŒã¹ã§äœãè¿œå ããŸããïŒ
ãã¡ãããããã«ã€ããŠã¯ééãªãèªãããšãã§ããŸãã Javaã«ã¯ãæŽå²çãŸãã¯ãã®ããã«èããããŠãããããJavaã«ã¯ãªãå€ãã®èšèªæ©èœããããŸãã å ·äœçã«ç§ãåã°ããäœãã«ã€ããŠè©±ããšããããã¯ããããã£ãæ¶å»ã®ãªããžã§ããªãã¯ããããŠããããåæšè«ã§ãã çµã¿èŸŒã¿ã®äžå€æ§ãããããéåžžã«è¯ããªãã·ã§ã³ã§ãã ã€ãŸããJavaã®å€èŠ³ãç¥ãããå Žåã¯ãGroovyãã芧ãã ããã
ãKotlinã¯äžçãåŸæããããã®è¯ãåºçºç¹ã§ãã 圌女ã¯JetBrainsãšåŒã°ããŠããŸããã
Kotlinã¯ã©ãã§ããïŒ ãªã誰ãã圌ã«ã€ããŠä»è©±ããŠããã®ã§ããïŒ
ãŸãã人ã ãGoogle I / Oã§ããªãã«ã€ããŠè©±ããšããããã¯æããã«ããªãã®äººæ°ã«è²¢ç®ããŸãã ããã«ãKotlinã¯åªããèšèªã§ãã ä»ã®èšèªããå€ãã®ãã®ãåããæ£ããå®è£ ãããŠããŸãã ãã¡ããã誰ããç¥ã£ãŠããããã«ãèšèªã®äººæ°ã¯èè ã®ã²ãã«äŸåããŠããŸãïŒã²ãããªã§ãïŒã ããããçå£ã«ãããã¯æé²ãšæ®åã®å¯èœæ§ã«ãäŸåããŠããŸãã 誰ããOOPã¢ãã«ãšèŠãªããŠããSmalltalkã®äžã«ã¯ãå®å šã«åã£ãçç±ã§é¢éžããªãã£ããã®ããããŸãã
ã³ããªã³ã¯ä»ãäžçãåŸæããããã®è¯ãåºçºç¹ãæã£ãŠããŸãã ããã¯JetBrainsãšåŒã°ããIntelliJ IDEAã®ãããã§éçºè ã®éã§éåžžã«äººæ°ããããå°æ¬ãããŠããŸãã JetBrainsã«ã€ããŠèãããšããåªããæè¡ã¬ãã«ã§äœãããã¯ãŒã«ãªè£œåãæ³åããŸãã ããã«ã圌ãã®ããŒã ã¯ãå©çãè¿œæ±ãã代ããã«ãé©åãšæãããããšãè¡ããŸãïŒå°ãªããšã圌ãã¯ããèããŠã»ããïŒã ããã¯å€¢ã®äŒç€Ÿã§ãã
ãã®ãããªä¿¡é Œã®éçã¯ãèšèªèªäœã«è¡šç€ºãããŸãã ããããKotlinã¯JetBrainsã§ãã£ã-ããã¯äœãè¯ãããšãæå³ããïŒã èŠãŠã¿ããšãããã¯æ¬åœã«è¯ãããšã§ããããšãããããŸããã ããã¯ãèªå€§åºåã®æ³¢ãçã¿åºããGoogle I / Oã®åŸãéçºè ã«æ°ã¥ãããŸããã ããã«ãKotlinã§Androidåãã«äœæããŠããªãå Žåã¯ãäœããã®Java 6åãã«ã³ãŒãã£ã³ã°ããŠããããšã«ãªããŸããçã¿ãšèŠçã
ãªãKotlinã¯ãããªã«è¯ãã®ã§ããïŒ Javaã«å¯Ÿããå©ç¹ã¯äœã§ããïŒ
Kotlinã«ã¯ãä»ã®èšèªã®å€ãã®åªããæ©èœããããŸãã å®åæã®æ°ãæžãããã䟿å©ã§æ£ããæ§æã ããšãã°ãPOJOã¯ããå°ãªãã³ãŒãã§äœæã§ããŸãã ã²ãã¿ãŒãã»ãã¿ãŒã¯å¿ èŠãããŸããã ããçš®ã®æ£ããGroovyïŒ
æãæ·±å»ãªæ©èœã®1ã€ã¯ããã«ã®å®å šæ§ã§ãã ããã¯ãããšãã°Groovyãäžåãå©ç¹ã§ãã äžè¬ã«ããã«å€å¯èœæ§ã«é¢é£ãããã¹ãŠã®ããšãèªåã§å®è¡ããæ¹æ³ã¯ã¯ããã«å°ãªãã§ãã è³¢ã人ã«ãã6幎éã®èšèšã¯ç¡é§ã§ã¯ãããŸããã
ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ã®ãããªãã¡ãã·ã§ããã«ãªãã®ã¯ããã«ãããŸããïŒ
ãããªãŒãã£ã³ã°ã®ç¬¬138å·ã§ã¯ãKotlinã®ãžã§ããã©ã€ãã©ãªãäœæããŠããRoma Elizarovãšè©±ãããŸããã ãã®èšèªã¯ãRXã®ãããªã©ã€ãã©ãªããã€ãã£ãã«æ¥ç¶ããã®ã«éåžžã«ç°¡åã§äŸ¿å©ã«ãªãããã«äœæãããŠããŸãã æ¥ç¶ãããšããã«æ§æã«éåžžã«èª¿åããŠé©åãããããããã®èšèªã§å®çŸ©ãããŠãããã®ããã«äœæ¥ã§ããŸãã
ä»åœŒã«æããã¹ãã§ããïŒ
æ°ããèšèªãåŠã¶ããšã¯åžžã«äŸ¡å€ããããŸããããã¯ããã§ã«ã³ãŒãã£ã³ã°ããŠãããã®ã«é¢ä¿ãªããèŠéãåºããããè¯ãããã°ã©ããŒã«ãªãããã®çŽ æŽãããæ©äŒã§ãã ä»åŸæ°å幎ã§äœãå€ãããªãäŒçµ±çãªéè¡ã§åããŠãããšããŠããKotlinã®åŠç¿ã¯å°éèœåéçºã®ããã ãã§ãã ããã¯éçºè ãšããŠã®ããªãã®ä»äºã§ãã
ãããããŸãããã£ãªã¢ã®æ©äŒãæ¢ããŠãããšããã³ããªã³ã¯é¢çœãè³ãã§ãã ããã¯ã圌女ããæ®åœ±ãããããªãã®æ¬¡ã®ä»äºãã³ããªã³ã§ãããšãã100ïŒ ã®ãã£ã³ã¹ãæå³ããŸããã äžæ¹ãã¿ã¬ããæããŠãããããã«ããã®è©Šã¿ã¯æ·åã§ã¯ãããŸããïŒ -圌ããã·ã¥ãŒããããå Žåã¯ã©ããªããŸããïŒ
Kotlinã¯Androidã§è¯å¥œãªã¹ã¿ãŒããåããŸãããããšã³ã¿ãŒãã©ã€ãºã»ã°ã¡ã³ãã§Javaãšã©ãã ã競äºã§ããŸããïŒ
ãããŸã§ãJavaéã®ã®ã£ããã¯å·šå€§ã§ãã è¿ãå°æ¥ããããã¯ãããªããªããŸãã 察象èªè ã¯å°ãéãããã§ãã Javaã®å®å®æ§ãšJavaã®èåŸã«ãã巚倧ãªäŒæ¥ãæããéè¡ãæ¿åºæ©é¢ã«ã€ããŠè©±ããŸããã äžéšã®ããã°ã©ããŒãã³ãŒãã®äœæã«æ £ããŠãããšããçç±ã ãã§ãJavaãä»æ¥Kotlinã«å€æŽããŸããã ããã¯ãJavaã«15幎ããã£ãéåžžã«é·ãããã»ã¹ã§ãã ãã®ã»ã°ã¡ã³ãã®Javaãå€æŽããã«ã¯ãå¥ã®èšèªã«5å以äžå¿ èŠã§ãã å®å®æ§ããããªãªãŒã¹ã®å質ãšéãã¯ããã«éèŠã§ãããå€æŽãè¡ããããããããã€ãããã¯ãªäŒæ¥ãã¹ã¿ãŒãã¢ããã¯ãKotlinã®ãããªèšèªãã¯ããã«éãèªèããŸãã
éè¡ã¯ãJavaãã©ãã«ãè¡ããªãããšãé·ãéãµããŒããããŠããããšãJavaéçºè ããã€ã§ãèŠã€ããããšããããŠæ¬¡ã®ããŒãžã§ã³ã¯åŸæ¹äºææ§ãããããšã確信ããŠããŸãã 圌ãã¯åœŒãã®ããŒãºãç解ããŠãããµãã©ã€ã€ãŒãšååããŠããŸãã
ããç·ãæ¯èŠªã«ã€ã³ã¿ãã¥ãŒããæçš¿ãæãåºããŸããã 圌女ã¯éå»20幎éãéè¡ã§COBOLéçºè ãšããŠåããŠããŸããã çŸåšããã®ãããªéçºè ã¯éåžžã«é«äŸ¡ã§ãããéè¡ã¯24æé幎äžç¡äŒã§çšŒåããå¿ èŠããããããä»ã®ãã®ã«åãæ¿ããäœè£ã¯ãããŸããã
å®éããµãŒããŒãå€æŽããæéããªãããã§ã¯ãªããåæ§ç¯ããäœè£ã¯ãããŸããã ããã¯çå®ã§ã¯ãããŸããã äœçŸäžè¡ãã®ã³ãŒããCOBOLã§èšè¿°ãããŠããããã圌ãã¯ãããè²·ãäœè£ããããŸããã ããããã¹ãŠã®ã·ã¹ãã ãä»ã®èšèªã§æžãçŽãããããå¹³åçãªéçºè ãåãåããããå€ãã®COBOLéçºè ã«æ¯æãæ¹ãã¯ããã«å®äŸ¡ã§ãã
ãããŠãŸã 圌ãã¯æžãçŽããŸãã 2017幎ã®éè¡ã·ã¹ãã ã«ã¯ãCOBOLãããã¯ããã«å€ãã®JavaããããšæããŸãã ã¯ãããããã¯COBOLã³ãŒãã®äžŠè¡ãµããŒããè¡ãé·æãããžã§ã¯ãã§ãããæçµçã«ã¯å€æŽãçºçããŸãã ãããŠ50幎åŸãJavaã¯æ°ããCOBOLã«ãªããŸãã ããã¯æããã§ãããé¿ãããããããããèªç¶ãªããšã§ãã