ã§ã¯ããªãScalaã¯è€éãªã®ã§ããããïŒ ããã«ç§ãæãã€ãæé«ã®ãã®ããããŸãïŒ
- Scalaã¯ãããããŠããŸãã ããã¯ãJavaã¹ã¿ã€ã«ã®ã³ãŒããæžãç¶ããããšãã§ããããšãæå³ããŸããããã¯ãåªãã§ããç¥çŠã§ããããŸãã ããããé·æçã«ã¯ãããã¯ãŸã åªãã ãšæããŸãã ãªããžã§ã¯ãæåãšFPã®ã³ã³ãã©ã¹ãã«ã€ããŠã¯ãããŸãã«ãå€ãã®è°è«ããããŸãã ãã®ãããªè°è«ã¯ãããªããå°ããªããŒã ã§ããã°åãå ¥ããããŸãããScala Javaã®æžãæ¹ãåŠãŒããšãããšããã²ã©ãæªãã§ã-å®éã«åŠç¿ãããå€æŽããããªãéçºè ã Scalaã®é©ãã¹ãå©ç¹ã¯ãFPã¹ã¿ã€ã«ã§æžããšå®éã«çŸãå§ããŸããããªããžã§ã¯ãæåéçºè ãç¬èªã®ã¹ã¿ã€ã«ã§æžããããšæããŸã§ãOOéçºè ãåŒãä»ããããšã¯ã»ãšãã©äžå¯èœã§ãã ãã®å ŽåãJavaãRubyãªã©ã®èšèªæ©èœãå°ãªããªããé©å¿ã容æã«ãªããæœåšçãªãœãªã¥ãŒã·ã§ã³ã®ç¯å²ãçµã蟌ãŸããŸãã
- IDEããã®è²§åŒ±ãªãµããŒãïŒåžžã«ããã§ãïŒã Scalaã®Eclipseãã©ã°ã€ã³ïŒãŸãã¯ä»é±ã®ScalaãšåŒã°ãããã®ïŒã¯ããããã§ãã 圌ã¯ãScalaã§ã®ç§ã®5幎éã®ä»äºãç¶ããŠããŸãã åžžã«ãè¯ããªãããšèããŠããŸãããããã§ãäžæã§ãïŒ IntelliJã«ããScalaã®ãµããŒãã¯åãå ¥ããããŸãã ããããIDEã§ãã³ãã¬ãŒããå¿ èŠãšãã人ã¯ãScalaã®ãµããŒããååã§ãªãããšã«æ°ä»ããªãã§ãããã ãŸããScalaã®ãã³ãã¬ãŒã/ãã¿ãŒã³ã¯éåžžã«å€æ§ã§æçåãããŠããããïŒããã¯ã¹ã«ãããªããžã§ã¯ãæåã¯ScalaZã®æ¹æ³ã§ãïŒãæ¬åœã«ä¿¡ããããªãã»ã©ã®éããããŸãã EmacsãViããŸãã¯TextMateã§ã³ãŒããæ£åžžã«èšè¿°ããå Žåããã¹ãŠãæ£åžžã«è¡ãããIntelliJãžã®ç§»è¡ãããŸãããããã«èŠããŸãã ããããJava IDEããåŸããããã®ãšåæ§ã®ãåæããæåŸ ããå ŽåãScalaã®ç·åçãªåã®ããã«å€¢ã¯å£ããå®çŸããããšã¯ãããŸããã ãŸããã¢ã«ãŠã³ãã«300äžäººããTypesafeã§ããããããä¿èšŒããããšã¯ã§ããŸããã
- Scalaåã·ã¹ãã ã¯éåžžã«åŒ·åã§ãããããªãã®èŠ³ç¹ããã¯ãå€ããããããããŸããã ScalaDocsã§ã¯ãäžéšã®çœ²åã¯éåžžã«åšå§çã«èŠããŸãã èŠãŠã¿ãŸããã
flatMap [B, That] (f: (A) â Traversable[B])(implicit bf: CanBuildFrom[List[A], B, That]) : That
ãããŠä»ãããã¯ããªãã®å¿ãå¹ãé£ã°ããªãã£ããšç§ã«èšã£ãŠã¿ãŠãã ããã åå¿è ã¯æ¯æ¥ãã®æ¹æ³ã䜿çšãã1æ¥ã«20å䜿çšããããšããããŸãã Scalaã®ããã¥ã¡ã³ãã«ã¯ããã®è€éãããã¹ãŠé ãã©ã€ãã©ãªãå¿ èŠã§ãã flatMapã¡ãœãããéåžžã«åŒ·åã«ããè€éãã åã·ã¹ãã ãšé¢é£ããã¥ã¡ã³ãã«ã¯ãããã·ã³ãã«ã§äœ¿ãããã衚瀺ã¢ãŒããå¿ èŠã§ãã - ããçµéšè±å¯ãªããã°ã©ã ããµããŒãããå¿ èŠãããåå¿è éçºè ã¯ãã³ãŒãã®ã€ãã£ãªã ãšãã¿ãŒã³ãç解ããå¿ èŠããããŸãã Scalaã¯ããžãã¹ããžãã¯ãæåç·ã«æã£ãŠãããšããäºå®ã«ããããããïŒå€ãã®forã«ãŒããè€éãªifåŒãä»ããŠæ¡æ£ããã®ã§ã¯ãªãïŒã䜿çšãããŠããã€ãã£ãªã ã«ãã£ãŠã¯ãã³ãŒãã¯ãŸã æçœã§èªã¿ã«ããã§ãã ãããŠã1æ¥ã®çµããã«ãããŒã ã«åå ããŠãScalaã«ãã£ãŠèšè¿°ãããã³ãŒããšã䜿çšããããã¹ãŠã®ãã¯ããã¯ã«ã€ããŠè°è«ããããšããå§ãããŸãã ããã¯Ruby on Railsã«ãåœãŠã¯ãŸããŸããRubyon Railsã§ã¯ãããã·ã¥ãããããã¹ãŠã®ããã°ã©ãã³ã°ãã©ãã€ã ãäºå®äžçœ®ãæããããšãã§ããŸãã ããããRailsã®äžçã§ã¯ããã©ãã€ã ã¯çµ±äžãããŠããïŒåãã§ãã¯ã«åºã¥ããã®ã§ã¯ãããŸããïŒãèªã¿ãããã§ãã Javaã§ã¯ãåããã¿ãŒã³ããã§ã«IDEã«åã蟌ãŸããŠãããããéçºè ã¯ãæé·äžãã«ããããåŠç¿ããå®çŸ©ã§ããããã«ãªããŸãã ããããæ®å¿µãªããšã«ããã®ã¢ãããŒãã¯Scalaã«ååšããå ŽæããªããããŒã ã䜿çšãããã¬ãŒã ã¯ãŒã¯ã«å¿ããŠããŸãã«ãå€æ§ãªã€ãã£ãªã ããããŸãã
JavaãRubyããŸãã¯ä»ã®èšèªãããééããªãScalaãåªãããªãã·ã§ã³ã§ããããã€ãã®ã¿ã€ãã®ã³ãã³ãããããŸãã Twitterã¯çŽ æŽããã蚌æ ã§ãã æ確ã§ãã¿ã€ãã»ãŒãã§ãé«æ§èœãªèšèªãšç°å¢ãå¿ èŠã§ãã ãããŠãScalaã¯ããããã¹ãŠãæäŸããŸããã Foursquareã¯ããã£ã«ã¿ãªã³ã°ã¡ã«ããºã ã«Scalaã®è€éãã䜿çšããŠããŸãã Scalaãç¿åŸããFoursquareã§æåããã«ã¯ãååãªèœåãå¿ èŠã§ãã
ããããå¹³åã«è¿ãã¹ãã«ãæã€ããŒã ãããå ŽåãScalaã¯æè¯ã®éžæã§ã¯ãªããããããŸããïŒç®¡çã«äŸåããŸã...ããŒã ããã£ã«ã¿ãªã³ã°ããã³æ¹åããããã«Scalaã®é£ããç¹æ§ã䜿çšããå¿ èŠããããŸããïŒïŒãã¬ãŒãã³ã°ã®èŠ³ç¹ãããScalaã¯æ¢åã®éçºè ããã¿ãŒã³ã®æ¬ åŠãæŸæ£ããè²»çšãããããŸãã ãã¿ãŒã³ãèšèšããã«ã¯ãæ¬ãIDEããéé¢ããã®ã§ã¯ãªãã匷åãªCTOãŸãã¯ã¢ãŒããã¯ããå¿ èŠã§ãã æ§ããã«èšã£ãŠããããªã匷åãªãã¯ãã«ã«ãã£ã¬ã¯ã¿ãŒãŸãã¯ã¢ãŒããã¯ããæãããã®ãããªäžèŠæš¡äŒæ¥ã®æ°ã¯å°æ°ã§ãã
ããã§ãScalaãããªãã®çµç¹ã«ç°¡åã«é©å¿ã§ãããã©ãããã©ã®ããã«èŠã€ããŸããïŒ
- ããªãã®äŒç€Ÿã«ã¯JavaOneãOSCONãStrange LoopãQConã®ã¹ããŒã«ãŒãããŸã-Scalaã¯ç°¡åã§ã
- éå¬äžã®ãã£ã¹ã«ãã·ã§ã³ã«ã¯ãéåžžã®éçºè ããã·ãã¢ã«ç§»è¡ããããã®åºæºãå«ãŸããŠããŸã-Scalaã¯é£ããã§ããã
- å¿ èŠã«å¿ããŠãéçºè ã¯ã¡ã¢åž³ã§ã³ãŒããèšè¿°ã§ããŸã-ã·ã³ãã«
- éçºè ã¯ç¡é¢å¿ã§ãããããZed Shawããšããååãèãããšãã«3ã€ã®ãHail MarysããšèšããŸããScala== Hard
- éçºè ã®æ祚ã¯Twitterã®Dean Wamplerã§ãã©ããŒããŠããŸãïŒScalaã¯ã·ã³ãã«ã§ã
- ããªãã®éçºè ã¯9.15ã«åãã«æ¥ãŠãã¡ãŒã«ããã§ãã¯ããã«6æãŸã§å»ããŸã-é£ãã
ãã¡ãããããªãã¯ãã®äž»é¡ã«ã€ããŠããªãèªèº«ã®èããæã£ãŠãããããããŸããã ããããç§ã¯Scalaãå¹³åçãªããŒã ã«ãšã£ãŠè€éã§ãããšãã声æã«ééããªãåæããŸãã ãããŠãããã¯è€éãªã ãã§ãªããè¿ãå°æ¥ã«ãå°æ¥çã«ãå©ç¹ããããããªããããããŸããã 95ïŒ ã®ã¹ãã«ãæã€åå è ã§æ§æãããããŒã ãããããããšãã§ãããã®ã
ãããŠãããã«ããã€ãã®èãïŒ
- ã¯ããScalaã®åã·ã¹ãã ã¯éåžžã«åŒ·åã§ãããScalaã³ã¬ã¯ã·ã§ã³ã®ããã«ã³ãŒãã®çŸãããé«ããããšãã§ããŸãã
stackoverflow.com/questions/1722726/is-the-scala-2-8-collections-library-a-case-of-the-the-the-longest-suicide-note-in-histoããã³www.scala-lang.org/docuãã芧ãã ãã/files/collections-api/collections-impl.html
ããããèšèª/ã©ã€ãã©ãªèšèšè ãšäžèŠæš¡éçºè ã®ããŒãºã«ã¯éãããããŸãã ãŸããScalaã«ãã®ãããªåé¢ããªããããScalaã«ã¯å°é£ã䌎ããŸãã å人çã«ãç§ã¯Liftã§ã¢ã€ãã¢ãä»ã®èšèªã§ããã»ã©æ確ãã€åŒ·åã«è¡šçŸã§ãããšã¯æããŸããã ãããã£ãŠãã©ã€ãã©ãªãã¶ã€ããŒãšããŠãç§ã¯Scalaã倧奜ãã§ãã ããããç§ã®ããã«ãScalaãé£ãããšæããªã人ã®å€ãã¯ãæ®éã®äººã§ã¯ãããŸããã ãŸããScalaã«ã€ããŠæžããŠãã11æ³ã®åäŸãéäžã§ã¯ãããŸããã - ã¯ãããã·ã³ãã«ãããã³ãã¢ãŒããã¯ãã£ã衚瀺ãæäŸããScalaDocsã®æ¹åã¯å€§ããªåå©ã«ãªãå¯èœæ§ããããŸãã ããããããã¯ãŸã åºçºç¹ã«ããããçµããã§ã¯ãããŸããã
- ãåªããããããŠããå°éçãªéçºè ãèŠã€ããããšããè°è«ãæ確ã«æåŠããŸãã ãScala is hardãã®åé¡ã解決ããã«ã¯ãéçºè å šäœã®èœåãåäžãããããåªåããå¿ èŠããããŸãïŒã¿ã€ãã·ã°ããã£ãèªã¿åãã人ãæ°åŠçãªã¢ãããŒãã䜿çšããŠããã°ã©ã ãè¡šçŸã§ãã人ãªã©ïŒãããããæ¬è³ªããã¯è·é¢ã眮ããŠããŸãã ãããŠãæçµçã«ã¯ãScalaã¯ãã¬ãŒãã³ã°ãæè²ããŸãã¯éçšã®é©åœãéå§ããã®ã«é©ããŠããªããšããããšã§ããããã¯ã圌ã«ãšã£ãŠé£ããããšããããããã«ãå¹³åçãªéçºè ã®ããæèãé«ããããã§ãã
- ãã®èšäºãç§ã®Twitterãèªãã§ãã人ã¯èª°ã§ãå¹³åçãªéçºè ã§ãããPaul Snivelyã ãšã¯æããŸããã