åºãæ¯å¹Žãæ°ããããã°ã©ã èšèªãåŠãã§ãŸããïŒ
javaã¢ããã³ãã»ã«ã¬ã³ããŒã®å ŽããåãããŠã®ãããšã ã®ãæéã§ããJavaã¯ãæ°å¹Žåã«Androidæ¡ä»¶ã§æžããããšããããŸããä»ã©ãã®IDEã®è£å®ã¯å倧ã ãã
仿¥ã¯ãã¿ããªå€§å¥œããã©ã®ããã°ã©ã èšèªãåŠã¶ã¹ãããšããã話ã§ãããã ãã¢ãã«ãïŒå€§äººïŒçã®ã
ããŠããŠããã£ãããªå¹Žæ°ãäœãããã®èšèªã§ã³ãŒããæžããŠããçãããåœç¶ã®ããšãJavaã¯åŠãã ããšãããä»äºã§ãæžããããšãããããšããã倧æµJavaããæžãããšãã£ãæ¹ãå€ãã®ã§ã¯ãªãããšæãããŸãããããªçããã¯ãã©ããããã§èšãããŠããããã«ãæ¯å¹Žæ°ããèšèªãåŠãã§ãŸããïŒ
åã¯æ¯å¹Žãäžéå端ã«åŠãã§ããŸãã
ãããããã¶ããã§ãããå€ãã®çããã«ãšã£ãŠãå¹Žã®æ°ã»ã©ã«åŠã¶äŸ¡å€ã®ããããã°ã©ã èšèªã£ãŠãªãã®ã§ã¯ããšæããŸããç¹ã«ããã幎ãããã£ããã®å ŽåãåŠã¶äŸ¡å€ããããããªããã°ã©ã èšèªã®æ°ã£ãŠãå¹Žã®æ°ã®åå以äžãªã®ã§ã¯ãšæãããŸãã
JavaãåŠãã ã®ã¯ïŒïŒå¹ŽåïŒJDK1.0ã®åºã幎ïŒã§ããç§ã¯ããããŸã§ãããã€ã®èšèªãåŠãã ã®ã ãããïŒ
ç§ã®å Žåãäžå¿ã³ãŒããæžãããã®ã§ååãèŠããŠãããã®ãåæããŠã¿ããš:
>>> A="Basic,Z80,6809,C,C++,Object-Pascal,Java,Ruby,Perl,Scala,R,Go,Haskel,F#,Kotlin,Swift,Objective-C,Groovy,Python,Dart,Nim,Elm,Julia".split(",")
>>> len(A)
23
ãšãªããèŠããŠãããã®ã ãã ãšïŒïŒãããšæ°åã¯ããã¯ããªã®ã§ãå¹Žã®æ°ã®ååã¯è¶ ããŠããããªãi386ã®ã¢ã»ã³ãã©ã¯æ«æããŸããããããJavaScriptãæžããŠããã®ã ã£ããã
ããŠãããã°ã©ãã³ã°ã¹ã¯ãŒã«ã®SEOãå¹ããŠãæšä»ããæåã«åŠã¶ã¹ãããã°ã©ãã³ã°èšèªãã®è©±ã¯ãããã§ãç®ã«ããã®ã ããã人çæåŸã«åŠã¶ã¹ãããã°ã©ã èšèªãã®è©±ã¯ããŸãç®ã«ããªãïŒãã±é²æ¢ãšãã£ãæèã§ç®ã«ããäºã¯ãããïŒã
ãšããããšã§ã誰ããæžããŠã¿ãã¹ããªæ°ãããã人çæåŸã«åŠã¶ã¹ãããã°ã©ã èšèªããç§ã®å ŽåãæžããŠããã
æã ã¯ãé·æçã«ã¯ã¿ãªæ»ãã§ããïŒã±ã€ã³ãºïŒããšããããšã§ãæ°åããã°ã©ã èšèªãåŠãã ãããã®æ¹ã«ãåèã«ãªãããïŒ...ããªãïŒïŒã
人çåŸåãšãæåŸãšãèšããšã幎éçµæžåŠã£ãœããŒãã§ãèµ€ã¡ããã®å€æ§æ§ãããè人ã®å€æ§æ§ã®ã»ããã¯ããã«å€§ããããšãèšãããšãèããããšãæãåºãããã倧人ã®äºæ ãæ±ãããããŠããçããã®äººçã¯ããããã ãããããã人çæåŸã«åŠã¶ã¹ãããã°ã©ã èšèªãã¯ãã¶ã人ããããã
ã人çæåŸã«åŠã¶ã¹ãããã°ã©ã èšèªããç§ã®å Žåãç¡çããäžè¡ã§ã
- ç§ã¯èåŸã«ããšæ°åäžåã¯çšŒãå¿ èŠãããããæéå䟡ãããŸãèœãšãããã¯ãªãã
- ïŒïŒæ³ãè¶ ããŠãæéå䟡ãè¯ããããªã®ã¯ããããããæ°äººããã°ã©ãã³ã°æè²ã®å Žã
- ãšãªããšJavaãªã®ã ããJavaã¯èçŒã«èŸãããªã®ã§ãã»ãŒäºæã§ãããGroovy3.0ãã¡ãããšäººçæåŸã«åŠã¶ããã°ã©ã èšèªãšãããã
ãããŸã§ã2019å¹Žæ«æç¹ã§ã®èãããã
ïŒä»èšïŒç涯絊äžïŒååã¯ã©ãã«è¿œãã€ããããããã«ãããäžèšèªãåŠã¶ã
ããŠãç§ã¯ãã³ãŒããæžããŠãããªãã«çšŒãã§ããããªãã«æè³ãããŠãèåŸãè¿ãããã
ããã«ã¯å®å¹ŽãŸã§åããåŸã«æ°åäžåå¿
èŠãšãªãã
ãšããããšã§ã瀟äŒäººãšããŠã³ãŒããæžããšãã ããããããããã皌ãããã®ãªã®ã ãããïŒãšãã£ããããã®ç®æ®µãå°ãæžããŠãããã
å°ãåèã«ãªãè³æã以äžã®ãçæ¶¯çµŠæïœ¢æ±äº¬éœããã500ç€Ÿïœ£ææ°ã©ã³ãã³ã°ãã ã
https://toyokeizai.net/articles/-/313934?page=5
ãããã䞊ã¶ãååã¯ç¥ã£ãŠããã§ãããäŒæ¥ã®äžã§æ³šç®ããŠããã ãããã®ã¯ãçæ¶¯çµŠæãžã£ã¹ãïŒååãšæšå®ãããŠããïŒ©ïŒŽäŒæ¥ã ããã©ãã©ãªãããã®ãµã€ããŒãšãŒãžã§ã³ããè±èªå
¬çšèªåããã¿ã«ãããããšãå€ã楜倩ãšãã£ããããã
ããããäŒæ¥ã«ä»®ã«æ°åããå®å¹ŽãŸã§å€ãäžãããããã§æ£ç€Ÿå¡ãšããŠã®çµŠäžã§ïŒååããããããšïŒ...ãããªäººã¯ããããå°æ°ã ãããïŒãããªãŒã©ã³ã¹ãšã³ãžãã¢ã§æç®ãããšããã®1+1/3åã§ããïŒååãçæ¶¯ã§çšŒããã°ããããšãã£ããšãããªã®ã ããã
ç§ã¯ããããæ°åã§å°±è·ããŠãªãããéäžã§ãã©ãã¯ãªè·å Žã§å£ãããããŠããã®ã§ãåŸå远ãäžããŠãæ£ç€Ÿå¡æç®ã§2.5ååããããããããªãèšç®ãšãªããããªãã¡ãåŸãæ°åäžåãã»ãããšããã
ãªãã人çæåŸã«åŠã¶ã®ã¯ãèšèªXãã§ã¯ãªãã®ãïŒ
人çæåŸã«åŠã¶ã¹ãã¯rustã§ã¯ïŒ
ç§ã¯ç€ŸäŒäººäººçãããããscalaãæžãç¶ããŠçµããããšãšãªãã
Scalaã®ãããªJVMèšèªãåŠãã§ãããšãæãšããŠãã€ãã£ãã³ã³ãã€ã«ã§ããèšèªãããããŸãããªãã
ç¹ã«çŸä»£é¢šãªrustã¯ããªãããã£ãããããã
...ã ããäžåãã®èšèªã§ããrustãå®å¹ŽåŸã®ãã£ãããã¬ãªã¬ãªæ¥åã§æžãã®ã¯ãäœãéãæ°ãããã
ïŒãã¡ããããããªãã£ããããããã«ãã³ãããïŒ
ãšããããšã§ãç§ã®å Žåã幎霢äžã®çç±ã§åŽäžã
ããè¥ã人ã¯rustã¡ãããšãã£ãŠãããšçšŒãããšæããïœ
人çæåŸã«åŠã¶ã¹ãã¯elmã§ã¯ïŒ
rustãšã¯çéãšèšãããç«ã¡äœçœ®ã®ããã³ããšã³ãçéèšèªelmã«ã¯ããªãæ¹ãããã
ïŒelmã£ãŠäœãšãã人ã¯ãæåã«ãããèªãããã«ããããïŒ
webããã³ããšã³ãã«ç¹åããåãèšè¿°ã¯ç°¡æœããããªäžæ¹ã§èªç¶ã«åå®å
šã«æžããã
elmãªãèªç¥çãè¿«ããã幎ã«ãªã£ãŠãã»ãã¥ãªãã£å€§äžå€«ãªã³ãŒãããããããªæ°ãããŠãçŽ æŽãããã
ãã ãæããããšã«ãã«åŒ±ãç§ã®å Žåãå®å¹ŽåŸã«elmã§æ°åäžåçšŒãæªæ¥ãèŠããªãã£ãã
ããã³ããšã³ãããã®è¥ãæ¹ã¯ãelmããã¡ããšãã£ãŠãããšééããªã幞ãã«ãªãããšæãã
人çæåŸã«åŠã¶ã¹ãã¯...ã§ã¯ïŒ
ãã®ä»flutterã§ååšæãåãæ»ããdartãããã€ã¯ããµãŒãã¹ã®å®åèšèªãšãªã£ãGoãªã©ãå®åã§äœ¿ããããã«ããããšãã£ããã®ãããããããã
è人åãã§ã¯ãªãæ°ãããã®ã§ããã£ããåŽäžã
ãã±é²æ¢ã«Haskell極ãããšãããã®ãããªããå¯ããæ°ãããã®ã§åŽäžããŠããã
ãªãã人çæåŸã«groovy3.xãåŠãŒããšèããŠããã®ãïŒ
ããŠãgroovy3ã§ãããæ³šç®ããŠãã人ã¯å°ãªããšæãã
äœãããAlt-JavaãšããŠã®groovyã®æŽå²ã¯ãä»ã®JVMèšèªããé·ããããgroovyèªäœãã仿ŽãããŸã話é¡ãšãªããªãããã ã
泚ç®ã«å€ããã®ã¯ãScala/Kotlinãã¯ãããšããä»ã®JVMèšèªãšæ±ºå®çã«éãã®ã¯ãrubyã°ãã®ã¹ã¯ãªããèšèªã§ããäžæ¹ã§ãJavaãšã®è¡šèšäžã®äºææ§ã®é«ãã§ããã
ãã®ãããã¯ãgroovyãå®åã«äœ¿ã£ãŠãã£ãããNTTãã¯ãã¯ãã¹ããã®ç޹ä»èšäºãèªãã§ãããã°è¯ãã ããã
https://www.ntt-tx.co.jp/column/tec/java_01/
ïŒ...ã€ãŸãã¯ãSpringããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§åºãéçºããŸããšãã£ãæ¡ä»¶ã§ã
éçºçç£æ§ãäžããããã«groovyã䜵çšããŸããšãã£ãææ¡ãè¡ãããããšãã£ãæå³åãããããïŒ
ãããªå€ãããããgroovyã ããJava8以éã®Javaèªäœã®é²åã«å¯Ÿå¿ããGroovy3.0ããªãªãŒã¹éè¿ã§ããã...Javaèªäœã®èšèªä»æ§ã倧ããããšããã£ãŠããããªãé·ãããšéè¿ã®ãŸãŸãã ãã
http://groovy-lang.org/releasenotes/groovy-3.0.html
ã¡ãªã¿ã«ãJavaã®ããŒãžã§ã³ç®¡çã§SDKMANå ¥ããŠã人ã¯ãGroovy3.0ã®rcãããã«è©Šãããããã
$ sdk list groovy
==== BROADCAST =================================================================
* 2019-12-08: Groovy 3.0.0-rc-2 released on SDKMAN! #groovylang
* 2019-12-06: Springboot 2.2.2.RELEASE released on SDKMAN! #springboot
* 2019-12-06: Springboot 2.1.11.RELEASE released on SDKMAN! #springboot
èŠããã«ãgroovy3.0ãåŠã¶ãšãä»é¢šã®Javaã®ãã£ããã¢ãããã§ãããšããããšã
JavaãrubyãscalaãåŠãã ããšãããè
ããããããåããããããªgroovyã仿ŽåŠã³çŽãã ãšïŒ
èŠæ°ã®ãªãããšããã®äžãªãã
ã ãããããªè¯éºã§ãªãéžæããå 霢ãèæ
®ã«å
¥ããéžæãšãããã®ã
人ã¯å¿ããããããŠãã ãã ããã±ãŠããã
ãããªãã£ãããåç³ã«ãªããªãããã«ã¯ãæè²èšèªãšããŠã¯æçšã§ããJavaã®ïŒïŒå¹ŽåãïŒïŒå¹Žåããç¥ããªãããã§ã¯ãããªãïŒç§ã¯android Javaãæžããã®ãæåŸãªã®ã§ ïŒïŒå¹Žåã®Javaã§ãããJava6çžåœã®å®åç¥èãããªãïŒã
ãšã¯ããã仿Žä»äºã§ããªãã®ã«ãJava8ããšããã£ãŠããããŸãæ°ãå ¥ããªãããããªãã£ããã®ç§ã§ããã¹ã¯ãªããèšèªãšããŠæ¥œã§ããgroovy3ãªãã°ãããããæ¥œããã§åŠã¹ãããªããšã
ããããŸãã人çæåŸã«ã€ããŠã®èãã¯ã人ããããã§ãããšããŠãïŒãšããããæåŸã«åŠã¶èšèªã¯ããã°ã©ã èšèªã§ãªãäººã®æ¹ãå€ããïŒïŒ
ãããã®å Žåã人çæåŸã«åŠã¶ããã°ã©ã èšèªãã³ã¹ãã§éžã¶ããããgroovy3ã ãšããããšã§ãããä»é¢šã®Javaã«æ¥åäžè§Šããããªã人ã¯ã人çæåŸã§ãªããŠãããããgroovy3ã鱿«ã«ã§ãã¡ãã£ãšåŠãã§çœ®ãã®ãåã ãšæããã
ç§ã®groovy3åŠç¿èšã¯ãgroovy3ã®æ£åŒãªãªãŒã¹åŸã«æžããšãããã
æåŸã«ã人çæåŸã«ããã°ã©ã èšèªãåŠã¶äœ¿åœæãæžããŠããã
æåŸã«ã人çæåŸããªãããã°ã©ã èšèªãåŠã¶ã®ããã ãæžããŠãããïŒæ°åäžå皌ãã ããªããä»ã®éžæè¢ãããã ãããïŒã
ããã¯ãããã°ã©ã ãæžãè¥ã人ã«ããªãã¹ãæ©ãã«ãªããžã§ã¯ãæåèšèªã®åæãäŒããããšæãããããããããããšããã§èšããšããçŸå Žã§åœ¹ç«ã€ã·ã¹ãã èšèšã®åå ã倿Žã楜ã§å®å
šã«ãããªããžã§ã¯ãæåã®å®è·µææ³ãã«è¿ãã¬ãã«ãSIerã®æ°äººæè²ãªã©ã®å Žã§äŒããŠãããããšæãããããªããžã§ã¯ãæåãªãwater falléçºã®çŸå Žã§çäžããŠæŽªæ°Žã«æµãããŠå»ã£ãŠããè¥è
ãããèŠãããªãããããªããŠãã
ä»ã¯ãã¡ã€ã³é§åèšèšãæ·¡ã
ãšåŠã¶æã身ã®ãã¡ãã£ãšãã瀟äŒè²¢ç®ãšããªãã°ãããªãšæã£ããããŠã
ãšããããšã§ã人çããããã
ãã£ãããããã§ãªã人ãã幎æ«å¹Žå§ã¯ãæ¥å¹ŽåŠã¶ããã°ã©ã èšèªããããŠã人çæåŸã«åŠã¶ããã°ã©ã èšèªãèããŠã¿ããã
ããšã ã®æéã¯ã以äžâª
...ããïŒgraalVMãšnim1.0ã«ã€ããŠãæžãäºå®ã ã£ãã®ã ã£ãããåºå€æéãšãªã£ãã®ã§ãæéåãã...SIer ã®äžçã§ãªããŠãã²ãŒã æ¥çãšãã«åããã話ã
graalVMã«ã€ããŠã¯ãåŸã»ã©æžããŠãªã³ã¯ãããã«è²ŒããããJVMè³ç£ã䜿ããgraalvmãæŽ»ããã®ã¯ãäœã¬ãã«ãªããç°¡æœãªèšè¿°ã«ç¹åããnimã®ãããªèšèªã ãšæããšããšãã£ãã話ã
ã¡ãªã¿ã«ãpythonã§graalvmã¯èŸãã£ããã
å®ã¯ãèåŸãã²ãŒã ïŒeã¹ããŒãæ¥çã§éãããŠæ°åäžå皌ãã®ãããããªãšãæã£ããããŠãããã ãã©ããã®å Žåã人çæåŸã«åŠã¶ããšã«ãªãã®ã¯graalvmãšãnimãalt-pythonã㪠;-)