A、本文名词解释

低阶Java编程==Java1.x时代:按照内部Java版本号,1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6。

高阶Java编程==Java2.x时代:猜测幻想时代,目前没有具体的版本放出。

B、中国山水与西洋油画<==>映射<==>软件功能设计与具体实现代码

我们大家都知道,西洋油画注重的是细节描画,它是写实的,而中国山水画注重的是虚拟的意境,它是写意的。创作写实的西洋油画,需要的工具材料多、时间花费多;写意的中国山水画需要的工具材料少,创作时一气呵成;西洋油画重形,中国山水画重意。映射到软件开发上,从整体上看,在构思软件功能阶段就好比是创作中国山水,在编码实现软件具体功能上就好比是画西洋油画,非的一笔一笔画才行。

让我们再把关注点切近一点,看看构成Java程序系统的基石对象的设计实现上,我们可以把类的概要设计比成中国山水创作,把类的具体实现比做西洋油画创作,映射成Java术语,类的概要设计==interface接口设计,类的具体实现==implements具体类;上述比喻是一种理想的状况,然而在现实的对象设计中(也是我们的思考过程中),人的思维常常处于一种浑沌的、黏着的、不确定的状态,处于一种虚拟与现实、写意与写实交替切换的思维状态,电影中的蒙太奇效果就是利用了我们思维中的这种不确定跳跃性;反映到我们的interface接口或implements具类设计上,我们需要这样一种类,它像interface接口、像implement具类、也像abstract抽象类、但都不是它们,我把它命名为“Java的高阶编程”,在高阶Java编程时代实现。


C、Java的低阶编程

相对于C/C++这样一类操作系统语言来说,Java是高阶编程语言,Java从出生到长大、壮大、不断地跨越新的领域已经十几年了,许多特性都被人们习以为常化了(windows95发布时轰动,windows7发布就平淡多了,同样也是习以为常化了);随着时间的推移,人们习以为常化了,人们就把现在的Java看成是低阶编程,JVM上的系统编程语言,人们就开始思考高阶Java。

从《超越Java》一书,到人们对各类新近冒出来的语言Ruby、Groovy、Scala、JavaFx、Go、等各类语言的追捧,其实都说明了一点,那就是急切需要更高阶的Java(称之为Java2.0把)来应对当前这种局面,人们呼唤着Java2.0的到来,目前的低阶Java难以满足人们快速而多样化的编程需要,在编程实践中,我们常常感到JavaAPI过于低阶,编程低效,其实这与Java的JVM系统语言定位有关。

D、为什么需要高阶Java

我这里简单的比较java与groovy,我把java设看成低阶的系统性语言(相对于JVM),把groovy设看成,建立于java之上的高阶语言(groovy确实也建立在java之上);java比喻成西洋油画,groovy比喻成中国山水画;java严谨写实,groovy松散写意;做同样一件简单事java代码量大,groovy代码量小;但是java对细节的控制力强,groovy因为对细节的封装多,所以对细节的控制力弱;间接地在运行时java快,groovy慢,这是由语言的阶数决定的;做大的系统java开始慢后来快,groovy可能是开始快后来慢,这里的快慢是相对的,这也是由语言的阶数决定的;基本上不可避免的。根据自己的经验做大的严谨的项目,目前还是Java是首选,其它的语言很难替代。

E、高阶Java之路,为Java2.0时代准备好

1、清晰的划分开JVM和Java语言,JVM变身为多语言虚拟机,Java成为JVM平台语言之一,JVM和Java各自重新获得广阔的发展空间。这一变化在Java6中已经开始。

2、Java语言模块化,1.7已经着手在做。

3、Java语言阶梯化,期待着阶梯编程时代的来临。

