![ç»å](https://habrastorage.org/getpro/habr/post_images/2d4/d34/99f/2d4d3499f285b0963d38c26c7dfe34e8.jpg)
éèŠãªæ å ±ããå§ããŸããããææãªèšèªã¯å¿ ãããæ°ãããã®ã§ã¯ãããŸããã ããªãã®ææã®PythonãRubyã»ã©å€ããªãã人æ°ã®é«ãäžäœ10ã®ã©ã³ã¯ ïŒ GitHut ã RedMonk ã TIOBE Index ïŒã®ãããã«ãå±ããããããã®èšèªã®ç¥èã¯çµŠäžã®å€§å¹ ãªå¢å ãæäŸããŸããïŒSwiftãé€ãïŒ ã ãããã圌ããé©åœãšåŒã³ãéžæ人ã®éã§å¢ããåŸãããšãäžå¯èœã§ãã ãã¡ãããç¬èªã®ããããç¹å®ã®åžå Žã·ã§ã¢ïŒæ倧2ïŒ ïŒã確ç«ãããã³ãã¥ããã£ããããŸãã ããã©ãã¯ã¹ã¯ã³ãã®ãããªã€ãã³ããçºçããªãå Žåãå°æ¥çã«ã¯ããã5ã®ææ¡æš¹ã«äŸµå ¥ã§ããã®ã¯åœŒãã ãã§ãã
è¿å¹Žãèšèªã®äººæ°è©äŸ¡ã«ã»ãšãã©å€åã¯ãããŸãããäžéšã¯äœäžããäžéšã¯äžæããŸãããããã¹ãã»ãªãã»ã¶ã»ãã¹ãããšããã¹ããŒã¬ã³ã®äžã§ãããã«äŸµå ¥ãã人ã¯ããŸããã èšèªã®æ°ããé åããã£ããã£ããããã»ã¹ã¯ãã»ãšãã©ã®å Žåäœå¹Žããããããã®éã«å¿ èŠãªéçºããŒã¹ã圢ã«ãªããŸãã ãã®ãããã¬ãã¥ãŒã§æšå€æžãããæä»çãªèšèªãç¬èªã®èšèªã¯ãããŸãããåã«åœŒãã®æéããŸã å°çããŠããªãããã§ãã ããããä»åŸæ°å¹Žã®ãã¡ã«ãJavaïŒãã¹ãŠïŒãJavaScriptãPHPãªã©ã®æºãããªãæ±ã®äººæ°ã¯äœäžãããããã®å Žæã¯åŸã ã«ãæ°åè ãã«åã£ãŠä»£ããããã§ãããã
ã¹ã€ãã
ããã°ã©ããŒChris Luttnerã¯ã2010幎以æ¥ã誰ããèªåã®ããã°ã©ãã³ã°èšèªã«å¯ãã«åãçµãã§ããŸããéçºéå§ããçŽ1幎ååŸãä»ã®ããã°ã©ããŒãé¢äžããŸããããLuttnerãå€åããAppleããããžã§ã¯ãã«éäžãããŸã§ã«ããã«1幎ããããŸããã
2014幎ãAppleã¯OOPèšèªSwiftãå°å ¥ããŸãããããã¯ãObjective-Cã眮ãæããå¿ èŠããããŸããããã¯ãObjective-Cã§èšè¿°ãããã¢ããªã±ãŒã·ã§ã³ãæ°ããèšèªã«ç¿»èš³ããæ©èœã«ãã£ãŠä¿é²ãããŸãã äž»ã«iOSããã³OS Xéçºè åãã«èšèšãããSwiftã¯ãObjective-Cãããå®å šã§é«éãªèšèªãšèŠãªãããŠããŸãã
ä»èªããã®
![](https://habrastorage.org/files/5ae/ddb/f5b/5aeddbf5b4244512990a4f936cb59480.jpg)
æé«ã®èšèªã®æ¬ã¯ãAppleã®å ¬åŒåºçç©ã Swift for Programmersã§ãã èåãªæåž«ãšããã°ã©ããŒã®ããŒãŽã§ã€ã»ãã€ãã«ãšããŒã«ã»ãã€ãã«ã«ããæ¬ã¯ç¹å¥ãªãã¬ãŒã³ããŒã·ã§ã³ãå¿ èŠãšããŸãã-圌ãã¯è€éãªçŽ æã®ç°¡åãªãã¬ãŒã³ããŒã·ã§ã³ã§æåã§ãã ãSwift for Programmersãã«ã¯ãç¬èªã®ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®åºæ¬ãåŠã¶ã®ã«åœ¹ç«ã€å®éã®ããã°ã©ã ã®å€ãã®äŸãå«ãŸããŠããŸãã ãã®æ¬ã®æŽæ°çã¯1幎åã«ãªãªãŒã¹ãããŸããã
![](https://habrastorage.org/files/3e4/133/fbf/3e4133fbf6f54eeca0e22e5911383f71.jpg)
2014幎ã«åºçãããæ¬ã åå¿è åãã®SwiftïŒéçºãšèšèš ãã§ã¯ãSwiftã®åºæ¬ã«ã€ããŠèª¬æããã ãã§ãªããXcodeç°å¢ã玹ä»ããŠããŸãã ãã®åºçç©ã¯ãå°ãªããšãé«æ°Žæºèšèªã®ããã°ã©ãã³ã°ç¥èãå°ãªããšããããiOSãOS XããŸãã¯watchOSçšã®ããã°ã©ã ã®äœææ¹æ³ãåŠã³ãã人ã«é©ããŠããŸãã
ãã ãããã¹ãŠã®æŽæ°ã«ãããããããæ¬ã¯èšèªã®å€æŽã«ããå¿ ç¶çã«é³è åããã§ãããã ããã«å¯ŸåŠããã«ã¯ãããã€ãã®æ¹æ³ããããŸããããšãã°ãè¿ãå°æ¥ã©ã®é¢é£èšèªã®æ¬ãåºçãããããäºåã«ç¥ãããšã§ãã
ããããèªããã®
![](https://habrastorage.org/files/f29/321/da9/f29321da99ab46cc93aa209f1f552975.png)
Swift 2ã¯ãã¯ããã¯ã«ã¯ãSwift 2ã§ã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã«åœ¹ç«ã€50以äžã®ã¬ã·ããå«ãŸããŠããŸãããã¥ãŒããªã¢ã«ã§ã¯ãXcodeã®ã€ã³ã¹ããŒã«ã®åºæ¬ã«ã€ããŠèª¬æããXcodeã䜿çšããŠã³ãŒããSwift 1.2ããSwift 2.0ã«ã¢ããã°ã¬ãŒãããäŸã瀺ããXcodeãã³ãŒãã®ãã¹ãã«ã©ã®ããã«åœ¹ç«ã€ãã瀺ããŸãã Objective-CãŸãã¯Swiftãæåã«ç解ããŠãããšåœ¹ç«ã¡ãŸãããSwiftã®äºåç¥èããªããŠãããã®æ¬ã«èšèŒãããŠããè³æãåŠç¿ã§ããŸãã ãã®æ¬ã¯ä»å¹Ž4æã«ãªãªãŒã¹ãããŸãã
ã¹ã«ã©
Scalaã¯ãå®å šã§é«éãªããã°ã©ãã³ã°ã®ããã«èšèšããã匷åãªãã«ããã©ãã€ã ããã°ã©ãã³ã°èšèªã§ãã Scalaã¯é¢æ°åããã°ã©ãã³ã°æ©èœãå®å šã«ãµããŒãããŠããŸãã 圌ã¯ã¢ã«ãããã¯ãªç°å¢ã®ä»£è¡šã§ããããã®ããã«é床ã®è€éãã§éé£ãããããšããããŸãã ãã®èšèªã¯2001幎ãã2004幎ã«äœæãããŸããã ãšãŒãããã§æãæš©åšã®ããæè²æ©é¢ã®1ã€ã§ããããŒã¶ã³ãé£éŠå·¥ç§å€§åŠã§åŠãã ã Scalaã¯ãã³ã³ããŒãã³ããœãããŠã§ã¢ã®æ¹åãããèšèªãµããŒãã®éçºãç®çãšãã調æ»ã®çµæã§ãã
ä»æ¥ãScalaã¯å€ãã®å€§èŠæš¡ãããžã§ã¯ãã§äœ¿çšãããŠããŸããããšãã°ããµãŒããŒåŽã®Twitterã³ãŒãã®ã»ãšãã©ã¯ãã®èšèªã§æžãããŠããŸãã Scalaã¯ãJavaã®èšèšã§è¡ãããå€ãã®ééããèæ ®ã«å ¥ããŠãããããJavaã眮ãæããããšãã§ããŸãã
ä»èªããã®
![](https://habrastorage.org/files/224/fad/493/224fad49376b40ea856ee08de058e433.jpg)
Programming in ScalaïŒA Comprehensive Step-by-Step Guideã2nd Editionã®èè ã§ããMartin Oderskyã¯ãScalaã®äœæè ã§ãã ããã«ã圌ã¯JavaïŒGenericsïŒã§ã®æ±çšããã°ã©ãã³ã°ã®ãµããŒããéçºããJavaã³ã³ãã€ã©ãŒã§ããjavacã®çŸåšã®ããŒãžã§ã³ãäœæããŸããã
ã€ã¿ãªã¢èªãã翻蚳ãããšããscalaãã¯ãé段ããæå³ããŸãã Oderskyã®æ¬ã¯ãããæå³ã§ã¯ç»å±±é段ã«äŒŒãŠããŸããåºæ¬çãªèŠçŽ ããå§ããŠãèšèªã®è¿œå æ©èœã§çµããScalaããã¹ã¿ãŒããŸãã
Scala in Depth ïŒJoshua D. SuerethèïŒã圹ç«ã€ãããããŸããã ãã¡ãããå€ãã®é¢ã§ãã§ã«å€ããªã£ãŠããŸããããã¿ãŒã³ãšã¢ã«ãŽãªãºã ãåŠç¿ããå Žåã¯ãè³æã®é¢é£æ§ãåœãŠã«ããããšãã§ããŸãã
![](https://habrastorage.org/files/d65/fe7/e7d/d65fe7e7d18d47baa87fe180d73d8a39.jpg)
ã Scala in Action 1st Edition ã-ææ°ã®æç§æžïŒ2013ïŒã èšèªãæ¡åŒµããããŒã«ã®æŠèŠãæäŸããŸãã MongoDB ã SBT ã Scalaz ã Squeryl ã H2 ã jQuery UI ã ScalaCheck ã Specs ã Akka ã Lift ãDSLã«ã€ããŠè©³ãã説æããå解ããŸãã
ããããèªããã®
![](https://habrastorage.org/files/05d/b3c/1de/05db3c1de28641e88a86f660dde9844e.jpg)
ã Scala High Performance Programming ãã¯ãèè ã«ãããšãé«æ§èœã¢ããªã±ãŒã·ã§ã³ãäœæããScalaã®èœåã調æ»ããæåã®æ¬ã§ãã ãã®åºçç©ã¯ãLiftãç¥ã£ãŠããScalaéçºè ããScalaãžã®åãæ¿ãã«é¢å¿ããããJavaã³ãŒãã®ããã©ãŒãã³ã¹ãæŸæ£ããããªãJavaããã°ã©ããŒã«åœ¹ç«ã¡ãŸãã
æ¬ã®ãªãªãŒã¹ã¯6æã«äºå®ãããŠããŸãã
![](https://habrastorage.org/files/d89/652/89a/d8965289af1641878a06b1555679dfb2.jpg)
ã Scala Design Patterns ãã¯ãScalaããã°ã©ãåãã®ãã1ã€ã®æ¬ã§ãç¥èã掻çšããŠå®éã®ã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã«åœ¹ç«ã¡ãŸããããã¯äžçš®ã®ã¯ã€ãã¯ãªãã¡ã¬ã³ã¹ã¬ã€ãã§ãã ãã®æ¬ã§ã¯ãèšèšãã¿ãŒã³ã«ããç¥ãããŠããæ¥çæšæºã䜿çšããå¯èœæ§ã«ã€ããŠèª¬æããéžæãããã¿ãŒã³ã䜿çšããå¿ èŠãããææãšãããé©åãªãã®ãæ¢ãææã瀺ããŠããŸãã
ã«ã¢
Luaã¯ã1993幎ã«ãªãªããžã£ãã€ãã«ããªãã¯å€§åŠã®ã¹ã¿ããã«ãã£ãŠéçºãããã¹ã¯ãªããèšèªã§ãã Luaã®æ©èœã¯JavaScriptã«è¿ãã§ããããã匷åã§æè»ãªèšèšãç¹åŸŽã§ãã å€ãã®ã²ãŒã ïŒWorld of Warcraftãå«ãïŒã®ããã°ã©ãã³ã°èšèªãšããŠå声ãåŸãŠããŸãããã²ãŒã ã ãã§ãªããä»ã®ãã¡ã€ã«ã«ä¿åãããŠããããŒã¿ã®äœ¿çšãå¿ èŠãªå Žåã«ã䜿çšã§ããŸãã
Luaã¯ãäžçã§æãçç£çãªã¹ã¯ãªããèšèªã®1ã€ã§ãã RedisãnginxãTarantoolãOpenResãªã©ã®ãããžã§ã¯ãã§äœ¿çšãããŸãã
ä»èªããã®
![](https://habrastorage.org/files/3bc/053/a6b/3bc053a6b609420f9e9ac8609bd09c89.png)
å€å žãèªãã§ãã ããã Luaã®ããã°ã©ãã³ã° ïŒç¬¬3çïŒã¯ãèšèªã®äœæè ã®äžäººã§ããRoberto Jeruzalimskyã«ãã£ãŠæžãããæ¬ã§ãã ã²ãŒã éçºè ã«ãšã£ãŠããã®åºçç©ã¯åèæžã«ãªããããããŸããã Cãšã®å¯Ÿè©±ã«å¿ èŠãªã¹ãã«ãªã©ãLuaã䜿çšããã»ãŒãã¹ãŠã®åŽé¢ãã«ããŒããŠããŸãã
Luaãç¿åŸããæãç°¡åãªæ¹æ³ã®1ã€ã¯ã次ã®ãªã³ã¯ã§ãïŒ Luaã15åã§åŠã¶ ã
ããããèªããã®
![](https://habrastorage.org/files/2b0/075/8dc/2b00758dcb2f4cb0b2c3bf6c62df7537.jpg)
æ®å¿µãªãããè¿ãå°æ¥ãèå³æ·±ãçºè¡šã¯ãããŸããã æ¯èŒçæ°ããïŒä»ã®ãšãã£ã·ã§ã³ãšæ¯èŒããŠïŒæ¬ã2015幎ã«çºè¡ãããŸãã-â Lua Game Development Cookbook âã ãã®æ¬ã®åå¿è ã®ã²ãŒã éçºè ã«ãšã£ãŠãåçŽãª2Dã²ãŒã ã®æŠå¿µãç 究ããŠãããææ°ã®3Dãããžã§ã¯ãã«é²ããšåœ¹ç«ã¡ãŸãã ããã«ãLuaã®ã¹ã¯ãªããæ©èœã䜿çšãããšãã²ãŒã ãå®å šã«å¶åŸ¡ã§ããŸãã
ãã ãããã®æ¬ã¯Luaã®åå¿è åãã§ã¯ãããŸãããã«ã¹ã¿ã ã®Luaã¢ãžã¥ãŒã«ãäœæããã«ã¯ãC / C ++ã®ç¥èãå¿ èŠã§ãã
è¡ã
ãããŒãã»ã°ãªãŒã¹ããŒãããã»ãã€ã¯ãã±ã³ã»ãã³ããœã³ã¯2007-2009幎ã«GoãäœæããŸããã ãã®èšèªã¯ã倧èŠæš¡ãªãœãããŠã§ã¢éçºã®åé¡ã解決ããããã«äœæãããŸããã Goã¯ãéçºããã»ã¹ãããå¹ççã«ããå¿ èŠããããŸããã ããã¢ã«ãããã¯ãªããã°ã©ãã³ã°èšèªãšã¯ç°ãªããGoã¯äœåãªãã®ããã¹ãŠåé€ããããšããŸããã èšèªã®ç°¡æœããšçŽ æŽãã®ãããã§ãåŠç¿ã¯éåžžã«ç°¡åã«ãªããŸãã
Goã®ã¢ããªã±ãŒã·ã§ã³ã¯å€æ§ã§ãã ãã®ãããVKontakteã®ããã·ã¥éç¥ã¯Goèšèªã§å®è£ ãããŠããŸã ã Goã§ã¯ãiOSããã³Androidçšã®ã¢ããªã±ãŒã·ã§ã³ãäœæããç¬èªã®æå·é貚ãäœæããããšãã§ããŸãã äžè¬ã«ãGoãèªåã§ã©ãã§äœ¿çšãããã決ããããšãã§ããŸããç¹ã«ãè±èªã®ç¥èããªããŠãåŠç¿ã§ãããããHabréã®ããã«ã¯å€ãã®ç¿»èš³ãšè±å¯ãªèšäºããããŸãã
ä»èªããã®
![](https://habrastorage.org/files/71d/81f/fa0/71d81ffa00894aa8a2e563d20bf866d4.png)
ãã®æ¬ã®èè ã®äžäººã§ãããã©ã€ã¢ã³ã»ã«ãŒãã¬ã³ã¯ãçã®ããã°ã©ãã³ã°ã®äŒèª¬ã§ãã 圌ã¯Unixã®å ±èè ã®äžäººã§ããã1978幎ã«Dennis Ritchieãšå ±åå·çããThe C Programming Languageã®èè ã§ããditroffãcronãå«ãå€ãã®Unixããã°ã©ã ã®äœæè ã§ãã
çŸæç¹ã§ã¯ã Goããã°ã©ãã³ã°èšèªã¯æãèå³æ·±ãGoèšèªã®æç§æžã§ãã JavaScriptãRubyãPythonãJavaããŸãã¯C ++ã®å°ãªããšãåºæ¬çãªç¥èãããã°ããã®èšèªãç¿åŸã§ããŸãã ãã®æ¬ã¯ãèšèªã®ãã¥ã¢ã³ã¹ãæãéèŠãªã©ã€ãã©ãªãç¶²çŸ ããå¹ åºãèšèªã®äœ¿çšæ³ã瀺ãGoã³ãŒãã®å®éã®äŸãäœçŸãæ瀺ããŠããŸãã
ããããèªããã®
![](https://habrastorage.org/files/132/1ae/f22/1321aef22a26443e86cc85762df2e763.jpg)
Go Web Programmingã®äœè ã§ããSau Sheong Changã¯ãRuby on Rails Webããã·ã¥ã¢ãããããžã§ã¯ããRubyã§ã®ã€ã³ã¿ãŒãããã¢ããªã±ãŒã·ã§ã³ã®ã¯ããŒã³äœæãããã³Rubyã«é¢ãããã®ä»ã®éèŠãªæžç±ãããã€ãå·çããŸããã ã·ã³ã¬ããŒã«ã®HP Labsã®ç 究æã®ãã£ã¬ã¯ã¿ãŒãšå¿çšç 究ããRubyã®åŸã«Goã§ãããžã§ã¯ããæžãå§ããçç±ãç¥ãããšã¯ãããã«èå³æ·±ãããšã§ãã Go Webããã°ã©ãã³ã°ã¯ãææ°ã®èšèšååã䜿çšããŠGoã§Webã¢ããªã±ãŒã·ã§ã³ãäœæããåé¡ã«å¯ŸåŠããŸãã ãªãªãŒã¹ã¯5æ31æ¥ã«äºå®ãããŠããŸãã
ãã³
Rustã¯ã2006幎以éã«éçºããããã«ããã©ãã€ã ãæ©èœçãåœä»€åæç¶ãåããªããžã§ã¯ãæåããã°ã©ãã³ã°èšèªã§ãã2009幎以æ¥ãMozilla ResearchããŒã ã¯Rustã«åãçµãã§ããŸãã
Rustã¯ãäžå®ã¬ãã«ã®çŠæ¬²äž»çŸ©ãç¶æããªãããã³ã³ãã€ã«èšèªïŒC ++ãæ©èœã§ã¯å£ããªãïŒã®ããã©ãŒãã³ã¹ãšã»ãã¥ãªãã£ããåçèšèªïŒPythonïŒã®éçºé床ãšçµã¿åãããŸãã 倧èŠæš¡ã§ãªãŒãã³ãªéçºè ã³ãã¥ããã£ã®æŽ»åã®ãããã§ãRustã¯C ++ããã³Javaã®èšèšã§ç¯ããå€ãã®ééããä¿®æ£ããŸããã
ä»èªããã®
ãã³ã¯æ¥éã«å€åãç¶ããŠããŸãã ãã¬ãŒãã³ã°è³æãæ°ãæé ãããšãç¥èãå±éºã«ãããããå¯èœæ§ããããŸãã å ¬åŒããã¥ã¡ã³ãïŒ ããã¥ã¢ã« ïŒãThe Rust Programming LanguageããšãåŒã°ããïŒããã³ãã®ä»ã®ããã¥ã¡ã³ã ïŒã«ç²ŸéããŠããããšãäžå¯æ¬ ã§ãã
ããããèªããã®
![](https://habrastorage.org/files/597/261/84b/59726184b260428f8c3c0b8fc7b1ff7f.jpg)
GNU EmacsãšGNU Guileã®ãã€ããŒã§ããProgramming Rustã®äœè ã§ããJim Blandyã¯ãRustã®ãŠããŒã¯ãªé·æã«ã€ããŠèªã£ãŠããŸãã ãã®æ¬ã¯ãå€ãã®äžè¬çãªãšã©ãŒãåé¿ããæ確ã§è²»çšå¯Ÿå¹æã®é«ãããã°ã©ãã³ã°ã®äŸãæäŸããŸãã
![](https://habrastorage.org/files/4f4/c07/82a/4f4c0782afcd4437a62c86c75bd715ec.jpg)
Learning Rustã¯ãCïŒ/ C ++éçºè ãããã©ãŒãã³ã¹ãšã¡ã¢ãªç®¡çãæ¹åã§ããããã«ãããã®ã§ããã®12æã«ãªãªãŒã¹ãããŸãã ãã®æ¬ã¯ã倧èŠæš¡ã§ã¹ã±ãŒã©ãã«ãªãœãããŠã§ã¢ã®éçºã«ãããRustã®æ©èœã瀺ããå€æ°ãæé ãã¡ã¢ãªç®¡çãªã©ãå«ãèšèªã®åºæ¬ã«ã€ããŠã説æããŠããŸãã ãã®æ¬ãèªãã åŸãRustã§è€éãªã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
çµè«ã®ä»£ããã«
ãã©ãã€ã ã·ããããã»ã¹ã¯éåžžã«é ãããããæ°ã«å ¥ãã®ããã°ã©ãã³ã°èšèªãå®å šã«å€ããªããŸã§åŸ ããã«ãé¿ããããªããã®ã®æºåãããã«éå§ã§ããŸãã ææ¥C ++ãå¿ãã人ã¯ããŸããããä»ããåé²ããŠæ°ããããšãåŠã¶å¿ èŠããããŸãã éžæããèšèªã®å©ç¹ã¯ããã©ã€çè«ã«éãããä»æ¥ã®ãããžã§ã¯ãã§å®éã«äœ¿çšã§ããããšã§ãã æãææãªèšèªã®1ã€ãèªåã§è©ŠããŠãçµæã«å€±æããããšã¯ã§ããŸããã