anders的C#

夜o猫 2008-06-28 02:57:53
花了两个晚上通读了Visual C#.Net技术内幕的关于语言特性的那二百五十多页,感觉Visual C#.Net根本就是DELPHI的翻版,甚至连有些关键字及函数的名称都相同,也同样都有线程类等等,C#与DELPHI的Object Pascal最大不同就是语法的不同,剩下的绝大部分语言特性几乎都是相同的。
突然想到,Visual C#.Net与DELPHI都是Anders搞出来的东西,真是个牛人!
Visual C#.Net的IDE也非常好用,看来Visual C#.Net如果好好搞下去,也会是个很不错的选择。不过,我还是会继续以DELPHI开发为主。
...全文
223 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜o猫 2008-06-30
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 viena 的回复:]
语言特性只是外围的东西吧
而Anders擅长的是编译器内核
Object Pascal与C#最强大的部分恐怕也在于编译器内核
Delphi程序的运行速度与C++差不多,但编译速度却快得多
这是任何人不得不服的事实~
[/Quote]

挺怀念Borland时代,不过,相信那个团队的传奇还会延续下去。
即便以后被SUN或者GOOGLE挖了去,也不影响传奇的延续。
夜o猫 2008-06-30
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 viena 的回复:]
看过 李维的BORLAND传奇
部分同意楼主观点,但是有点盲人摸象的感觉
如果你熟悉的是Java而不是DELPHI
你也许会说C#是Java的翻版~
[/Quote]

也许吧!
Dobzhansky 2008-06-30
  • 打赏
  • 举报
回复
有个开源 VCF 类库, 也还不错(纯粹 C++ 的跨平台GUI库)
RTTI, Component, Delegate, EventHandler 等真吸引人啊

好似 0.9.9 版了, 想学习一下
viena 2008-06-30
  • 打赏
  • 举报
回复
语言特性只是外围的东西吧
而Anders擅长的是编译器内核
Object Pascal与C#最强大的部分恐怕也在于编译器内核
Delphi程序的运行速度与C++差不多,但编译速度却快得多
这是任何人不得不服的事实~
viena 2008-06-30
  • 打赏
  • 举报
回复
好多东西都是相通的
相互借鉴或者说难听点互相抄袭、模仿,是很正常的事情~
viena 2008-06-30
  • 打赏
  • 举报
回复
看过 李维的BORLAND传奇
部分同意楼主观点,但是有点盲人摸象的感觉
如果你熟悉的是Java而不是DELPHI
你也许会说C#是Java的翻版~
夜o猫 2008-06-30
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 Dobzhansky 的回复:]
Borland 公司曾经很厉害
[/Quote]

呵呵,是啊,李维的BORLAND传奇虽然有点煽情,不过也确实悲壮!
Dobzhansky 2008-06-30
  • 打赏
  • 举报
回复
Borland 公司曾经很厉害
夜o猫 2008-06-30
  • 打赏
  • 举报
回复
我再次说明一下:这不是个辩论帖!
1、如果你对C#与DELPHI有深刻的了解,可以发表自己的看法,请记住,发表的看法要建立在对DELPHI与C#有深刻了解的基础上。也请注意语气,因为这不是个辩论帖!
2、对DELPHI及其开发团队有感情的人,可以进来表达一下自己的感情。
3、如果你对C#与DELPHI没有深刻了解,或者只是路过,也可以顶一下。
:-)
lextm 2008-06-29
  • 打赏
  • 举报
回复
看了上面的讨论,比较有意思。

不过有几点是有疑问的,

1. Delphi的接口设计之初对应于IUnknown,但是现在是不是还有这样的对应关系不好说。如果我的工程完全不涉及COM,但是使用的接口,是不是也绑定到IUnknown上面。

2. Delphi最近的几个版本已经加入了运算符重载和泛型。

3. Delphi和C++一样有函数指针,因此单播事件是很早就有的,实际上是和delegate概念一致的。但是现在Delphi的事件也支持多播,那就和delegate没有什么区别了。

4. Anders主要工作不包含VCL。这个看过Borland传奇一书你就知道VCL是谁的功劳了。即使加入了MS,Anders的工作重心也不在WinForms、WebForms之类的东西上面。

5. 站在类库的角度说,.NET的类库也不是完整的。Delphi有免费的Indy组件,而.NET上面做网络通信,基本要靠买商业控件。毕竟,任何一种语言都不敢说自己的类库覆盖了开发的全部领域,Java,Delphi和C#都是如此。

最后,作为两种都还很年轻的开发语言,Delphi和C#都还在不断发展变化。今天的讨论,估计下半年又会完全不合时宜了,因此,还是花功夫做些实事持久性高一点:-)

夜o猫 2008-06-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qizhf 的回复:]
Delphi不支持运算符重载,Delphi没有泛型,而C#都有支持。
[/Quote]

虽然平时只用到DELPHI7,但.net版的DELPHI是支持运算符重载与泛型的。
JennyZhang2008 2008-06-29
  • 打赏
  • 举报
回复
因为是原来开发delphi的开发者开发的C#,所以难免有许多相同的地方.
比较赞同四楼的观点,而且C#补充了很多类库,应该是比delphi更灵活一些!
夜o猫 2008-06-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qizhf 的回复:]
学C#不久,就知道的一点谈谈:

