ã³ãããŠã€ã«ã¹ã®ãã³ãããã¯ãšããã«äŒŽãçµæžå±æ©ã«ããããããã2020 幎ã«ã¯ããã€ãã®è¯ãããšãèµ·ãããŸãããããšãã°ãJava ã®æ°ããããŒãžã§ã³ããªãªãŒã¹ãããŸãããããã«å ããŠãJava ã¯äŸç¶ãšããŠäžçã§æã人æ°ã®ããéçºèšèªã§ãã2020 幎ãç·æ¬ãã1 幎ãéããŠããã°ã©ãã³ã°èšèªã«äœãèµ·ãã£ãã®ããæãåºããŠã¿ãŸãããã
Java ã¢ããããŒã: ããŒãžã§ã³ 14 ããã³ 15
æ¥å¹Žã«ã¯ 2 ã€ã® Java ã¢ããããŒã (14 ãš 15) ããªãªãŒã¹ãããŸãããããŒãžã§ã³ 14 ã®é©æ°ã«ã¯ãã¬ã³ãŒã ããŒã¯ãŒãã®å®éšçãµããŒããinstanceof æŒç®åã§ã®ãã¿ãŒã³ ãããã³ã°ã®ãµããŒãããããŠãŒã¶ãŒ ãã¬ã³ããªãŒãª NullPointerExceptionsãããã¹ã ãããã¯ã®æ¡åŒµãã¬ãã¥ãŒãããã³æŽæ°ããã switch ã¹ããŒãã¡ã³ãã®ããã©ã«ãã®ãµããŒããOracle ã® Java ãã©ãããã©ãŒã ã°ã«ãŒãæ
åœãã€ã¹ãã¬ãžãã³ãã§ãã George Saab æ°ã¯ããJava 14 ã¯ã6 ãæã®ãªãªãŒã¹ ãµã€ã¯ã«ã®å©ç¹ãããã«èšŒæããŠããŸããéçºè
ã¯ãä»ã®æ¹æ³ã§ã¯äœå¹ŽãåŸ
ããªããã°ãªããªãã£ãæ©èœã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãããšè¿°ã¹ãŠããŸããSaab æ°ã«ãããšãJDK 14 ã«ã¯éçºè
ã®çç£æ§ãåäžãããæ©èœåŒ·åãå«ãŸããŠããã ãã§ãªãããã®ãªãªãŒã¹ã«ã¯ Project Panama (匷åãããå€éšã¡ã¢ãª ã¢ã¯ã»ã¹ ã€ã³ã¿ãŒãã§ã€ã¹) ãªã©ã®ãããžã§ã¯ãã®éèŠãªã³ã³ãã³ãã Project Amber ã®ãããªãæ©èœåŒ·åãåããŠå«ãŸããŠããŸã (ãã¿ãŒã³ ãããã³ã°ãšã¬ã³ãŒã)ãJava 14 ã®äž»èŠãªé©æ°ã® 1 ã€ã¯ã¬ã³ãŒãã§ãã
æ¬è³ªçã«ãç§ãã¡ã話ããŠããã®ã¯ããããžã§ã¯ã ãŽã¡ã«ãã©
äžã«éçºãããæ°ããã¿ã€ãã§ããã¬ã³ãŒãã¯åæåã«äŒŒãŠãããã³ãŒããç°¡çŽ åã§ããŸããåºæ¬çã«ããããã¯ç¶æ
ã¯ãããåäœãæããªãã¯ã©ã¹ã眮ãæããŸããJDK 14 ã§ã¯ãã€ã³ãã¥ããŒãå€éšã¡ã¢ãª ã¢ã¯ã»ã¹ API ã«æ¥ç¶ã§ããŸããããã«ãããJava ã¢ããªã±ãŒã·ã§ã³ã¯ãæ°ãã MemorySegmentãMemoryAddressãããã³ MemoryLayout æœè±¡åã䜿çšããŠãJava ä»®æ³ãã·ã³ã®ããŒãå€ã®ã¡ã¢ãªé åã«å®å
šãã€å¹ççã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸããããŒãžã§ã³ 15ã«ã¯ããšãã¯ãŒãºæ²ç·ããžã¿ã«çœ²åã¢ã«ãŽãªãºã ãé ãã¯ã©ã¹ãããã³ä»¥åã«ãã¬ãã¥ãŒãããŠããæ©èœã®æçµããŒãžã§ã³ (ããã¹ã ãããã¯ã ZGC ã¬ããŒãž ã³ã¬ã¯ã¿ãŒ) ãªã©ã®é©æ°çãªæ©èœãå«ãŸããŠããŸã
ã
å®éšçãªæ©èœãšããŠãJava 15 ã§ã¯ã·ãŒã«ãããã¯ã©ã¹ãåããŠè¿œå ãããinstanceof æŒç®åã®ã¬ã³ãŒããšãã¿ãŒã³ ãããã³ã°ãåã³æå¹ã«ãªããŸãããèŠçŽãããšã6 ãæã®æŽæ°ãµã€ã¯ã«ã®ãããã§ãJava ã¯é²åããããšãã§ããä»ã®ããã°ã©ãã³ã°èšèªã«é
ãããšãããšã¯ãããŸããã
Java ãã©ã³ãã³ã°ã«ã©ã³ã¯ã€ã³: äŸç¶ãšããŠäººæ°ããã
JetBrains ã®èª¿æ»ã«ãããšã Java ã¯äŸç¶ãšããŠäžçã§
æã人æ°ã®ããäž»èŠèšèªã§ãã
çŽ 520 äžäººã®éçºè
ã«ãã£ãŠäœ¿çšãããŠããŸãã
ã Java Turns 25
ããšããã¿ã€ãã«ã® IDC ã¬ããŒããåæ§ã«æ¥œèŠ³çã§ããäžçäžã§ 900 äžäººä»¥äžã®éçºè
ã Java ã䜿çšããŠããŸãããçŸåšãäžçäžã§ 510 åå°ã® Java ä»®æ³ãã·ã³ (JVM) ãå°å
¥ãããç©æ¥µçã«äœ¿çšãããŠãããåæããã€ã¯ããµãŒãã¹ãããŒã¿ç®¡çããœãŒã·ã£ã« ãµãŒãã¹ãããã° ããŒã¿ãDevOpsãã¢ãã€ã« ã¢ããªãç¶ç¶çéçºãªã©ã®ææ°ã®ãšã³ã¿ãŒãã©ã€ãº ã¢ããªã±ãŒã·ã§ã³ã®éçºã« Java ãæšå¥šãããŠããŸããããŒã«ããã£ãããããã§ãããšJava ã°ããŒãã« ããŒã±ãã£ã³ã°æ
åœå¯ç€Ÿé·ã® Manish Gupta æ°
ã¯èšããŸãã
ããã°ã©ãã³ã°èšèªã®äººæ°ã枬å®ããTIOBE
ã€ã³ããã¯ã¹ã«ãããšã2020 幎 12 æã« Java ã¯äžç㧠2 çªç®ã«äººæ°ã®ããããã°ã©ãã³ã°èšèªã«ãªããŸãããè©äŸ¡ããŸãšããŠãã人ãã¡ã¯ãéçšäž»ã®é㧠Java ã人æ°ãããã®ã¯ããã®èšèªã§æžãããã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹ãå€æ°ããããã ãšèª¬æããŠããŸããæ±äººãµã€ã Dice.com ã®ã©ã³ãã³ã°ã§ã¯ã
Java ã 2 äœã«ã©ã³ã¯ãã
ãSQL ããããäžåã£ãã ãã§ãããStack Overflow éçºè
ã³ãã¥ããã£ã®å¹Žæ¬¡èª¿æ»ã®çµæãå¿ããªãã§ãã ããã2020
幎ãJava ã¯
æã人æ°ã®ããéçºèšèªã®äžã§ 5 äœã«ã©ã³ã¯ãããŸãããã芧ã®ãšããã2020 幎㫠Java ã®äººæ°çã¯äžæããŸããã§ããããäžèœããããšããããŸããã§ããã
Java ãã©ãã§äœã®ããã«äœ¿çšãããã
JetBrains ã«ãããšãçŸåšã¢ãžã¢ã«ã¯ Java éçºè
ã®æ°ãæãå€ããçŽ 250 äžäººã®ããã°ã©ããŒãäž»èšèªãšã㊠Java ã䜿çšããŠããŸãããšããããJava ã¯äžåœãšéåœã§äœ¿çšãããŠãããããããéçºè
ã®çŽ 51% ãš 50% ãå ããŠããŸããJava ã¯ãã€ã³ãããã€ããã¹ãã€ã³ããã©ãžã«ã§åºã䜿çšãããŠããŸããJetBrains ã®èª¿æ»ã§ã¯ããªã¹ãã®äžäœ 6 ãåœã§ Java ã®äººæ°ãé«ãŸã£ãŠããã®ã¯ãJava ã®ç¡æ䜿çšãæ¿åºã®ãµããŒãããªãŒãã³ãœãŒã¹ã«ãããã®ã§ããããšãæããã«ãªããŸãã
ã
éçºè
ã®éã§ã¯ãJava 8 ãä»ã§ãæãæãããŠããããŒãžã§ã³ã§ããJava éçºè
ã® 4 åã® 3 ã Java ã奜ãã§ããŸãããšã¯ãããJava 11 ã®äººæ°ã¯é«ãŸã£ãŠããŸããå幎æ¯ã§ããã®ããŒãžã§ã³ã®ã·ã§ã¢ã¯ 10% å¢å ããŸãããæ¯èŒçæ°ãã Java 12 ãš Java 13 ãæ¥éã«ãŠãŒã¶ãŒãç²åŸããŠããããããã 10% 以äžã䜿çšããŠããŸããSpring Boot 㯠Java ãã¬ãŒã ã¯ãŒã¯ã®ãªãŒããŒã§ãããéçºè
ã® 61% ã«éžã°ããŠããŸãã2 äœãš 3 äœã¯ããããã Spring MVC (42%) ãš JSF (6%) ã§ããã2020 幎ã«ãJava 㯠Web éçºã§æãäžè¬çã«äœ¿çšãããèšèªã§ãã (36%)ã2 äœã¯ãŠãŒãã£ãªãã£ã®éçº (25%)ã3 äœã¯ã·ã¹ãã ãœãããŠã§ã¢éçº (19%) ã§ãã
ãã¥ãŒã¹ã§èŠã Java
2020 幎㫠Java ã§ä»ã«äœãèµ·ãã£ãã§ãããã? Java éçºã«é¢ããéèŠãªãã¥ãŒã¹ãå³éžããŠãŸãšããŸããã
Java ã®ç緎床ã¯ããªã¢ãŒãäœæ¥ã§æãéèŠã®é«ã 3 ã€ã®æè¡ã¹ãã«ã® 1 ã€ã«ãªããŸããã
ç±³åœã«æ¬æ ã眮ãæ±äººãµãŒãã¹ã® Dice ã¯ãåšå®
å€åã®åŸæ¥å¡ãæ±ããéçšäž»ã®éã§æãéèŠã®é«ãæè¡ã¹ãã«ãããã°ã©ãã³ã°èšèªãããŒã«ã®ãªã¹ã
ãäœæããŸãã
ãéå» 2 ãæéã§ã¯ãSQL èšèªãäž»å°æš©ãæ¡ãããããžã§ã¯ã管çãš Java èšèªãããã«ç¶ããŸããããã®ç 究ã®èè
ãã¯ããã³ãããã¯äžã«æãç©æ¥µçã«ãªã¢ãŒãã¯ãŒã¯ãåãå
¥ããã®ã¯å»çéšéãšæè²éšéã®çµç¹ã ãšææããã
Snowflake ã¯ãJava éçºçšã®æ°ãããã¬ãŒã ã¯ãŒã¯ããªãªãŒã¹ããŸããã
ã¯ã©ãŠã ã¹ãã¬ãŒãžããã³ããŒã¿ç®¡çãããã€ããŒã§ãã Snowflake ã¯ãæ°ãã Snowpark éçºç°å¢ã®ãã¹ã ããŒãžã§ã³ãçºè¡šããŸãããJavaãScalaãPython ãªã©ã®è€æ°ã®ããã°ã©ãã³ã°èšèªããµããŒãããŠããŸããSnowpark ã«ã¯ãã³ãŒãããŒã¹ãšã³ã¢ Snowflake ãšã³ãžã³éã®å¯Ÿè©±ãæé©åããäžé£ã® API ãå«ãŸããŠããŸããIDE ã¯ãSnowflake Data Cloud ã®ãµãŒããŒã¬ã¹ ã¿ã¹ã¯ã®æ°ãããµããŒãã«ãã£ãŠè£å®ãããŸãã
Red Hat ã¯ãã¯ã©ãŠãçšã« Quarkus Java ãã¬ãŒã ã¯ãŒã¯ãå°å
¥ããŸããã
Quarkus ã®äœæè
ã«ãããšãQuarkus ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãKubernetes ãã©ãããã©ãŒã äžã§ Java ã䜿çšã§ããããã«ãªããåŸæ¥ã® Java ã¢ããªã±ãŒã·ã§ã³ãšã¯ã©ãŠãããŒã¹ã®ç°å¢ã®éã®ã®ã£ãããåããããšãã§ããŸããQuarkus ãã©ã³ã¿ã€ã ç°å¢ãšããŠäœ¿çšãããšãJava ãå¹ççã«äœ¿çšããŠãã¯ã©ãŠãæåã¢ããªã±ãŒã·ã§ã³ã®éçºæãããã€ã¯ããµãŒãã¹ãã³ã³ãããŒããµãŒããŒã¬ã¹ ã³ã³ãã¥ãŒãã£ã³ã°ãªã©ã®æ°ãããœãããŠã§ã¢ ã¢ãã«ã®å®è£
æã«ç·æ¥ã®åé¡ã解決ã§ããŸãã
GraalVM ä»®æ³ãã·ã³ãããŒãžã§ã³ 20.3 ã«æŽæ°ãããŸããã
Oracle ã¯ãHotSpot/OpenJDK ã«åºã¥ã Java ä»®æ³ãã·ã³ããã³ JDK ã§ãã GraalVM ã®ä»å¹ŽæåŸã®ãªãªãŒã¹ãçºè¡ããŸãããããã¯ãGraalVM ã®æåã®é·æãµããŒã (LTS) ãªãªãŒã¹ã§ããGraalVM 20.3 ã«ãã£ãŠå°å
¥ãããæ¹åã«ã¯ã次ã®æ³šç®ãã¹ãæŽæ°ãå«ãŸããŠããŸããã³ã³ãã€ã©ã®ãã¥ãŒãªã¹ãã£ãã¯ãæ¹åãããããã©ãŒãã³ã¹ã 40% åäžããŸãããæ°ããå²ãåœãŠãããé
åãåæåããããã®ã³ãŒãã®çæãæ¹åãããŸãããã³ãŒãéè€ã®æé©åãæ¹åãããŸãã (GraalVM Enterprise ããŒãžã§ã³)ãã»ããããããã® 1 幎 Java ã«èµ·ãã£ãããšã§ãã2020 幎㫠Java ã³ãã¥ããã£ã«ãšã£ãŠæãéèŠãªã€ãã³ãã¯äœã ã£ããšæããŸãã?