Java.next:第一部分——共同点

本文是Java.next系列的第一部分。在这一部分,我将探讨作为Java.next的语言所具有的共同特征。

我选择了四种语言作为“Java.next”的代表:Clojure,Groovy,JRuby,以及Scala。乍看起来,这几种语言有着 很大的不同。Clojure是Lisp方言;Groovy是作为“类Java”的选择;JRuby即具有Ruby语言的优雅,同时也有着Rails所带来 的优势;与其他都不一样的是Scala,它有着静态语言所具有的特点。

正如你所料想的一样,有很多关于这些语言中谁才是最好的辩论。之所以有着这么多的辩论,很大程度上是因为这些语言有着很多共同点。它们有着一个共同的演变背景:Java语言。Java语言所具有的优点以及缺陷影响着这些语言的设计方向。

在这篇文章中,我着重从下面两个方面来阐述这些语言的共同点:

☆ 过去的10年中,我们在基于虚拟机、面向对象的语言编程中得到了很多关于如何开发易读的、可维护的应用。Java.next吸取了这些成果,使得这些语言更注重于问题的本质而不是形式。

☆ “本质 VS 形式”的设计理念使得编程方式发生了很大的改变,这种观念的变化比以前从C/C++到Java的转变更大。

我将Java.next所具有的共同优点概括为以下八点:

● 一切皆对象

● 简洁的属性定义方式

● 易用的集合类

● 函数式编程

● 运算符重载

● 可维护的异常处理

● 给已有类增加新方法

● 创建新的语言结构

一切皆对象

在Java中,我们每时每刻都要面对对象类型与基本类型的不同之处。这种不同导致三个实际问题:

1.API必须写两份:一个针对对象类型;一个针对基本类型。更糟糕的情形是需要重写多份:一个针对对象类型,然后对每一个基本类型各写一份。

2.默认的数值类型有着范围限制,一旦越界,程序会以诡异的形式中断。

3.对于那些高精度类型(译者注:指BigInteger等类型),你不能使用直观的数学操作符(+,-,etc.)来操作它们。

在Java.next中,一切皆是对象。你可以在所有的类型上使用相同的语法调用方法。

; clojure
(. 1 floatValue)
1.0
// groovy
1.floatValue()
===> 1.0
# ruby
1.to_f
=> 1.0
// scala
1.floatValue
res1: Float = 1.0

时间: 2024-09-27 02:24:35

Java.next:第一部分——共同点的相关文章

学习JAVA的第一方案 (转贴)

发信人: linuxandjava (linuxANDjava), 信区: Java 标  题: 學習JAVA的第一方案 发信站: 网易虚拟社区北京站 (Thu Apr 20 09:59:51 2000), 站内信件 國內雖然商品化的JAVA作品不多,但是學習JAVA的人數卻扶搖直上. 為了幫助更多的人能夠少走彎路,花最少的錢,用最少的時間, 最大限度的掌握Java, 本人提出如下方案,供初學者參考: 1. 第一階段; 入門    這個時候,最主要的任務是對Java有一個大致的了解,掌握基本的語

慕课网“JAVA入门第一季”课程受偏爱 超5万人学习

作为国内最大的IT技能学习平台--慕课网,2014年12月4日再次创造业内一项行业奇迹.2014年6月9日上线的"JAVA入门第一季"课程经过短短5个月的时间,学习人数突破5万,创造行业首个单门课程学习人数奇迹.如此惊人的数据,令笔者不得不对慕课网的课程做了一个小小的深入研究. 视频讲解+在线编程,混合式教学边学边练引领行业平台优势. 在互联网海量的IT学习资源中,慕课网的JAVA课程为何备受学习者青睐,成为5万用户的选择?这和慕课网独家的课程设计有必然关系.视频课程+在线编程实操平台

为什么大家说到JAVA都会第一时间联想到WEB开发?

