Java程序员,你为什么要关注Scala

这次让我们来看一看Martin Odersky对于Scala语言的设计目标是怎么说的。在创造“超越Java的语言”的过程中,具体都需要考虑到哪些方面呢?

让步

Frank Sommers:您之前提到,想要创造一种存在于Java体系内,集成Java基础架构的语言。为了做到这一点,Scala要做出什么样的让步,使其能够兼容Java平台?

Martin Odersky:很幸运,我们不需要做出太多妥协,或者说,很难判断我们所做出的所有妥协都是对我们不利或是有利的。其中一个我们不得不做的妥协是购买Java的静态重载模型。也许我们应该更积极地尝试一些其他方法,如使用多方法,尽管当时我们尝试过这一点,但并没有充分探讨有关多方法的设计。也许直到今天也还没有充分探讨过,所以我不能完全肯定这种方法是否行得通。这种方法本来有着令人振奋的可能性,但我们并没有采用它,因为我们想保持与Java的兼容性。

另外一件时而会引来人们否定的事是Scala既包含Traits技术又包含类技术。大家认为一个整洁的设计应该是只采用Traits技术。目前已有一些只采用Traits而放弃类概念的整洁设计,但我们并没有这样做。因为我们想从这两方面保留与Java的互用性。我们希望有一种方式可以让Java代码很容易地调用Scala代码,而Traits并不含有映射到Java的特性,因为在Java中根本不存在这种技术。因此,我们选择了Java中所拥有的类的概念,因为我们希望能够向后映射,这样我们就可以很容易地在两个方向保留互用性。

第3个问题,与其说是语言上的问题,不如说是类库的问题。我们很想要抛弃null(空值)这种概念。NULL是很多错误的根源。在Scala中,不允许null作为任何类型的可能值,取而代之的是选项类型(option type)。当然,有很多Java类库中的类都返回null,我们必须要解决这个问题。

版权声明:欢迎转载,希望在你转载的同时,添加原文地址,谢谢配合

时间: 2024-10-06 03:17:32

Java程序员,你为什么要关注Scala的相关文章

分享下多年积累的对JAVA程序员成长之路的总结

http://blog.csdn.net/zhongzelin/article/details/8643269我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不比曝照差吧. 首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set map,然后是线程.IO和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学.这阶段完了,你可

Kotlin 喧嚣过后,谈谈 Java 程序员未来的出路

http://blog.jobbole.com/111422 Java 生态圈 Java 的生态环境开放.自由,在Sun/Oracle.Google.Apache.Eclipse基金会等各大厂商,还有技术大牛的共同努力下,Java 的生态圈异常繁荣,各种优秀的开源框架层出不穷. Spring Boot Spring Boot 是 Pivotal 团队推出的一个支持快速开发的框架,伴随 Spring4.0 而生,继承了 Spring 的优秀特质,简化了使用 Spring 编码.配置.部署的过程,使

从普通JAVA程序员到阿里架构师,他用了六年

工作年限:8 年服务公司:4 家(含四大门户中的两家)最近职业:Java 架构师职场关键词:社交平台.高并发系统架构设计.技术团队管理.多款从零到一的产品城市! 六年间,这位职人呆过四大门户中的两家,完成了工程师到架构师的蜕变.经手多款从零到一产品的开发和增长,也经历国内最大社交平台亿级流量和用户的架构设计及优化工作.工作上思路清晰.认真负责,是同事们心目中优秀 Problem Solver. 问:介绍一下你自己? 答:我 2008 年硕士毕业后,前 2 年在一家传统 IT 公司,最近 6 年在

从普通Java程序员到阿里高级架构师,他用了6年!

6年间,一位架构师待过四大门户中的两户,已完成了工程师到架构师的蜕变.经手几款从零到一产品的开发和增涨,也亲身经历国內最大社交网络平台亿级数据流量和用户的架构设计及优化工作.在工作中思路清晰.尽职尽责,是同事们心目中出色 Problem Solver.参加工作时间:8 年服务公司:4 家(含四大门户中的两户)近期岗位:Java 架构师职场关键词:社交网络平台.高并发系统架构设计.技术团队管理.多款从零到一的产品城市! 问:介绍一下下你自身 答:我 2007 年本科大学毕业,前 2 年在一家传统式

Java程序员必读的9本书

本文列出的9本书在Java程序员界都是被认为很棒的书.当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java.这个问题也就表明,相对于其他的教程和博客,Java书籍还是很重要的参考,主要表现在以下两点 通常书籍是由比较权威的程序员来撰写的. 相比其他媒介,书籍对于内容的描述更加详细,解释更加明确. 本文列出的九本书是我个人非常喜欢的Java书籍,当我有时间的时候,我就会将它们捧在手里阅读.甚至有些书我反复读过很多遍,每次重新读的时候总会有新的收获.因此这些书也是

Java程序员的Golang入门指南(上)

Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如果有人说X语言比Y语言好,两方的支持者经常会激烈地争吵.如果你是某种语言老手,你就是那门语言的"传道者",下意识地会保护它.无论承认与否,你都已被困在一个隧道里,你看到的完全是局限的.<肖申克的救赎>对此有很好的注脚: [Red] These walls are funny.

Java程序员面试题集(1-50)

下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最新版本,去掉了EJB 2.x等无用内容,补充了数据结构和算法相关的题目.经典面试编程题.大型网站技术架构.操作系统.数据库.软件测试.设计模式.UML等内容,同时还对很多知识点进行了深入的剖析,例如hashCode方法的设计.垃圾收集的堆和代.Java新的并发编程.NIO.2等,相信对准备入职的Ja

(转) Java程序员应该知道的10个调试技巧

原地址:http://www.csdn.net/article/2012-09-03/2809495-java-debugging-tips-with-eclipse 调试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序.但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面. 在开始之前,推荐大家去看看Eclipse shortcuts这篇文章,它将会给你带来很多方便.在本文中使用的是Ecli

一个java程序员的真实经历

半路出家的老java程序员的一点感悟 我是一个老java程序员,现在基本告别编码时代了,当然我现在还在写代码,不是为了老板写了,是自己在创业.回想起这么多年的人生路,作为一名老程序员感慨颇多,尤其是作为一名半路出家的程序员,其中的滋味更是感慨万分.下面我就自己说说我的经历,也许会给未来码农一点启发. 首先讲讲我是怎么成为一个程序员的,这个还真要说说中国的教育.我们国家的这种应试教育一直受到很多人的诟病,有的指责扼杀了学生的创造力,有的指责培养出来的学生就像火腿厂生产的香肠,都是一个味毫无特点而言

9本java程序员必读的书

来源:http://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=202904638&idx=2&sn=21dd20438e32a24e78e8c33dd4a0991e&scene=1#rd 本文列出的9本书在Java程序员界都是被认为很棒的书.当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java.这个问题也就表明,相对于其他的教程和博客,Java书籍还是很重要的参考,主要表现在以下两点 ●通