关闭

第一章 可伸展的语言

标签: scala
232人阅读 评论(0) 收藏 举报
分类:

关于Scala:

  • Scala来自于scalable一词,译为“可伸展的语言”;
  • 它运行在标准的Java平台上,可以与所有Java库无缝交互;
  • 融合面向对象和函数式编程的风格;

在Eric Steven Raymond的《The Cathedral and the Bazaar》(《大教堂与集市》)一书中将大教堂和集市作为软件开发的两个隐喻。

大教堂:几近完美的建筑物,花费很长时间建设,而一旦建成了就长时间保持不变;
集市:每天都会被集市中的人调整和扩展。

Scala就像集市一样,每天都在不断地被使用者扩展。
它没有提供“完美齐全”语言中可能需要的所有东西,而是把制作这些东西的工具交给使用者。

Scala是纯粹的面向对象语言,每个值都是对象,每个操作都是方法调用。
Scala是成熟的函数式语言,函数也是值,与整数或字符串处于同一个地位。

  • 使用Scala的理由:
    • 兼容性
      • Scala无需脱离Java平台重新学习开发,可以保全现有代码并添加新的东西;
      • Scala程序会被编译成JVM的字节码;
      • 运行时性能与Java程序不分上下;
      • Scala代码可以调用Java方法,访问Java字段,继承Java类和实现Java接口;
    • 简洁
      • Scala程序保守估计是同样Java程序的一半左右;
      • 类型推断机制使程序更易读且有条理;
    • 高级
      • 提高特质的抽象级别来帮助管理复杂性;
      • 整体复杂度的降低,犯错机会相应减少;
    • 静态类型
      • 静态类型系统可以根据保存和计算的值和类型认定变量和表达式类型;
      • 以Java的内嵌类型系统为基础;
      • 使用泛型参数化类型、使用交集组合类型、使用抽象类型隐藏类型细节;
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18746次
    • 积分:465
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    博客专栏
    文章分类