问题描述 为什么大家说到JAVA都会第一时间联想到WEB开发?难道JAVA就只是能做WEB开发?当然WEB作为目前比较流行的客户端展示层被广泛的使用,但是WEB并不是JAVA的所有,JAVA可以做更多有意义的事情.尤其在企业级开发中发挥着重要的基石作用.你想更多的了解JAVA的真正魔力吗?你想知道如何使用真正的强大的JAVA工具开发企业级应用吗?初定于2011年1月8日在上海举行一次免费的公开培训课程,内容如下:1.OSGi框架在企业级应用中的发展历程:2.使用SpringDM简化OSGi的开发

Java学习第一课:搭建Eclipse+MyEclipse+Tomcat

原文:http://www.cnblogs.com/cy163/archive/2009/05/01/1447565.html   cy163注:最好使用tomcat的安装版,这样可以不用增加和设置 Windows的系统变量,另外,安装版的tomcat提供快捷方式启动和关闭 Tomcat .而在非安装版,只能在DOS的命令行方式输入shutdown.bat和startup.bat来启动和关闭 Tomcat. 安装版下载地址 http://www.eu.apache.org/dist/tomcat

JAVA EE 第一阶段考试

在第一阶段中我们学习了Spring Struts2 Hibernate.虽然在外面的公司中,公司项目的框架中都不在使用Struts2了.他好像出现了不可修复的bug.但是在学校,依然还是要学习这个.在这个元旦也没有好好的休息.主要是在为接下来的这个项目做准备.项目的前端主要使用easyui.之前一直都没有使用过. 今天的机试题:看看要求      在做这个的时候,对于第二个要求,使用验证框架.主要是少导了一个包.就怎么都不会显示 当我注册信息出错的提示.其他的都完成了. 笔试题:主要是理论了选择

JAVA EE 第一阶段项目问题

一: 乱码   原因:         由于同组的其他同学的myeclipse默认的编码方式是GBK,而我的默认的是UTF-8.所以当我使用svn把其他同学提交到组长那里去的代码下载下来的时候,就全乱码了!  解决问题:       我直接在Window--->Preferences-->General-->Workspace-->这里改           我上课不怎么喜欢带手机的.所以我的同学就帮我查了!   结果是在这里改的Window--->Preferences--

Java入门教程系列 – 第一个程序 “hello, world”

原文Java入门教程系列 – 第一个程序 "hello, world" Posted on 2012 年 5 月 25 日 by Johnny "Hello, World"程序指的是指在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.一般来说,这是每一种计算机编程语言中最基本.最简单的程序,亦通常是初学者所编写的第 一个程序.它还可以用来确定该语言的编译器.程序开发环境,以及运行环

《Java 开发从入门到精通》—— 第2章 第一段Java程序 2.1 搭建Java开发平台

第2章 第一段Java程序 Java 开发从入门到精通经过本书第1章内容的学习,已经了解了Java语言的基本特点,并且对面向对象编程思想有了一个大体了解.从本章开始,将和大家一起来学习Java语言的基本知识.在学习具体语法知识之前,首先讲解搭建Java开发环境的方法,并通过一段程序来介绍Java的运作机制,为步入本书后面知识的学习打下基础. 本章内容 搭建Java开发平台 编写第一段Java程序 使用IDE工具 Java的运行机制 技术解惑 遵循源文件命名规则 忽视系统文件的扩展名 环境变量的问

Java之路第一步——搭建Java开发环境

本来刚开始应该介绍一下Java的,标题都想好了--Java的前世今生,但是为了节省是时间,就直接切入主题了,感兴趣的可以上网查一下. 要进行Java开发,首先要安装JDK(Java Development Kit)[Java开发工具包].   JDK 是编译Java源码.运行Java程序所必需的,例如JVM[Java虚拟机].JRE[Java运行环境],基础类库.打包工具等.所以学会JDK的配置是学好 Java 的第一步.   JDK的下载 JDK有不同的版本(J2SE.J2EE.J2ME),初