数数delphi的缺点(100分)

J

jianl

Unregistered / Unconfirmed
GUEST, unregistred user!
1、和pb的开发环境相比,没有一个快速注释代码的方法,coderush增加了这个功能,
可惜coderush太消耗资源,经常运行死机(98下的时候)
2、所以的类一定是从tobject继承而来,是优点吗,tobject已经有许多好东东在里面了
,可是这些好东东有时候是个大累赘,请在论坛中搜索“单例模式”的delphi实现就知道
在别的语言可以轻松实现的,在delphi中,你需要对vcl有深刻的理解。
3、不能随时定义变量,还必须在函数开始前定义,每次需要加循环的时候我都很恼火。
4、有类静态成员函数(class function),却没有静态成员变量,也不知道那个天才当时
设计时怎么想的。
5、合作者不稳定,报表从report smith到qr再到现在的rave,网络控件也换了,人为增加
可怜的程序员的负担。
6、最重要的是:有被borland放弃的样子,以前是每年有一个新版本,可今年出来的是
c#builder,再看看jbuilder的速度,我记得delphi4带了一个jb2的试用版,看看现在jb的
版本吧。
所以,奉劝大家,赶快选择.net或j2ee,不要步pb程序员的后尘了。
 
同感,编译的程序经常会遇到莫名其妙的问题,还是不稳定
 
同感,高考刚结束,先凑合者用吧。至于C++到了大学在学吧
 
其实DELPHI也不是尽是坏处的
>>1、和pb的开发环境相比,没有一个快速注释代码的方法,coderush增加了这个功能,
可惜coderush太消耗资源,经常运行死机(98下的时候)
其实这个功能有没有并不影响程序的运行与编译吧,所以这不能算是很大的坏处哦
>>2、所以的类一定是从tobject继承而来,是优点吗,tobject已经有许多好东东在里面了
,可是这些好东东有时候是个大累赘,请在论坛中搜索“单例模式”的delphi实现就知道
在别的语言可以轻松实现的,在delphi中,你需要对vcl有深刻的理解。
呵呵,并不是所有的类一定要从TOBject继承而来,你也可自己写基类啊,我就写过没有继承任何一个类的类。
>>3、不能随时定义变量,还必须在函数开始前定义,每次需要加循环的时候我都很恼火。
这样才能提高Delphi的执行与编译的速度,而且这样的规范才会令程序的可再开发性很好,不然,什么时想定义就定义对于真正写程序的人来那是恶梦
>>4、有类静态成员函数(class function),却没有静态成员变量,也不知道那个天才当时
设计时怎么想的。
无话可说,这点是不好.
>>5、合作者不稳定,报表从report smith到qr再到现在的rave,网络控件也换了,人为增加可怜的程序员的负担。
其实你只要不用别人写的控件,除了系统处的控件都自己写,就有负担啦。用别人的还说别人的。
>>6、最重要的是:有被borland放弃的样子,以前是每年有一个新版本,可今年出来的是
c#builder,再看看jbuilder的速度,我记得delphi4带了一个jb2的试用版,看看现在jb的
版本吧。
没用过DELPHI以前的版本,所以没话说。
>>,奉劝大家,赶快选择.net或j2ee,不要步pb程序员的后尘了。
.net可以考虑,j2ee是什么,jave吗,若是,我可不认为java会比delphi好
 
呵呵,并不是所有的类一定要从TOBject继承而来,你也可自己写基类啊,我就写过没有继承任何一个类的类。
不会吧,老大,你能自己写一个不从TObject派生的类,编绎器认识吗?俺不相信.
 
不相信吗,可以, 只不过在引用是就麻烦些.
 
TS= Class
public
x : integer;
y ;integer;
end;
以上的类绝对可以用
 
从object继承的类就是没有从TObject继承下来的。
俄罗斯人的KOL就是这样做的。
至于静态变量,它可以用单元变量来代替的。
我们不可能要求Delphi什么语言特性都支持吧!
 
楼主说的很有道理。
 
我想,了解vcl是基本功吧
 
to dedema
>从object继承的类就是没有从TObject继承下来的。
不懂,可以说得详细些吗?
to yaoqiaofeng请试验:
ts1 : ts
ts1 := ts.create;
既然你没有定义create构造,那么这个create从那里来得?
>这样才能提高Delphi的执行与编译的速度,而且这样的规范才会令程序的可再开发性很
>好,不然,什么时想定义就定义对于真正写程序的人来那是恶梦
这是恶梦吗?随时定义变量只有好处,它无论在写代码还是看代码时都很方便,没有
人会记住所有的变量然后看代码,只会看到变量时才去找它是个什么东东。
我没有学过编译原理,不知道这对编译程序有什么影响
 
其实每一种语言都必须有它特有的特性,这才是好的编程语言,所是老是一味模仿别人,但还要什么用,我宁愿要一个DELPHI,也不想要那barload Java,若有两个java那不就是没什么用啦吗,就像做软件,做一类的软件可以,但若一个与别人完全相同的软件我就觉的没有必要
而且,其实用delphi还是可以完成很的东东的,1数据库,这是delphi长项。
2汇编,恐怕现在没有一门编程语言像delphi那样把汇编做的和编译器结合的那么紧密,在一些情况下,用汇编的效果绝对不是VC, java之类可以比的。
3api其实大多数编程语言在拥有自己的一些语法函数之处,还有很多功能是用api实现的,
所以只要懂得api的,用vc.net, java ,delphi开发程序都是一样的,而且其实所有的编程工具只是一件工具,常握一门编程语言最重要的是常握编程的思想,只要运用得当,在任何的编程工具里是能实现任何的功能。
 
有时候用熟了也就不想重新学别的了。
 
to:yaoqiaofeng
你的:
TS= Class
public
x : integer;
y ;integer;
end;
以上的类绝对可以用
我想有句话说,上面的代码,就是从TObject派生的,怎么能说可以创建不基于TObject类的类呢?TObject是所有对象的祖先类。
 
谢方:
>TObject是所有对象的祖先类。
错!TObject是所有VCL的祖先!
type
TO=object
private
ddd:string;
end;

这才不是从TObject继承的类!
 
to dirk
高手,佩服,佩服。
 
Since object typesdo
not descend from TObject, they provide no built-in constructors, destructors, or other methods. You can create instances of an object type using the New procedure and destroy them with the Dispose procedure, or you can simply declare variables of an object type, just as you would with records.
Object types are supported for backward compatibility only. Their use is not recommended.
其实最原始的类还是要支持的,vcl给人形成的错觉认为一切从tobject而来,也许这是
人们问的为什么没有以delphi为语言讲解设计模式的原因?
 
TO:dirk
Steve Teixeira Delphi5开发人员指南 P63:
2.18.6 TObject:所有对象的祖先……。
没错呀,我错的一个地方是观点错了,确实可以不通过TObject创建一个类。
只要写法是
1、type 对象 = class ... 就是基于TObject派生的类的,
2、type 类 = Object ... 就是非TObject的。
 
>TObject:所有对象的祖先……。
针对VCL写的书这么说到也没错,这句话说的“所有对象”隐含指的就是“所有VCL对象”,但总的来说,这么说不严谨,TO=object中的TO也是对象,难道是TObject的派生类麽?
 
顶部