数数delphi的缺点(100分)

  • 主题发起人 主题发起人 jianl
  • 开始时间 开始时间
我知道没有完美的东西,不过不能因为这样就不允许说缺点吧?
》我认为Delphi唯一的缺点就是不想Java和C#在编程的时候强制面向对象!
看来强制面向对象是个趋势。
to Miles_Cui
呵呵,你的观点正是我以前的观点。
 
其实还有一点,delphi的web开发太弱了,在intraweb以前,我甚至没有看过delphi开发的
web产品,也许是孤陋寡闻吧。而intraweb的引入实在是太晚了,更晚的是delphi.net还要
到年底,我现在有一个web项目,我只好选择c#来做了。
 
delphi在b/s时代落伍了,这是事实!!!
 
发表一点点见解,大家最好就事论事,别攻击别人。各种语言各种开发环境都有自己的特点,我们要用DELPHI的眼光来看待DELPHI,用VC的眼光来看VC。。。
 
用什么工具取决于面临什么问题!
 
还是5415说一句公道话
 
一门语言要看用的人。
Delphi绝对有别的语言所无法比拟的优势。
C#当然好,但是请问在座的有几个能熟练使用C#?说它好,只不过是因为大家都在说罢了。
还是踏踏实实做的事来的重要。
拿MSVisual.Net来说,我个人认为它不见得就是很完善,很好。
比如无法自动删除一个空的方法,而Delphi可以;更恶心的是自动添加注释,这是不能忍受的;另外,MSVisual.Net自动创建的方法,当我更改控件名称的时候它无法自动识别,反而报告一个错误,实在不知道怎么说好。
我还是喜欢Delphi。因为脱离了.Net,我们还要生存,不要被.Net的美妙外衣所迷惑,当.Net成为互联行业的标准时,中国的软件业再无翻身之日,到时候任一平台都是MS说了算。
幸好我们还有linux。
 
delphi7 还不支持unicode害苦我了。简直气的无话可说,悔当初学delphi...
 
delphi的報表真的很濫!
 
to 落日边境:同意!
 
没有静态变量可以用Const来代替,另外我可不觉得用Delphi写单件模式有什么困难
 
to weifang -> delphi的報表真的很濫!

请不要抱怨开发工具:一个原因,你没有搞清楚状况;另一个原因,你没有思考。
记得我自己做一个这样的项目:
客户有一天打电话来说我们的系统闹鬼了,每到晚上六点钟,当点击一台机器的报表打印按钮,就会打印出另一台机器显示的报表文件(C/S结构),平时不会出现,只会到晚上六点钟后才会有这种情况,是不是很怪?
当时,这是我们自己代码的问题。
我不是Delphi的忠实fans,我做计算机培训和系统集成,所以对于程序设计也只是偶尔为之,但是,任何一门语言都有它的优缺点,这是人所共知的事实。不要刻意去吹捧什么,也不要刻意去贬低什么,因为,我们还不够资格。
遇到问题,最好多想想自己的原因。
 
提醒一个概念
VCL的祖先是TControl (V的意思是什么?)
 
这段时间没有上网,没有照顾好帖子,惭愧。
其实delphi的报表还可以,并不是我说还可以就还可以,已经由无数的系统正在运行使用的
是delphi的报表系统。不过我和大家一样,不喜欢做报表,即使能用excel那么强大的工具
也不喜欢。原来做报表的工作总是留给新来的小伙子的。
反面例子是delphi的web开发,除了interweb,我还没有见过有人用过呢。
〉delphi7 还不支持unicode害苦我了。简直气的无话可说,悔当初学delphi...
果然是这样吗?
to qiuwenqiao
我都是使用class的私有变量作为函数内静态变量的替代,使用unit内部的变量来代替类的
静态成员变量。
用const?我一直用它作为c中define的替代。
我知道一种工具的好坏在很大程度上决定于使用的人,不过我想很少人从使用delphi开始
一直到现在都从来没有抱怨过吧?如果你说这少数人,我觉得你的胸怀一定向大海一样宽广。
了解你的工具,包括优点和缺点。了解你的周围,包括朋友和敌人。
 
to: jianl
在你设计单件模型的时候用Const来代替静态变量有很大的好处,这可不是类的私有变量或单元变量能够代替的,在编译时要打开的一个编译选项,你自己找找吧
 