由Java实际编程中,从西洋油画与中国写意山水画,联想到低阶Java编程与高阶java编程...相关推荐

  1. java 高阶函数_谈谈高阶函数给我们带来了什么。

    什么是高阶函数 一句话解释的话,就是函数可以作为参数以变量的方式持有,引用,构造和使用 一些文章我随手搜的,大家可以看看,它本身的概念并不复杂. 高阶函数-廖雪峰 高阶函数-wiki 其实现在主流语言 ...

  2. Python中的装饰器、迭代器、生成器、推导式、匿名函数和高阶函数

    文章目录 装饰器 迭代器 生成器 推导式 匿名函数 高阶函数 装饰器 闭包 介绍装饰器前先了解一下闭包,在Python中,一切皆对象(Object),函数(Function)也不例外,也是一个普通的对 ...

  3. 函数式编程中的组合子

    函数式编程是一个比较大的话题,里面的知识体系非常的丰富,在这里我并不想讲的特别的详细.为了应对实际中的应用,我们讲一下函数式编程中最为实用的应用方式--组合子.组合子本身是一种高阶函数,他的特点就是将 ...

  4. 如何学习Java? 在学习Java的过程中需要掌握哪些技能?

    作为刚刚进入Java领域的新同学,无论是高校的毕业大学生,还是有志转行的在职人员,都面临着诸多如下的困惑:如何学习Java? 在学习Java的过程中需要掌握哪些技能?Java学习过程中有哪些注意事项? ...

  5. Java 8流中的常见SQL子句及其等效项

    功能编程允许使用通用语言进行准声明性编程 . 通过使用功能强大的流畅API(例如Java 8的Stream API )或jOOλ的顺序Stream扩展Seq或更复杂的库(例如javaslang或fun ...

  6. 计算机算法对程序设计的作用,计算机编程中数学算法的优化策略

    李钰 摘要:在计算机编程中,合理地运用数学算法所拥有的优势不但可以完好地针对所拥有的问题进行总结分类归纳,还可以将其归纳作为基础从而进行针对性的统一计算,并且能够将非常复杂的问题进行整体的简化并且将其 ...

  7. unity3d shader编程中GrabPass 在某些android手机上失效的解决方案

    unity3d shader编程中GrabPass 在某些android手机上失效的解决方案 参考文章: (1)unity3d shader编程中GrabPass 在某些android手机上失效的解决 ...

  8. 在Java生成的html页面加水印,Java在Excel中添加水印的实现(单一水印、平铺水印)...

    在Excel中没有直接添加水印的功能,但依旧可以通过一定方式来实现类似水印效果.本文通过Java程序代码介绍具体实现方法.可添加单一水印效果,即水印是以单个文本字样来呈现:也可添加多个平铺水印效果,即 ...

  9. python中函数的调用_慢步python,编程中函数的概念,python中函数的声明和调用

    函数,曾经是一个很高大尚的概念.笔者是在高中数学里认识的函数,先是从y=2x+3 这条代数式开始的.y是因变量,x是自变量,y因为x取值的变化而变化. 再后来式子变成这样:f(x)=2x+3,f(x) ...

最新文章

  1. 好久没更新了,马上回来,精彩继续
  2. BZOJ 2045 容斥原理
  3. 俞渝长文手撕李国庆,爆出“同性恋梅毒”秘辛,编剧都写不出来的剧情
  4. Servlet转发forward和重定向response.sendRedirect()区别
  5. java 选择排序入门
  6. error “Device supports x86, but APK only supports armeabi-v7a”
  7. 从jvm层面来看多线程问题
  8. MATLAB学习笔记(1):MATLAB简介
  9. 微信小程序中长按识别二维码
  10. 判断是否为无损连接分解
  11. mac苹果电脑使用耳机听不到声音
  12. VS2019+OpenCV4.5 鱼眼相机图像畸变矫正
  13. 密码库LibTomCrypt学习记录——(2.25)分组密码算法的工作模式——EAX加密认证模式
  14. Flutter-RefreshIndicator不能下拉刷新
  15. 深度学习(4):NCHW和NHWC
  16. NO PAPER COWBOYS【翻译】
  17. 计算机视觉—基于BOW的图像检索
  18. 转 嵌入式与UML建模 车载GPS
  19. 工单系统ferry 01--docker部署ferry
  20. 小学用计算机画图单元教学要求,小学电脑绘画教学探究

热门文章

  1. 人社部明确:劳资双方协商一致可以采用电子合同
  2. bootstrap丰富的html标签和css类(一)网格系统、文本排版、代码块显示、表格显示
  3. 音量调节物理按键及音频焦点之AudioManager
  4. json数据解析 android,Android基础之json数据解析
  5. SVN 小乌龟 代码 merge
  6. 虚拟主机php提速,速度提升两倍!西部数码虚拟主机率先支持php7.0
  7. 【阿里技术沙龙】打造手机淘宝开放业务生态
  8. CSS设置字体——系列和风格
  9. 发布到微信小游戏平台
  10. 游戏服务端开发之防御性编程