Skip to content

Latest commit

 

History

History
100 lines (46 loc) · 2.45 KB

附录.md

File metadata and controls

100 lines (46 loc) · 2.45 KB

9. 附录

9.1. stackoverflow的scala教程

解答一些实际问题:

http://stackoverflow.com/tags/scala/info

9.2. ProjectEuler

数学+编程答题:

http://projecteuler.net/index.php?section=problems

对上面问题的Haskell解答参考:

http://www.haskell.org/haskellwiki/Euler_problems

对上面问题的Python解答参考:

http://www.s-anand.net/euler.html

对上面问题的Scala解答参考:

http://pavelfatin.com/scala-for-project-euler/

9.3. Scala问答

http://stackoverflow.com/questions/tagged/scala+list

9.4. rosettacode

http://rosettacode.org/wiki/Category:Scala (各种语言解题汇编)

9.5. 编译、mvn、SBT

见“Maven 学习笔记”中的4、SBT

Scala中类似于ant和maven的东西,配置文件使用.scala,交互模式下使用,可以自定编译和测试。

和vim/emacs/textmate等结合进行增量开发。

结合mvn和sbt,可以利用mvn eclipse:eclipse来产生.project和.classpath,利用sbt的不间断编译运行,步骤:

  • 运行maven命令(看mvnh.bat)创建目录./prj1/结构:

mvn archetype:create -DgroupId=jamesqiu -DartifactId=prj1 -DpackageName=test

                         -------            ----------        ----------

                  项目在仓库中的唯一标识   跟目录名及jar名        包名
  • 运行sbt

问及name就填和mvn的packageName一样(“test”)

问及organization就填和mvn的groupId一样(“jamesqiu”)

问及scala version就填2.8.0

  • 运行mvn eclipse:eclipse生成eclipse项目文件

  • 运行sbt

sbt ~compile 进行增量编译;

sbt ~run 进行增量编译运行,有多个可执行类时需要手工选择。

9.6. Scala水平划分

来源:http://www.scala-lang.org/node/8610 (Martin Odersky)

9.7. Scala适合的领域

http://goodstuff.im/scala-use-is-less-good-than-java-use-for-at-* by David Pollak

小结:

  • Scala更适合real-time, distributed, concurrent的应用,而不是ORM、CRUD应用(尽管有Squeryl);

  • 大部分的应用还是ORM和CRUD,与其推销Scala到5万个项目里只成功20%,还不如推荐到5千个合适项目里成功80%;

  • 你的公司已高端人才为主,推荐Scala;以堆人力为主,还是Java吧;

9.8. Twitter的Scala School

http://twitter.github.com/scala_school/

训练java expert快速成为scala expert