我知道有个编译选项,因为d5(可能更早)的const是可以修改的。当时不知道。升级某个控
件的时候改了半天。
我想听的是好处是什么?请赐教。
 
在两个单元中不能互相引用对象。
比如
Unit1单元引用了Unit2的TClass2
TClass1=class
class2 : TClass2;
......
end;

但是在Unit2单元的type部分却不能引用Unit1的TClass1,只能在Implementation部分应用。我的Tclass2却需要这样设计:
TClass2 = class
FOwner :TClass1;
end;
如果把它们放在一个文件中则没有这个问题,但是我们在团队开发中不可能多个人工作在同一个文件中,不知这算不算Delphi的缺点?
 
[:D]数数delphi的缺点:真真的如何解决?
1.请问:DELPHI中如何实现像C++中的运算符重载?
DELPHI how to implement C++ operator overload?
2.请问:DELPHI中如何将C++中的继承结构的类转换?如:
DELPHI how to implement C++ inherit struct's class transition? like:
typedef struct tagPoint3D{
do
uble x;
do
uble y;
do
uble z;
} POINT3D, *PPOINT3D;

class AFX_EXT_CLASS CPoint3D :public POINT3D
{
public:
CPoint3D();
CPoint3D(double ix,double iy,double iz=0.0);
CPoint3D(constdo
uble*);
CPoint3D(POINT3D p);
~CPoint3D();

public:
//operators
CPoint3D operator*(const MATRIX3D&
matrix) const;
void operator*=(const MATRIX3D&
matrix);

//offsetting with vector
CPoint3D operator+(VECTOR3D v) const;
void operator+=(VECTOR3D v);
CPoint3D operator-(VECTOR3D v) const;
void operator-=(VECTOR3D v);

BOOL operator==(POINT3D pos) const;
BOOL operator!=(POINT3D pos) const;

//derived vector = this point - sp
CVector3D operator-(POINT3D sp) const;
} ;
//operators
CPoint3D CPoint3D::operator*(const MATRIX3D&
matrix) const
{
do
uble rx,ry,rz,sc;
rx = x * matrix.A[0][0] + y * matrix.A[1][0] + z * matrix.A[2][0] + matrix.A[3][0];
ry = x * matrix.A[0][1] + y * matrix.A[1][1] + z * matrix.A[2][1] + matrix.A[3][1];
rz = x * matrix.A[0][2] + y * matrix.A[1][2] + z * matrix.A[2][2] + matrix.A[3][2];
sc = x * matrix.A[0][3] + y * matrix.A[1][3] + z * matrix.A[2][3] + matrix.A[3][3];
rx /= sc;
ry /= sc;
rz /= sc;
return CPoint3D(rx,ry,rz);
}

void CPoint3D::operator*=(const MATRIX3D&
matrix)
{
(*this) = (*this)*matrix;
}

// offsetting with vector
CPoint3D CPoint3D::operator+(VECTOR3D v) const
{
return CPoint3D(x+v.dx,y+v.dy,z+v.dz);
}

void CPoint3D::operator+=(VECTOR3D v)
{
x+=v.dx;
y+=v.dy;
z+=v.dz;
}

CPoint3D CPoint3D::operator-(VECTOR3D v) const
{
return CPoint3D(x-v.dx,y-v.dy,z-v.dz);
}

void CPoint3D::operator-=(VECTOR3D v)
{
x-=v.dx;
y-=v.dy;
z-=v.dz;
}

3.请问如何在DELPHI下实现与C++相似的串行化存档?
4.请问如何在DELPHI下实现与C++相似的基于文档与视图的应用程序框架模板?
 
>如果把它们放在一个文件中则没有这个问题,但是我们在团队开发中不可能多个人工作在
>同一个文件中,不知这算不算Delphi的缺点?
这两个类如此紧耦合,简单的办法是建议放在一个文件中,团队开发使用版本控制软件。
如果是owner,似乎delphi本身的owner就很好,不过看vcl的源码涉及到反射等等我不懂的
概念。如果项目不是很急的话,我宁可花些时间来研究一下。
 
to yhllove:
1、没有听说delphi可以重载运算符,我觉得可以算delphi的缺点。
3、也许WriteComponent,readComponent是你所想要的
 
后退
顶部