Java之父James Gosling谈计算机编程艺术
2002年,著名的”Java2虚拟机内幕”作者对Java之父詹姆斯·高斯林进行了访谈,谈话中,高斯林就软件设计的复杂性和算法发表了他的一些看法。对有志于从事IT软件行业的童鞋来说,听听专家的意见,应该还是不无裨益的。
Java之父James Gosling
2002年3月22日,Bill Venners采访了Java之父,谈论了有关企业软件,算法,用户界面友好软件等话题。以下为全文:
James Gosling不在布道Java语言的时候,通常躲在Sun实验室的一个安静角落,一连好几天都在思索一些新方式,以协助程序员更好地处理程序的复杂性。 他的书架上还挂着一个里的博格人面具,上次JavaOne演讲中他就带在脸上,在面具的低垂注视下,他对Bill Venners款款道来,话题涉及当前的编程趋势,以及对软件系统设计和构建的看法。
企业编程和设备编程(Enterprise vs. devices)
Bill Venners: Java在那么多的手机和智能卡上普及,可是为什么大多数都在用Java编写服务器端的程序?
James Gosling: 我觉得这是北美中心论者的观点. 你要是参加北美的会议,处处可闻人们在讨论企业软件。可是我最近去参加欧洲和日本的一些Java会议,没有人讨论企业软件。
Venners: 那他们在用Java做什么?
Gosling: 他们关注设备,手机上的编程,以及如何实现端到端系统。如果北美的记者有机会去日本最近的JavaOne会议的话,一定会大开眼界,在那里,基本上没企业 软件什么事儿。到处都是嵌入式系统,实时系统,有些稍显笨拙,有些却十分精妙。他们使用Java,让计算无处不在。
企业软件当然有其精髓之处,但是除非和别的领域沾边,否则毫无意义。企业软件已经被边缘化了,要想有所意义,得有端到端的思想。
计算机编程艺术 (The art of computer programming)
Venners: 最近我翻了翻唐纳德的计算机编程艺术,那套书尘封已久,主要讲得都是算法. 可是在我一生的IT事业中,貌似很少用到这些艰深的算法知识。你觉得编程是一种艺术吗?或者说,自从上世纪60年代和70年代以来,我们所理解的算法概念已经有所改变?
Gosling: 不管你在写代码时有没有用到算法,不可否认的是,计算机编程确实是一门艺术。当有性能瓶颈需要解决时,许多人束手无策,毫无办法,他们不理解算法性能的具体含义,他们不懂如何定量地去分析算法复杂度。
很少有人问:”怎样提高程序的运行速率呢”。码农们总喜欢调用现成的APIs函数,封装了一层又一层。有时你会看到深达10层甚至100层的调用堆 栈,不由地呼叫起
相关文档:
基本模式:
1. 接口模式:当多个类提供近似的服务的时候,通过接口模式,不同的服务提供者类所提供的共同的服务就可以被抽象出来,并被声明为一个独立的接口。这样客户对象就能以一种无缝的方式来使用不同的服务提供类,而无需进行任何改动。
2. 抽象类模式:可以 ......
JAVA自学路线图
JAVA自学之路 二:JAVA自学路线图
[转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html]
有不少的同学发信给我,和我探讨java的自学过程应该是什么样的,毕竟有很多人因为各种各样的原因不能参加培训。我试着给出自己的见解,抛砖引玉吧。
这个路线图是给那些为了就业 ......
1
. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
2
. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生 ......
今天一同学做东西要用这个东东,就帮他写了一个,先转化成后缀表达式,然后再
计算.当然也可以直接计算中缀表达式,考虑到要多位数,就没那么做.
支持多位数的带括号的整数的加减乘除.
Java
代码
package
edu.jlu.fuliang;
import
java
.util.ArrayList;
import
......
public class MyEclipseGen {
private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up ......