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

wuliaotd:
呵呵,我主要是用VC的,并不是DELPHI,但我觉得技术并不是由VC或DELPHI来决定的,只不过工具不同而已,用剑的就一定能打的过用木棒的吗?
请收回你的这句>>"却无法制止整个Delphi圈子外的人对Delphi的一些看法和意见,也无法提高Delphi程序员的地位"<<话,你没有资格代表Delphi圈子外的人,最起码我和我的朋友们就没有这种思想,而且我们尽可能的和DELPHI来相结合,浅薄的人说浅薄的话,我原谅你,毕竟你还年轻,到此为止吧,我接受你的道歉,不在回此贴.
 
仿佛记得95年的电脑报或软件世界 曾经讲过用C实现面向对象编程,上中下,其实没有多大意义(别抬杠,我说对普通程序员)。
 
一直以为面向对象是一种方法论,是一种对世界的看法,编程工具只是借鉴了这种方法而已。你可以喜欢JAVA的万事万物皆对象,也可以喜欢DELPHI和C++的混合类型,但似乎这一点很难体现和说明编程工具的优劣,只不过看法不同而已。
我是一个对象,你也是一个对象,我们站在一起,我有个接口“嘴巴”,你有个接口“耳朵”,我用我的接口和你的接口沟通了一下,看起来好像一切都发生在对象和对象之间,可是你我怎么就站在一起了呢?是有一个“过程”在推动这一切呢,还是有个“对象”在安排这一切呢?我搞不懂,所以不敢胡说。
其实觉得这几个语言都比较好的实现了面向对象思想,只不过侧重点不同而已,但对JAVA的崛起总觉得有很大的商业上的因素,所以我不想被人牵着鼻子走,我还是继续用DELPHI搞快速开发,用VC搞底层和复杂应用。
 
To ddev
谢谢对面向对象的概括.

To wuliaotd
最想对你说的一句话就是: 不知道究竟是Delphi不行,还是你不行????
对一个能编出Mac操作系统的编程工具, 你却只知道Delphi只能编一些window桌面程序.
搞笑,真是搞笑!
 
有些人总认为自己的工具好。容不得别人说半点瑕疵。好像Java就真的全方面超过Delphi了似的,好像Delphi就一无是处似的。有Java一些方面超过Delphi我不否认。但我用Delphi写过主板驱动程序的补丁。我能嵌入汇编写磁盘格式化工具。Java能做吗?
所以一不要认为自己学的东西一定全方面比人家的强,虚心一点。
还有上面的那个用C来访问虚方法表的哥们儿。没人说C做不到Inherited。
我还见过一个VB哥们,总说VB好,我们就谈论到了指针。他说VB只是不支持指针变量,但是指针的操作都是能实现的。于是很繁琐的用了好多方法来演示VB对内存地址的操作。
如果非让鸭子去用扁嘴啄虫我想也可以啄到,但是有必要吗?
还有OOP是思想,没甚从Delphi领悟的就一定要有缺陷。我就是从Delphi领悟的。C++和Java到了我的手里还不是一样。OOP没说一定要和什么语言绑定吧?
 
晚上揭帖,好阿,接分了
 
现在有些人学到了一些知识,就很喜欢拿这些知识去砸人来表示自己的厉害之处。作为
软件开发的思想而言,很多都是一些普遍性的技术思想,并不局限于某种语言。就如UML
设计模式等这些技术,并不是某种语言的专利。本人很喜欢Delphi,而很认真学习UML,
设计模式。老实说,如果UML或设计模式只限于某些语言的话,它就不会有今天的成功。
我看过一本讲解如何使用use case 来做分析的文章,在参考文献那里有一些参考资料,
下面列其中几本:
《How Buildings Learn》 这是一本关于建筑结构方面非常有趣的书。但第11章
“The Scenario-Buffered Brooks”包含了可以应用于软件设计的很好思想。
《The Popcorn Report》这本书是关于社会的市场趋势。当你对自己所开发的产品进
行风险分析时,或许会很有用处。
《The Belgariad and the Mallorean series》等你去征服的美丽的女郎。人物性格很
深奥,刻画全面,也很有趣。
  作者之所以列出一些跟软件开发无关的书,正如作者所说的那样:希望从多个角度去
待软件工程......在软件开发中,它们能够启发我们的思路,并提供一些新的思维角度。
  无论是Delphi 也好,Java 也对,我们没必要去捧谁打压谁。我们更多的,应该是吸
