我除了摇头还能怎样?(200分)

偶以为楼主工作压力太大了
就去嗑摇头丸,
原来.....[:)]
 
领导就是 要这样的拉。
 
Delphi是不错,但是不要把Delphi神话了,
当初我学Delphi的时候感觉Delphi太牛了,(这之前学过3个月VB,纯粹是为了做毕
业设计)真的是觉得只有想不到没有作不到的。
我用Delhpi也有2年了,一直是在做根Windows系统关联密切的程序,这其中发现了De
lphi在这方面的缺陷/局限实在是不少,到目前的感觉是,[red]Delphi始终是登不了大雅
之堂
[/red],我正打算学VC。唉,估计这话要遭人骂了。
说说刚才想到的一些问题吧,实际中遇到的问题要比这多的多,只是无法一一列举。
1)最严重的是 VCL 不是线程安全的。没什么说的,不是线程安全的就意味着好多东
西玩不了。
2)VCL Bug比较多,还有很多历史形成的局限。
其中一点有时候真的能把人气死!!!就是VCL总是试图掩盖Windows一些固有的特性
,比如Handle!比如说有时候他要求一个TWinControl的参数,其实它只是想要一个h
wnd,就这就制造了太多太多的麻烦。
[red]3)这是一个极其严重的问题!VCL就根本不关心函数运行的是否正确!!!!!!![/red]
这导致了Delphi中出现了一个该该该该该该该该死的procedure声明!!!!!
***,***,***,***,真他妈的能把人气死!想想都能把人气晕!!
4)[red]Import的ActiveX Control 擅自把HResult的function变成他妈的procedure![/red]我操
!这点真他妈的让我觉得开发Delphi的人是他妈的傻逼!(我不是骂Delphi之父,他
要在的话就不会这样了吧?因为Interface的支持是在他走了之后才开始的)
这就是Delphi追求 Ta.Tb.Tc.Td 这样一连串的"."的结果。而实际上这根本就是错误
得,你写程序时就不得不得写成这样
Ta(x);
if x <> nil then
begin
Tb(y);
if y <> nil then
begin
Tc(z);
if z <> nil then
Td(xyz);
end;
end;

看看多么混乱恶心得代码!!!!可你就得这么些!!操!操!操!气死了!!!
[red]如果你真的写成 Ta.Tb.Tc.Td ,那么恭喜你,你丫挺的是第一大傻逼!!![/red]
而如果delphi不善自作主把HResult抹掉的话就是这样的
if Succeeded(Ta.QueryInterface(Ia, x)) and (x <> nil) then
if Succeeded(Tb.QueryInterface(Ib, y)) and (y <> nil) then
if Succeeded(Tc.QueryInterface(Ic, z)) and (z <> nil) then
Td(xyz);
这多优雅,而且保证准确,而上面那种代码在一些特殊的应用中会得到错误的结果。
就为了这一个HResult让我有好些想要的东西实现不了,真他妈的快气死了!
我曾经试过把Interface的声明改成HResult的,但并不管用。
暂时现说这么多吧,有点要气晕了。
还有如果你真的仔细看过VCL的源码,你会发现有些地方简直就是弱智儿童写的,当
然这并不很多。
 
吐口水,比摇头要个性:)
 
>>一直是在做根Windows系统关联密切的程序
谁让你用Delphi做这个的?
寸有所长,尺有所短,这很正常。只能说你选错了工具,或者你老板选错了工具。
好好学VC吧,其乐无穷,不过也很难。据说很多人都放弃了。
偶学了4个月,能做不少小例子了,也能看懂一些别人写的代码,但是对VC整个框架还是一头雾水。
但是,决不放弃!
 
喝酒先,睡个觉,日子还是要过的
 
to 教父
一点题外话
不不清楚你在你们公司是什么职务,不过,摇头之前,
想想,照你说的那些人那种水平,也能混进你们公司,
是公司整体水平问题还是当初负责招聘的人水平问题?
或者裙带关系太厉害?如果几个问号得到的是肯定的答案,
那样的公司,还是不呆为好 ^_^
 
不好意思,不太好分分。
 
顶部