`
jeff312
  • 浏览: 77302 次
  • 性别: Icon_minigender_1
  • 来自: 新加坡
社区版块
存档分类
最新评论

Scala种种信息--google地毯式搜索的收获

阅读更多
    去年对scala的研究中断于项目紧张时, 所以至今对scala的了解仅限于语法, 一些相关问题, 比如环境的搭建, 概念还是相当模糊, 今天突然兴起, 跑到网上乱搜了一通, 搜来一些信息, 权当为以后转攻scala做个铺垫吧.

    1. ide的选择: 至今用过的ide只有三种, eclipse, netbeans和文本编辑器(泛). eclipse 的scala插件一上手就觉得不爽, 代码补全能力几乎为零, 构建也慢. netbeans的scala插件在代码补全上很不错, 但是有些bug比较严重, 连续编译功能会时不时地崩溃, 代码编辑器上一片红, 非重启netbeans不能恢复, 这个足以让人无法忍受. 此外, 两者对scala类库的源码查看都比较雷, 居然尝试编译打开的源码文件, 结果也是一片大红, 非常影响心情. vim这类编辑器, 我一向只用来编写bash脚本, 从未试过在上面开发java/ruby之类的程序, 不好评价. intellij一向不怎么用, 据说scala插件不错, 但是编译用时比前面那两位还长.

    2. 开发环境: 从google上的情况看, 目前比较吃香的是SBT+JRebel 的组合, 再加上一个编辑器(ide). 由于sbt有持续编译功能, 其实用什么ide都不重要了, 即使vim又怎么样, 只要能有插件能显示项目视图, 一些简单的代码提示, 剩下的就让sbt去操心好了. JRebel算是我的一个新发现, 怪我孤陋寡闻了, 但它的特性的确让我眼前一亮, 只加载修改过的class文件, 让appserver上的程序继续跑而非重新加载, 是我三年前做梦都想要的功能. 有了jrebel, 即使scala编译的确较java慢又怎样, 我不用重新加载, 最后还是比你快得多. 此外一个附加bonus是, JRebel对scala的license是免费的, 对java则是US$365/licence*year(企业版). 其实, 即使不做scala项目, 我也很乐于在java项目里引进这个工具, 一年365美刀实在是个小数, 相对于浪费在程序员薪水上的投入来说.

    3. 开发框架: liftweb是我最先接触的, 因为它最有名, 有名到maven刚有scala的archetype, 就马上有了lift的archetype, 创建一个lift项目只是举手之劳, 甚至在还不知道lift为何物的时候. 但说实话liftweb确实比较复杂, 我跌跌撞撞跟着simple lift的tutorial完成了一个项目, 仍然对这个框架的作用机制一无所知, 感觉十分不爽. play framework是个不错的java框架, 由于它对scala的支持也相当强, 我会把它当作我的scala起步框架.

    4. 关于groovy: groovy的发明人对scala评价极高, 甚至说出"如果那时我就能见到scala, 那我很可能都不会去发明groovy"的话. 我也粗通一些groovy, 在我看来, 如纯粹作技术上的比拼, groovy几乎没有存在的必要, 只有那些非动态不可的场合才能保住它的一席之地. 但是行业的当前状况是java一家独大, groovy作为java的亲生嫡系, 接受度自然较高, 加上学习曲线几乎恒零(对于javaer来说), 短期前景还是在scala之上的. 不过我相信scala终将突破成见, 占据主流, 因为它在性能和语法上的优势实在是明显. groovy在我看来只适用于有简单计算的CRUD程序(如grails站点), 在性能敏感的领域groovy决无用武之地. 公司项目里有一个swing桌面程序, 一年前被一个家伙用groovy写了, 起初他还很得意地表示自己的选择是多么明智, 所需代码量是多么小. 但是当代码量无可避免地上升后(需求的细化需要越来越多的类), 性能差得一塌糊涂, 根本无法使用. 最后的结果居然是所有groovy代码被废, 整个程序须要用java重新写过. 相信如果当时采用scala来写这个swing程序, 无论是性能还是代码量都会令人满意的.
分享到:
评论
2 楼 jeff312 2011-11-21  
如果没有被墙,scala官网上的资料已经很多。我对scala也是粗通,尚未做过真实的项目,如果要做web应用,选择liftweb或play框架起步当是首选。如果在已有框架上开发,用scala写service好了。
1 楼 桥下一粒砂 2011-10-24  
兄台,我对Scala也很感兴趣,不知道你有没什么学习资源分享一下?

相关推荐

    scala-parser-combinators-2.11-1.0.4-API文档-中文版.zip

    赠送Maven依赖信息文件:scala-parser-combinators_2.11-1.0.4.pom; 包含翻译后的API文档:scala-parser-combinators_2.11-1.0.4-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.scala-lang.modules:scala-...

    scala-parser-combinators_2.12-1.1.0-API文档-中英对照版.zip

    赠送Maven依赖信息文件:scala-parser-combinators_2.12-1.1.0.pom; 包含翻译后的API文档:scala-parser-combinators_2.12-1.1.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.scala-lang.modules...

    scala-compiler-2.11.8-API文档-中英对照版.zip

    赠送Maven依赖信息文件:scala-compiler-2.11.8.pom; 包含翻译后的API文档:scala-compiler-2.11.8-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.scala-lang:scala-compiler:2.11.8; 标签:scala...

    scala-parser-combinators_2.11-1.0.4-API文档-中英对照版.zip

    对应Maven信息:groupId:org.scala-lang.modules,artifactId:scala-parser-combinators_2.11,version:1.0.4 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译...

    scala-intellij-bin-2016.3.9

    Scala是一种多范式编程语言,融合了面向对象和函数式编程的概念。它被设计成可以在Java虚拟机(JVM)上运行,并可以充分利用Java的生态系统。IntelliJ IDEA的Scala插件提供了对Scala语法的深度支持,包括智能代码...

    scala-intellij-bin-2018.3.2.zip

    scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!

    scala-intellij-bin-0.41

    Scala是一种强大的多范式编程语言,它融合了函数式编程和面向对象编程的特点。IntelliJ IDEA是一款广受赞誉的Java开发集成环境,为开发者提供了高效、智能的代码编写体验。"scala-intellij-bin-0.41"是专门为...

    scala-compiler-2.11.12-API文档-中文版.zip

    赠送Maven依赖信息文件:scala-compiler-2.11.12.pom; 包含翻译后的API文档:scala-compiler-2.11.12-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.scala-lang:scala-compiler:2.11.12; 标签:scala、lang...

    scala-intellij-bin-2020.2.3.zip

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的概念。IntelliJ IDEA是一款著名的集成开发环境(IDE),广泛用于Java、Scala和其他 JVM 语言的开发。"scala-intellij-bin-2020.2.3.zip" 是一个...

    scala-library-2.11.8-API文档-中文版.zip

    赠送Maven依赖信息文件:scala-library-2.11.8.pom; 包含翻译后的API文档:scala-library-2.11.8-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.scala-lang:scala-library:2.11.8; 标签:library、scala、...

    scala插件 scala-intellij-bin-2018.3.5.zip scala-intellij-bin-2018.3.6.zip

    Scala是一种强大的多范式编程语言,它结合了面向对象和函数式编程的特点,为开发者提供了丰富的表达能力和灵活性。在Java虚拟机(JVM)上运行的Scala,因其高效性和与Java的无缝集成,成为了开发大规模分布式计算...

    scala-compiler-2.12.7-API文档-中英对照版.zip

    赠送Maven依赖信息文件:scala-compiler-2.12.7.pom; 包含翻译后的API文档:scala-compiler-2.12.7-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.scala-lang:scala-compiler:2.12.7; 标签:scala...

    scala-reflect-2.11.8-API文档-中英对照版.zip

    赠送Maven依赖信息文件:scala-reflect-2.11.8.pom; 包含翻译后的API文档:scala-reflect-2.11.8-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.scala-lang:scala-reflect:2.11.8; 标签:reflect...

    scala-intellij-bin-2017.2.13

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性。IntelliJ IDEA是一款广受赞誉的Java集成开发环境(IDE),它为开发者提供了丰富的工具和功能来提升开发效率。"Scala-intellij-bin-2017.2.13...

    scala-intellij-bin-2016.3.1.zip

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的概念。IntelliJ IDEA是一款非常流行的集成开发环境(IDE),尤其受到Java和Scala开发者喜爱。在本压缩包"scala-intellij-bin-2016.3.1.zip"中,...

    jackson-module-scala_2.11-2.6.7.1-API文档-中英对照版.zip

    赠送Maven依赖信息文件:jackson-module-scala_2.11-2.6.7.1.pom; 包含翻译后的API文档:jackson-module-scala_2.11-2.6.7.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:...

    scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz

    scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz

    scala-parser-combinators_2.12-1.1.0-API文档-中文版.zip

    赠送Maven依赖信息文件:scala-parser-combinators_2.12-1.1.0.pom; 包含翻译后的API文档:scala-parser-combinators_2.12-1.1.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.scala-lang.modules:scala-...

    scala-intellij-bin-2021.3.6.zip

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性。IntelliJ IDEA是一款广受欢迎的集成开发环境(IDE),尤其在Java和Scala开发者中有着极高的赞誉。"scala-intellij-bin-2021.3.6.zip"是一个...

    scala-intellij-bin-2019.2.20.zip

    Scala是一种强大的多范式编程语言,它融合了函数式编程和面向对象编程的特点。IntelliJ IDEA是一款广受赞誉的Java集成开发环境(IDE),它为开发者提供了丰富的工具和功能来提升开发效率。针对Scala语言,IntelliJ ...

Global site tag (gtag.js) - Google Analytics