取其好的地方,不断充实和提供自己。有些人认为在Java中使用设计模式很多,在Delphi
中就很差劲,这说明他在设计模式上是那样的短视。在VCL及其衍生出来的应用框架,都
在使用着设计模式。有些人说在Delphi中使用UML不行,这也说明他对UML的不了解。作为
建模语言而言,它是游离于具体开发之外的一套独立的体系。
  诚言,在Java开发上应用UML比Delphi的多,但这并不表示Delphi不行。而是Java跟
Delphi的应用领域不一样。Java 所面向的领域大多是企业级的应用,所处理的很多都是
一些复杂的需求和环境,使用UML的目的就在于让人能够更好、更充分、清晰地理解这些
需求和环境。而Delphi 更多的是面向桌面的应用,所处理的需求和环境很多都是并不很
复杂,相对容易理解的。所以在不使用如UML这些分析工具的情况下,仍然很好地得到表
达和理解。
  技术在不断革新和变化,各种开发工具、语言都在不断吸取和发展。C#有了Java的成
功的基础会变得更好,反过来Java 会吸收C#优胜的地方来革新自己。同样,Delphi 也在
不断的发展,也在不断将一些新的技术如UML纳入自己的开发环境之中。
  我们不应该执着于那种语言是OO语言,那种不是OO语言。应该是如何分清在什么环境
下,那种思想、技术是最好的,并实现它。Delphi、C# 的编译器都是用汇编语言写出来
的,难道说它不是OO就很差劲?如果真的是那样,微软肯定是个笨蛋傻瓜,用这么大的代
价去Borland 公司挖角!
 
面向对象是一种思想,一种方法论,不错。但是方法需要工具来支持,所以,对支持面向对象工具的比较,分析他们的异同和优缺点(或者优点和优优点)就有必要了。
面向对象方法至少包括 面向对象分析、设计和实现(其他的比如维护算不算?),只从delphi领悟好像不是好办法。
我个人认为wuliaotd的一些观点是对的。
 
我分析设计实现都作过,Delphi、Java、C++也都用过。我就是不明白有些人说的Delphi面向对象很差,我不知道差到哪里?是我水平太差没体会到,还是说这话的人没体会到呢?
 
浪费精力。
语言都是好的,有它本身的适用范围。
 
都说了,各有各的优势和侧重点,JAVA再好,你会用它做桌面应用吗?
然后这里最喜欢用的句式就是强加一个罪名,然后再进行攻击。
“只从delphi领悟好像不是好办法”谁说过要只从DELPHI进行领悟了,只是说DELPHI对面向对象思想的实现有自己的优势之处。
其实心里是在给自己制造“假象敌”,然后进行批驳以证明自己比他人见识广博。就好比周星驰常说的那句“为什么要逼我!!!”
 
[:D]
“只从delphi领悟好像不是好办法”
----说的不是你吧。那么激动干啥?[:D]
“其实心里是在给自己制造“假象敌”,然后进行批驳以证明自己比他人见识广博”
----怎样把握炫耀和表述?你凭什么?说的是你自己吧。
 
点到即止吧,我可不想和你陷入恶性循环。这有几个是在回答楼主问题的或者进行学术讨论的,老是陷入无谓的比较中,赶快结帖吧。
 