C#的接口和Delphi就不一致,Delphi的接口是绑在COM的IUnknown上,可以参考Inside VCL。
Delphi不支持运算符重载,没有类属性,Delphi没有泛型,而C#都有支持。
Delphi的过程/函数类型被C#的代理取代,代理更象一个必须有从属类的过程/函数类型,象一个方法指针。

.net Framework是在VCL之后形成的被李维归为第四代Framework,有些MFC不支持的东西,在VCL中已经有很好的支持了。.net自然…
[/Quote]


呵呵,Delphi确实没有泛型,只能用强制类型转换,或者is与as。类似的C#具备的优势会有许多。
C#与DELPHI之间确实是有许多的差异,更准确的说是各有所长。同样的,DELPHI也有自己的优势,如原生代码编译版本、内嵌汇编、丰富的第三方组件等等。
这里谈到的只是DELPHI与C#的共性还是比较多的。无论如何,anders做出的东西,我还是很喜欢的。

qizhf 2008-06-29
  • 打赏
  • 举报
回复
学C#不久,就知道的一点谈谈:

C#的接口和Delphi就不一致,Delphi的接口是绑在COM的IUnknown上,可以参考Inside VCL。
Delphi不支持运算符重载,没有类属性,Delphi没有泛型,而C#都有支持。
Delphi的过程/函数类型被C#的代理取代,代理更象一个必须有从属类的过程/函数类型,象一个方法指针。

.net Framework是在VCL之后形成的被李维归为第四代Framework,有些MFC不支持的东西,在VCL中已经有很好的支持了。.net自然会吸收成熟Framework的一些东东,而且与VCL同样出自Anders之手,难免“关键字及函数的名称都相同,也同样都有线程类”。
fuadam 2008-06-29
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 bluecoffee1979 的回复:]
引用 8 楼 lextm 的回复:
看了上面的讨论,比较有意思。

不过有几点是有疑问的,

1. Delphi的接口设计之初对应于IUnknown,但是现在是不是还有这样的对应关系不好说。如果我的工程完全不涉及COM,但是使用的接口,是不是也绑定到IUnknown上面。

2. Delphi最近的几个版本已经加入了运算符重载和泛型。

3. Delphi和C++一样有函数指针,因此单播事件是很早就有的,实际上是和delegate概念一致的。但是现在Delphi的事件…
[/Quote]
delegate的好用仅仅是多播吗,函数指针只能引用全局函数或者静态函数对比delegate实在难用,不过c++还有模板元编程可以实现delegate的功能,delphi不知道能不能实现
fuadam 2008-06-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bluecoffee1979 的回复:]
引用 4 楼 qizhf 的回复:
Delphi不支持运算符重载,Delphi没有泛型,而C#都有支持。


虽然平时只用到DELPHI7,但.net版的DELPHI是支持运算符重载与泛型的。

[/Quote]
从语法特性上没看出来delphi好在哪里,对比ironruby,ironpython,F#,boo,delphi有任何竞争力吗。
fuadam 2008-06-29
  • 打赏
  • 举报
回复
既然delphi既然这么好那现在招聘delphi的岗位怎么这么少,既然能开发web,移动设备,那为什么没有公司这么做,既然delphi这么好Borland公司怎么坚持不下去了都不开发工具产品卖掉了。
说delphi开发web没有问题的人你会用delphi开发吗,同样的项目我用c#做,等我做完了你还不知道能开发多少呢。
lextm 2008-06-29
  • 打赏
  • 举报
回复
9楼的态度不好琢磨。

首先,Delphi完整的支持ASP.NET,因此Web开发没有问题。

其次,我不觉得WinCE + .NET CF + C#可以叫做移动设备开发。现在移动开发基本还是C和C++的天下,不论是Nokia的Symbian还是Apple的iPhone SDK都和微软与C#无关。WinCE在这个市场上距离主体地位还差得很远。Java努力了这么多年,也是乏善可陈。
夜o猫 2008-06-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lextm 的回复:]
看了上面的讨论,比较有意思。

不过有几点是有疑问的,

1. Delphi的接口设计之初对应于IUnknown,但是现在是不是还有这样的对应关系不好说。如果我的工程完全不涉及COM,但是使用的接口,是不是也绑定到IUnknown上面。

2. Delphi最近的几个版本已经加入了运算符重载和泛型。

3. Delphi和C++一样有函数指针,因此单播事件是很早就有的,实际上是和delegate概念一致的。但是现在Delphi的事件也支持多播,那就和del…
[/Quote]


赞同!
夜o猫 2008-06-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bluecoffee1979 的回复:]
引用 9 楼 fuadam 的回复:
dephi能做web开发吗,能做移动设备开发吗


DELPHI不能做WEB开发吗?DELPHI难道没有做移动设备开发的工具吗?
[/Quote]

DELPHI在很早的版本就能够做WEB开工,做移动开发方面,不只DELPHI的.net版本能做,pascal也有另外的开发工具能够做。DELPHI以前的版本曾是支持工业标准最多的开发工具。

其实,我这个帖子的本意并不是去辩论。希望不要再有这样的辩论性质的回复。
加载更多回复(5)

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