首页 > 编程 > .NET > 正文

终于体会到了,在.net开发不用C#那纯粹是自找麻烦阿

2024-07-10 13:05:14
字体:
来源:转载
供稿:网友
 

我是个delphi fans,自从试了一下delphi8,第二天就删掉了,bug太多,没法用,只好不太情愿地使用着c#,delphi2005出来了,就又装了一个试用版用了一下,感觉不错,有点欣喜若狂,就准备使用起来,但是随着程序规模的不断扩大,越来越多地发现了至少是令人不爽的地方:

1、占用内存太多,一般来讲写一会程序就要用掉400m,更可怕的是每调试一次,内存就会增加好多,调试完了还不给我释放

2、不稳定,尤其是在界面设计上,经常把我关联的事件从控件上删掉,要么就是莫名其妙的一些错误提示,当然这些提示都是在设计器中的,还不会影响正常的delphi使用,但是经常刚刚还好的界面我从代码切换到ide设计机器上,就什么也显示不出来了。

3、内部不一致,能编译通过的,但是且在没错的地方用红色波浪线提示语法错误

明明支持

 var

   a:array of integer;

  a := new(array[5]of integer);

编译没问题,却要给我在线错误提示,让我不爽

a明明是一个数组,我要是写a.length 他就编译不通过,非要写成&array(a).length才行

4、对namespace的支持莫名其秒,非要搞个复杂的命名规则,在unit名称上做文章,虽然这样可以获得最大的对传统win32 pas的语法支持,但是感觉这种方式给.net开带来很多不便,结果到了uses地方还要引用全名,而不是名称空间名,还要时时提醒自己用到的是别的.net开发的dll还是delphi开发的dll,对同一种东西非要搞出两套标准,真是让我恼火

5、debug太差

对比delphi7简直是倒退

在win32下,可以调试程序中的变量,到了.net  那个watch窗口就成了摆设,根本没用

只能看看local var窗口中的东西,然后再一层一层地找下去

6、更要命的是如果用delphi编译了一个dll,你到c#想怎么用怎么用,你到了delphi里,不行,你还得同时提供*.dcpil文件,否则不让你用,真是没话说了

真是强忍着把那个大程序搞完,虽然用户用起来还行,但是这期间的开发过程真是要命阿。

还好现在出了个chrom,对他的各个方面还算比较满意的,但是发现好像有个bug

如果这样定义

ta = class

protected

   fa:integer;

end;

tb  = class(ta)

public

  function bbb:ta;

end;

function tb.bbb:ta;

var

  rr:tb;

begin

  rr := new tb;

  rr.fa : =1;

result :=rr;

end;

就是编译不通过,感觉chrom对protected处理有点小问题

最后只能感叹,不用c#活得真累

  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表