为什么 Java 要采用 C++ 的构造模式而不是 Delphi 的?!(50分)

离楼主的的主题越来越远[:)],再次抱歉
[blue]开放的心态;健康的怀疑态度;不断挑战(自己)[/blue]​
转贴一点东西(from delphibbs),在可能的领域,尽量不给自己戴帽子,虽然有时候很难。

Oracle(甲骨文)的CEO Larry.Ellison在耶鲁大学2000届毕业典礼上的演讲
耶鲁的毕业生们,我很抱歉---如果你们不喜欢这样的开场。我想请你们为我做一件事。请你---好好看一看周围,看一看站在你左边的同学,看一看站在你右边的同学。 请你设想这样的情况:从现在起5年之后,10年之后,或30年之后,今天站在你左边的这个人会是一个失败者;右边的这个人,同样,也是个失败者。而你,站在中间的家伙,你以为会怎样?一样是失败者。失败的经历。失败的优等生。   说实话,今天我站在这里,并没有看到一千个毕业生的灿烂未来。我没有看到一 千个行业的一千名卓越领导者,我只看到了一千个失败者。你们感到沮丧,这是可以理解的。为什么,我,埃里森,一个退学生,竟然在美国最具声望的学府里这样厚颜地散布异端?我来告诉你原因。因为,我,埃里森,这个行星上第二富有的人, 是个退学生,而你不是。因为比尔·盖茨,这个行星上最富有的人---就目前而言--- 是个退学生,而你不是。因为艾伦,这个行星上第三富有的人,也退了学,而你没有。
再来一点证据吧,因为戴尔,这个行星上第九富有的人---他的排位还在不断上升,也是个退学生。而你,不是。   ......你们非常沮丧,这是可以理解的。   你们将来需要这些有用的工作习惯。你将来需要这种“治疗”`。你需要它们,因为你没辍学,所以你永远不会成为世界上最富有的人。哦,当然,你可以,也许,以你的方式进步到第10位,第11位,就像Steve。但,我没有告诉你他在为谁工作,是吧? 根据记载,他是研究生时辍的学,开化得稍晚了些。 现在,我猜想你们中间很多人,也许是绝大多数人,正在琢磨,``我能做什么? 我究竟有没有前途?``当然没有。太晚了,你们已经吸收了太多东西,以为自己懂得太多。你们再也不是19岁了。你们有了``内置``的帽子,哦,我指的可不是你们脑袋上的学位帽。 嗯......你们已经非常沮丧啦。这是可以理解的。所以,现在可能是讨论实质的时候啦--- 绝不是为了你们,2000年毕业生。你们已经被报销,不予考虑了。我想,你 们就偷偷摸摸去干那年薪20万的可怜工作吧,在那里,工资单是由你两年前辍学的同 班同学签字开出来的。事实上,我是寄希望于眼下还没有毕业的同学。我要对他们说 ,离开这里。收拾好你的东西,带着你的点子,别再回来。退学吧,开始行动。 我要告诉你,一顶帽子一套学位服必然要让你沦落......就像这些保安马上要把 我从这个讲台上撵走一样必然......(此时,Larry被带离了讲台)
 
这是我上次对这段话的回答,再贴一次。
其实Larry.Ellison的话有很大的迷惑性,或者说是标榜自我以提高公司价值的手段,他还干过很多出格的事,这在美国是很受人欢迎的,所以他成功了。
他全都是用世界上少有的几个天才来举的例子,这样的天才比他们学校的老师水平高多了,试问再继续向老师学习又有什么用呢,可绝不能说他们没有知识啊,比尔的编程知识肯定比我们强多了,所以我们看着成功人士发表讲话时,一定要保持清醒。
另外,在看待这件事时,我们一定要搞清楚因果关系,首先是一个人才选择辍学,而不是因为辍学而成为了人才,要不国家也不用搞希望工程,直接到乡下去请人算了。
 
to Badlucky:
不必那么严肃,这不是真的。
但许多Linux程序员很欣赏这个传闻,不是指辍学,而是指反叛与怀疑,自由而不受约束。
 
其实我也很怀疑这段故事的真实性,但相信它也是从现实中提取出来的,其实也许类似的事件每天都在发生,我们又该如何看待呢。
关于自由和怀疑是一种纯粹的东西,可既然它来到世上就难免沾染上别的东西,我每次想到LINUX就会联想到“荆坷刺秦”的故事.......,各位觉得呢?
 
一切贤圣,皆以无为法而有差别.
另外呢:
凡所有相,皆是虚妄.
 
虽然道路曲折,但终成正果。
阿弥陀佛。
[:)]
 
佛经里有一段:
若菩萨心。住于法而行布施。如人入暗。即无所
见。若菩萨心。不住法而行布施。如人有目。日光明照。见种种色。

解释过来就是:
若住于方法 ,那么这个人就象进入暗处,什么都看不见
若不住于方法,那么这就象一个人有眼睛,日光明照,可以看见世间种种现象.
 
僧多粥少,每人一勺
 
多人接受答案了。
 
to bh812
“最后一句,我讨厌所有的面向对象,他让我缩手缩脚,不能和我平人思维一样工作,学习,我讨厌如此多的语法,要求,如此严格的形式,你们不觉自已已缺少想象能了吗?”
学一下perl,体验一下自由。
 
这么快结帐了,再加一帖讨论
秋之叶的写法很有创意,但并不完全.
Delphi的构造是在Create中,但java的构造分成两部分,把子类部分写成下面这样可以测试
public class Child extends base
{

int i = 10;
//注意此处,这也是构造的一部分
public void init()
{
System.out.print("child/n");
System.out.println(i);
//注意此处
super.init();
}

static public void main(String[] args)
{
Child c = new Child();
c.init();
}
}
其结果为
child
0 //注意这里,并没完成子类的构造
base
child
10 //这时才是完成了子类的构造
base
Press any key to continue...
我很少用java,是在一个很旧的Jdk下调试的,新版本是不是这样不太清楚.
只讨论不争论
 
关于Java、C++和Delphi的比较早就有专家级的详细论述。大家不妨读一读
Marco Cantu的"面向对象编程语言比较: Java、C++和Object Pascal(Delphi) “
这篇文章比较了这三种面向对象语言的24个方面。
原文参见:http://www.marcocantu.com/papers/ooplang.htm
中文翻译收录在《Delphi面向对象编程思想》的附录中。
这里我摘录中译版的最后一节:
---------------------
结论:语言和开发环境
就像我上面提到过的,虽然我尽力做到只比较语言的语法语义特性,但在适当的环境中考察它们是很重要的。这些语言为不同的目标开发出来,是为了以不同的途径解决不同的问题的,并在不同的开发环境中被应用。虽然语言和它们的开发环境体现了彼此的一些特性,但它们是为了满足不同的需要而建立的,就像我们在对比这些特性时看到的那样。C++的目标是强大的功能和控制能力,代价是复杂性提高;Delphi的目标是在不损失太多功能的情况下,尽可能简单以及可视化编程和同Windows紧密结合;Java的目标是兼容性和分布式应用,为此不惜牺牲一些运行速度。决定这三种语言命运的并不是我这篇文章中所涉及的那些语言特性。Borland的财政状况,Microsoft对操作系统的控制,Sun在Internet世界的声望(许多人认为的反微软),Web浏览器和Win32 API的前景,ActiveX(以及Delphi的ActiveForms)将扮演的角色,这些都是影响你选择的因素(往往超过了技术因素)。例如那个非常优秀的语言Eiffel--Delphi和Java都从中吸取了很多灵感,没有抢到任何市场份额,虽然它在全世界的许多大学中都十分流行。
记住,"时髦"这个词已经在计算机世界占有了前所未有的地位。就像用户喜欢使用今年新版本的软件(这大概就是为什么操作系统都以年份命名),程序员们也喜欢用最新的程序设计语言,并希望第一个掌握它。我们可以说"Java并不是最新的OOP语言",在未来的几年里,一些人会开发出更时髦的语言,而其他人则会蜂拥而上,全然忘记了这个世界上大多数程序员还在他们的键盘上敲打着传统的Cobol语句!
 
wuliaotd:
你的"结案呈辞"让我有点感慨........
 
顶部