最近,这三种工具都用了一下,Delphi我最精通,C#次之,Java刚入门。我觉的工具差别不大,开发效率也差不多,主要取决于程序员的能力。但是,我还想比较一下,还有Delphi真的是日落西山了。从语言角度
C#和Java都支持现在流行的语法元素,它们之间几乎没有差别,而且都是类C语法,简直就是双胞胎,Delphi的Pascal语法没有多少改进,仍然不支持范型等语法,运行期类型信息依然缺乏。但是有些C#的语法已经有点过分了,比如支持在不同的文件中书写同一个类的不同部分,这很要命的语法,会让一些源代码很难理解,还有对其他类的使用静态方法扩充,都会产生非常恶劣的后果。又支持拉姆达表达式,我想有些人可以把源代码写成天书了。从语法美观角度
C#和Java都是不堪入目的,变量随处声明的恶习,让观看源代码浪费了很多不必要得时间,现在我才理解为什么,使用Java的时候那么重视类图的绘制。Pascal是很优美的,漂亮多了,整齐,美观。要知道,很多伪代码都是类Pascal语法的,怪不得Delphi程序员都不怎么写框架图呢,因为程序本身就非常直观了。调试器
C#的最好,Pascal的次之,java使用的调试器好像很多,都不怎么样。IDE
C#的最好,Pascal的次之,java使用的也够泛的。类库
C#的最好,Java不错,Pascal一塌糊涂,C#不管怎么样,.net FrameWork提供了大量丰富的类实现各种应用。Java也有很多不错的FrameWork,Delphi的VCL一百年不动摇,第三方控件良莠不齐,质量难以保证,Delphi自带的一些第三方控件都Bug无数,要做商业开发简直是拿我们的信誉在作赌注。C#和java的类库质量都相当不错。跨平台
Java可以,C#只能在微软自家的一亩三分地里面搞搞,Delphi,也是如此。总结:
Delphi开发效率一般,C#最好,Java次之,Delphi不适合商业开发,用于共享软件和爱好者开发还是很不错的。但是,例外的是,如果你用Delphi开发一些比较底层的应用,要比C++好。
C#和Java都支持现在流行的语法元素,它们之间几乎没有差别,而且都是类C语法,简直就是双胞胎,Delphi的Pascal语法没有多少改进,仍然不支持范型等语法,运行期类型信息依然缺乏。但是有些C#的语法已经有点过分了,比如支持在不同的文件中书写同一个类的不同部分,这很要命的语法,会让一些源代码很难理解,还有对其他类的使用静态方法扩充,都会产生非常恶劣的后果。又支持拉姆达表达式,我想有些人可以把源代码写成天书了。从语法美观角度
C#和Java都是不堪入目的,变量随处声明的恶习,让观看源代码浪费了很多不必要得时间,现在我才理解为什么,使用Java的时候那么重视类图的绘制。Pascal是很优美的,漂亮多了,整齐,美观。要知道,很多伪代码都是类Pascal语法的,怪不得Delphi程序员都不怎么写框架图呢,因为程序本身就非常直观了。调试器
C#的最好,Pascal的次之,java使用的调试器好像很多,都不怎么样。IDE
C#的最好,Pascal的次之,java使用的也够泛的。类库
C#的最好,Java不错,Pascal一塌糊涂,C#不管怎么样,.net FrameWork提供了大量丰富的类实现各种应用。Java也有很多不错的FrameWork,Delphi的VCL一百年不动摇,第三方控件良莠不齐,质量难以保证,Delphi自带的一些第三方控件都Bug无数,要做商业开发简直是拿我们的信誉在作赌注。C#和java的类库质量都相当不错。跨平台
Java可以,C#只能在微软自家的一亩三分地里面搞搞,Delphi,也是如此。总结:
Delphi开发效率一般,C#最好,Java次之,Delphi不适合商业开发,用于共享软件和爱好者开发还是很不错的。但是,例外的是,如果你用Delphi开发一些比较底层的应用,要比C++好。
vs 2005 用了 vc 的很难受。。
delphi的第三方组件库远比.net丰富,虽然许多有BUG,但都不是要命的,fastreport/reportbuilder/vclskin/devexpress/raize都是非常优秀且成熟的,这些精彩的东西在C#中很难发现。
delphi2006其实是一个很好的东西,可以用ObjectPascal一种语法编写基于.net/win32的应用,其能力好象没有比vs2003差。
C#的最好,Java不错,Pascal一塌糊涂,C#不管怎么样,.net FrameWork提供了大量丰富的类实现各种应用。Java也有很多不错的FrameWork,Delphi的VCL一百年不动摇,第三方控件良莠不齐,质量难以保证,Delphi自带的一些第三方控件都Bug无数,要做商业开发简直是拿我们的信誉在作赌注。C#和java的类库质量都相当不错。
================================================================
就凭这几句,楼主显然就对.net环境没多少了解。
都不必比第三方组件了,等.net中把D7 VCL的组件实现得差不多时你再出来吹也不迟。
不过可以预言,至少三年之内你是没有机会的。
仅仅把D7 source目录中的.pas简单搜索了一遍,有3853个类定义(不包括forward的class描述)。
可以毫不夸张地说,.net要达到目前Delphi的应用框架的丰富性,5年之内绝对没戏。
VCL是什么?你还没完全弄明白呢,VCL最主要的(指面向应用的)是对原有Win32 GDI的封装,其他部分封装的很少(Com封装也比较多)。可以说是极少。
==========================================================
VCL中只有基本的用户接口元素,还有ADO、ActiveX等少数东西是对Win APIs的封装。
这些东西有多少?也就组件板中standard\additonal\win32\system\ado\win3.1\activex\dialogs几个部分吧。
这些东西就是VCL的大部分???
其他的数据库、Internet、WebService、多层结构诸如此类的那么多东西你都看不见?
简直是笑话。
VCL要是这么简单的话,ms也不至于学了7年才搞出类似的东西,还要挖人了。
你确实还要多学啊。
VCL从Delphi6后,基本没有增加新的东西,所以“VCL最主要的(指面向应用的)是对原有Win32 GDI的封装,其他部分封装的很少(Com封装也比较多)”也就不奇怪了,就好比要用今天的现状同70年代比,说那个时候没mp3?没笔记本电脑?这不可笑吗!今天的现状本身就是经过了70年代才发展起来的,否定历史,不就是否定目前现状吗?C#和JAVA在很大程度上借鉴了delphi,这是一个不争的事实,同时也保持了与时俱进,跟上了时代的步伐,而VCL还在原地踏步,它们之间就没有了可比性,幸亏Delphi VCL当初的设计思想比较超前,不然就更落后了。不过VCL本身到目前为止并不过时,它是可以发展和扩充的,某些东西没封装,你们这些“高手”、“牛人”为什么不去封装一下,以有偿或无偿的方式提供给大家用呢?
我日啊,你以为微软这么弱智?笑死了。
你用右键点点看,里面有什么?里面是不是有察看定义?他的快捷键是什么?
日,江河日下了,伤感,这是Delphi版的人作的回答吗?丢人死了。
---
感觉 vs比较麻烦的就是这里
鼠标点下右键 还要移动才能定位...
不舒服..
温饱我还没有解决呢,为什么给你打白工??!! NND 以后这种P不要放
why?????
任何语言,首先它只是一个工具
java 干脆自己跨平台
delphi 只能算庶出
BS你一下,你去看看有多少商业软件是用DELPHI开发的!!!!!!!!
再BS你一个,一个连连C#都没用通的人来说DELPHI不好......BS
Delphi还可以在它所得优势领域继续发挥作用,但这些领域正逐渐的被C#,Java等慢慢蚕食
Delphi的前路是一个未知也很难去得知的东西,或许Delphi该寿终正寝了。
========================================================================
1. Indy的HTTP有什么BUG?你说说。
2. Windows的HTTP是个什么层次的实现?还“抽象的比Indy好”???
您是不是还想说 Windows的CreateThread“抽象的比VCL的TThread类好”?
您纯粹就是半懂不懂,其实不懂。
?
只有基本的用户接口元素?
Com32基本上都封装了,这是VCL很大的一块。
所有的Button,List,ListView,TreeView等等,都是Windows的标准用户组件,VCL加了个套子。
懂不懂啊,还没学到多少皮毛,就在这里和高手叫板了,笑死了。
==========================================================
断章取义、歪曲别人的原话就是你这“高手”的本事吗?
我前面说的是啥?看好了,我说的是:
VCL中只有基本的用户接口元素,还有ADO、ActiveX等少数东西是对Win APIs的封装。是象你说的那样吗?
而且要较真一点,你说的这个:
====================================================
VCL最主要的(指面向应用的)是对原有Win32 GDI的封装,其他部分封装的很少(Com封装也比较多)。
====================================================
这才是狗屁不通。
还“VCL最主要的(指面向应用的)是对原有Win32 GDI的封装”???
猪头啊你?
你连Windows APIs的三大基本模块Kernel、User、GDI的分类都搞不清楚吧?
你先搞清楚那些窗口相关的东西是User32中的还是GDI32中的再来自诩“高手”也不迟。我一直对你留面子,不抓你的小辫子,你还忘乎所以、猖狂起来了。那也就别怪我接下来对你不客气、好好修理修理你了。
都不说Delphi/VCL了,就说说.net吧,你不是自诩“高手”吗,我看看你能撑多久、面子往哪搁。
我说你“对.net环境没多少了解”你还别不服气,就随便给你指出一点,比如你说的:================================================================
我以前倒是写过性能计数器的Delphi封装,结果,到C#里面一看,人家都封装好了。
================================================================就你这二把刀水平,你还笑人家?我先来笑笑你:
我以前倒是写过性能计数器的xx封装,结果,到VB.net里面一看,人家都封装好了。
我以前倒是写过性能计数器的xx封装,结果,到C++/CLI里面一看,人家都封装好了。
我以前倒是写过性能计数器的xx封装,结果,到Delphi.net里面一看,人家都封装好了。
我以前倒是写过性能计数器的xx封装,结果,到Chrome.net里面一看,人家都封装好了。
...
还不明白?那就继续:
我以前倒是写过一个对话框函数,结果,到VB里面一看,人家MessageBox都封装好了。
我以前倒是写过一个对话框函数,结果,到VC++里面一看,人家MessageBox都封装好了。
我以前倒是写过一个对话框函数,结果,到Delphi里面一看,人家MessageBox都封装好了。
我以前倒是写过一个对话框函数,结果,到BCB里面一看,人家MessageBox都封装好了。
...
还不明白?那你基本属于没救的一类。性能计数器类那是“人家C#都封装好了”的吗?
你连什么是C#提供的功能,什么是.net环境提供的功能都分不清,还跳出来大言不惭?
性能计数器类是.net环境的系统类之一,是.net对相关Win APIs的封装,C#只是调用。不只是C#,VB.net、Delphi.net...等等等等,凡是支持.net环境的语言/开发工具都可以直接调用,哪里谈得上什么封装?
你也不看看性能计数器类存在于哪里?system.dll!跟C#有个鸟关系。
不服啊?自己去看你ms大爷的科普文章:
http://msdn2.microsoft.com/zh-cn/library/system.diagnostics.performancecounter.aspx以前就是有把Windows APIs也算成是“VC++的库”的搞笑之辈,看来你也是和他们差不多的糊涂蛋。(待续,我一会回来继续教育你)
凭这句,至少c++你是菜鸟
客户机上还不能包证所有的windows系统都有.net环境支持。
这个过渡期不会太短,当然到了下一个操作系统,还是一个过渡。
.NET旗下的所有语言包括VB.net VJ.net ASP.net
都可以使用封装好API的类库DELPHI_GUY不必抓着这点 派楼主的不是----VCL最主要的(指面向应用的)是对原有Win32 GDI的封装
这句话是有误的 但没错到很离谱的地步----VCL中只有基本的用户接口元素,还有ADO、ActiveX等少数东西是对Win APIs的封装。VCL是所有可视组件的类库总称 可视组件是指有设计期和运行期状态 可以放在静态窗口或者
窗口中进行设计的可视类,运行时有些组件类用户可以看到,有些是看不到的
并不是什么所谓的用户接口元素,ADO,Activex都是COM范筹内的东西,这个不能称为什么WIN API,它们都受管于WINDOWS的 COM管理器 由COM工厂创建和使用以及生存期管理
COM的理论也是.net代码托管理论的前身,不管哪种语言都可以用遵循COM规范 生成规范的M$的COM对象来使用。如果研究过MFC的话,其实MFC也不错的,对API提供了相当程序的封装,起码作UI这块就不必太费劲。不必在这个上面较真。--- INDY的BUG
INDY不管怎么样 大家都是拿来用的
我个人感觉 INDY的确不怎么样 用起来怪怪的
.NET要成熟好用的多 关于JAVA的理论 楼主还是有所欠缺的
JAVA的类库更能称得上是完善
因为JAVA的面太广了
光一个Utils里面的类 就是。NET不及的
而且.net抄JAVA还没抄好 Iterator 硬改成enumarator
不过在接口技术设计和应用上 .net封装的还是很不错的
RTTI的确可以取到运行时对象信息
但是类信息太少了
这是编译语言的通病,似乎是无法克服的
你没用过.net和JAVA 体会不到反射技术的强大与好用
尤其带给系统设计上的优势
C#不能象delphi一样按住ctrl+关键字即可查看源码,这给学习和使用造成不便。
delphi的第三方组件库远比.net丰富,虽然许多有BUG,但都不是要命的,fastreport/reportbuilder/vclskin/devexpress/raize都是非常优秀且成熟的,这些精彩的东西在C#中很难发现。
---------------呵呵,其他的我都不评论,只是觉得这个老哥很搞笑。
是个IDE就会实现这样的机制吧。^_^只不过你没细心发现罢了。
不过你倒是可以用ECLIPSE,那里面好像默认的也是按住CTRL能看源代码。
Pascal系和C系可能的观点就不同了,本人的C++最精通,Java次之,然后是C#, 都是C语法系列的.
我不会Pascal,不过小时候学BASIC的时候,能看懂Pascal的代码.
我丝毫不觉得Pascal的代码很美观.
横看成岭侧成峰,贬低别人证明不了自己
lz对delphi的理解应该不错的,发这个贴目的大概也是引导
可惜....
看看几年前的foxpro和pb吧
delphi是好东西,用的人嘛...
不说也罢
封装的目的性是做项目,卖中间件,虽然java ee实际就是个中间件
有人是给GCD的四个代表教育得傻了吧?
啥都好就是啥不好,难道人家美国军方会不用ada而用你c++?
其实无论C#,甚至delphi我都学得不精,但我还善于用所学的知识解决问题和创造财富,蜗牛虽然星不多,但很倡狂,不说技术怎样,至少人品是很差的。
.net环境简单地说就是运行在Windows上的一个操作环境;要类比的话,就相当于Windows 3.x和更早版本是运行在DOS上的一个操作环境。
之所以严格来说叫“操作环境”而不是操作系统,那是因为他们并没有实现操作系统的完整功能,还需要依赖底层操作系统的支持。对于什么是Windows APIs,什么是开发工具的库绝大多数人还都能分得清。
但是自从.net环境把它的系统功能层(这个就叫做“.net框架”)从Windows那种函数式的APIs升级成面向对象的接口之后,某些明白的人反而糊涂了,就比如楼主这种“高手”。看见是个类就以为是“封装的”,闹出个把.net环境的系统功能当成是C#封装的库这种笑话。就算你非要把.net框架和VCL框架比较(其实不是一种层次的东西,可比性并不高),那你也要先了解两者的定位和特点吧。
.net框架是一个系统级框架,它的主要目标和着眼点在于以一种更简单、易用、面向对象的方式为应用软件提供支持,以取代传统的基于函数调用的Windows APIs(正如基于函数调用的Windows APIs取代了基于中断的DOS系统功能调用一样)。
尽管由于.net框架的特点,它对于应用开发的支持比传统的Windows APIs好很多(比如提供了WinForms组件集,以及可视化设计器等等),但是这不是它的要点,而且在可预见的时间内它也不可能强大到使各种开发工具的应用框架没有生存余地的程度。而VCL框架,是一个应用开发框架,它的目标是为软件开发者提供一种简单、快速、系统无关(尽可能吧)的创建应用软件的支持。它的设计思想是面向功能的、面向应用的。而不是简单的对系统功能的重新包装(那是MFC的方式,而且被证明是拙劣的、至少是不高明的)。
所以楼主说VCL这没封装、那没封装是很可笑的,如果我以一种更有效的、系统无关的方式实现了相同或者类似的功能,干嘛还要封装你的系统功能?(更何况直接调用你说的那些系统不是也很简单吗?要证据?你不是都说了“抽象的比Indy好”吗?)Delphi是一个可以运行在.net环境中的开发工具,在使用.net环境的系统功能方面和其他任何.net环境中的开发工具一样,并不存在所谓“人家C#都封装好了,你Delphi没封装”这种可笑的“事实”。
这么说吧,不管你.net framework发展到多么强大,Delphi都可以使用你的功能,并且在你的基础之上进一步提高(比如Delphi.net和C#Builder就可以使用ECO、DbExpress、BDP等等VCL.net特性,ms C#就不行)。VCL可以实现在.net环境中、也可以实现在Win32中、Win64中、Linux中...继续发展。楼主的当务之急不是自诩“高手”、跳出来指点江山,而是先搞清楚一些基本概念,让自己有一个起码的评头品足、说三道四的技术资格。否则不但说服不了别人、遭人耻笑,还浪费了自己的时间。好自为之吧。
=================================
可以用#region #endregion 把代码折叠起来
//------------------------
这么多在开会,谁放了一个馊屁?根据我的了解,目前超市/药店/酒店里的收银系统,社保资金管理系统、医院管理系统、公务员信息管理系统等中、大型应用,delphi占了相当的市场。