解答一些实际问题:
http://stackoverflow.com/tags/scala/info
数学+编程答题:
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/
http://stackoverflow.com/questions/tagged/scala+list
http://rosettacode.org/wiki/Category:Scala (各种语言解题汇编)
见“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 进行增量编译运行,有多个可执行类时需要手工选择。
来源:http://www.scala-lang.org/node/8610 (Martin Odersky)
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吧;
http://twitter.github.com/scala_school/
训练java expert快速成为scala expert