[:(]还是发出去了。
以下与主题无关:
1、请大家关注一下Crane的观点,相信他是过来人。
2、对于初学者,delphi不利于养成良好的编程习惯,包括面向对象。
3、C++的资源很丰富,包括书籍和工具。
4、C++有比delphi精彩的得多的东西。
5、闭嘴,动手。
 
今晚有没有分!
 
刚才做了一个简单的测试。
证明java可以向delphi一样构造时先执行子类代码,大家可以试试
父类
public class base
{
public base()
{
init();
}

public void init()
{
System.out.print("base/n");
}
}
子类
public class child extends base
{
public void init()
{
System.out.print("child/n");
super.init();
}

static public void main(String[] args)
{
child c = new child();
}
}
其实,java是个非常灵活的东西,尽管delphi跟了我三年,但java只用了半年就让我倾倒了。
 
to all:
呜呼哀哉!看来我自杀不足以平民愤了。但,青天大老爷,我冤啊!
我说过“Delphi就一无是处”吗?我需要“表示自己的厉害之处”吗?
我什么时候“认为自己的工具好。容不得别人说半点瑕疵”?我认为Java比Delphi好吗?
我一再重申我的观点仅仅是“Delphi对OOP的支持得不好(Java要好一点)”,不管我的观
点对不对,与Delphi和Java的优劣何干?
为什么火冒三丈的?你给大多数Java程序员说Java很烂,他们大都是一笑了之,还要冲过来
和你握手:“找到同志了!”对不对,正如楼上的说Java很烂的少了吗,我反驳没有?是谁
“容不得别人说半点瑕疵”?
为什么C++程序员工资高?给说你们说点老实话吧,要是Java工具都象Delphi一样优秀了,
我们喝西北风啊?极端的说,Java越烂我们越高兴,工资越高,因为几乎所有的东西都得
自己制造。(天见可怜啊,但愿Java永远这么难学,永远这么烂,并且永远只有Java才能
完成的理想状态持续三十年吧!)C++程序员更是一切都在自己的控制之中。
OK,Delphi完美无缺,你们也需要精神胜利,的确很优秀。但正如Crane说得好:Delphi都
把事做完了,老板凭什么给你发每月高达1—2W的工资?(原话大意如此)
COBOL,烂不烂我不知道,宝钢的系统用它做的,培养了几乎是国内第一批COBOL高手,后来
上海工行上IBM大型机,把他们挖过去,年薪四五十万!为什么啊,他们比我们高得了多少?
无非是IBM大型机上只能玩那玩意儿,要是可以用Delphi开发的话,当头的搞设计的可能年薪
差不多,普通程序员,嘿嘿,年薪几万而已,对不对?
多媒体教学课件,原先都用VB做,程序员在项目组中的地位几乎是最高的,后来Authorware、
Director甚至是课件大师出来了,项目组的程序员马上被学科老师、美工和音乐师盖过了势头。
假设一种似乎是无法永远不可能的情况,要是计算机理解了人类的意思,用任意而非规定的
自然语言就可以对计算机下指令了,那么,我们多少人要失业啊!
工具越好,越不值得骄傲;正如楼上所言,要用木棍战胜屠龙刀才是英雄。
Crane,不好意思,如果我胡乱的解释了你的意思,还望见谅。

to James Martin:
1、谢谢你在乱刀之中支持我肤浅的观点。(真诚地)
2、对于学习,我认为正因为Java很“烂”才能学到基础性的知识。我是一个Java初学者,
自我感觉和Delphi初学者有差异,让Delphi高手生气了,却不是我的本意。
3、(有可能不是事实:)Delphi把基础性的东西的封装了,对于初学者来说,理解容易浮于
表面。(这句话是事实:)而在Java中如果你没有理解其运行机制,很有可能你的代码要报
错,只要你明白了它为什么要报错,也就理解了那些基础性知识的为什么。
 
假设一种似乎是无法永远不可能的情况,要是计算机理解了人类的意思,用任意而非规定的
自然语言就可以对计算机下指令了,那么,我们多少人要失业啊!
-----------------------------------------------------
可能现在难以理解,不过我认为之一天早晚要到来的.
 
楼上兄弟你弄错了,你没有重写基类的构造器,而是重写了一个虚方法,说的不是一回事。
 
为什么你们认为某种语言无比强大,我是什么也没有学好的人,我只知道要很好地用一种开发工具进行对许多业务、许多工作内容进行管理、模拟进要花费很多工夫设计,写很多很多语句。你们不觉很麻烦吗?为什么不让我只写描述一下我想做到的,就能得到相应的软件功能呢。而最可气的是都是老外的,他们做的东西,开始时资料又少,学又得好几年,然后新的东西又来,然后又学,永远在别人后面,有人条件好,有环境,有机遇学得深一点,当然就可以解决问题能务就强一点。
这些人要是真的理解别人语言的精要后,也要为国人争口气,做些国人好用,老外没有的东西让我们也好学学(我认为学东西最难的事就是资料少)。我不知面向对象能不能做到这样:我在屏幕上写上:请写一个删除文件的过程吧,它就生成了
然后我又写上:写一个将文件删除的程序吧
系统告诉我:有一个下删除过程,行吗?
我又写上:笨蛋,我说的是一个程序
系统告诉我:你才是笨蛋,过程不是更好吗?
然后,啪的一声,系统关机。
不错,人工智能,如果上面的高手(你们说的我是都搞不懂,我只有一点体会,我觉得用.net时有用delphi的感觉。反正我只管能用就行,能完成我工作就行,本来嘛,一个业余的,又能做什么呢)有钱后能向这边靠靠,搞出中国的智能化操作系统(我认为这是我们最后的机会),我可就要好好学习了,
最后一句,我讨厌所有的面向对象,他让我缩手缩脚,不能和我平人思维一样工作,学习,我讨厌如此多的语法,要求,如此严格的形式,你们不觉自已已缺少想象能了吗?
就说到这里,一个水平低但又想祖国软件业强大的人
 
顶部