• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

A Programmer's Introducation to MVP Summit 2003 (C#/.NET)

qqchen79 2003-02-18 10:37:57
Saucer已经在ASP.NET版贴了MVP Summit上关于Asp.net的一些最新消息,我这里也把我记得的关于C#/.NET的部分贴出来。:)

1. 总体印象:.NET Rules!
不出意外,MS的几乎所有产品都在向.NET平台靠拢,而这一次Summit在Developer一侧关注的最主要的产品是与.NET结合的SQL数据库平台(Code Name Yukon)以及与Yukon同时发布的相关产品。

2. 数据库Yukon:
我对数据库技术并不熟悉,这里也只是我个人的一些理解,可能会有不少出入,希望大家纠正。:)
Yukon将会成为Windows Shell、IE之后的又一个.NET CLR Host。因此在未来的SQL Server当中我们将能够使用绝大多数.NET Framework的技术和类库帮助我们更有效的完成任务。很多使用T-SQL很难实现的功能将会变得轻而易举。

3. CLR
这是我个人的最爱。:)
经过一年多的尝试和努力,MS终于在CLR中添加了对Generics的支持。模版的支持将会从很大程度上改善ValueType对象集合的性能(减少了Box/Unbox操作),即使是Reference Type,也会因为类downcast的减少而提高性能。从实现上看,CLR采用了与C++/Java完全不同的方案,由CLR核心直接支持Generics,而不是由编译器实现,所以一方面不存在C++的代码膨胀问题,另一方面不像Java那样无法将Generics作用于整个类型系统。在Generics方面,CLR还提供了Constraint等一系列很有用的特性,同时也提高了上层语言使用的复杂度。另一方面,.NET BCL中将会出现新的基于Generics的很多集合类型(List<TypeName>等等),已经存在的ArrayList等将会继续保留。

4. BCL
在基础类库方面,会有很多提供新的功能、或者提高编码效率的类出现。

5. Visual C#
当然,C#会提供对Generics的支持。:) 除此之外,C#语言本身还有一些新的特性:
1) 匿名函数:我们不再需要为每一个代理回调函数编写独立的代码,可以把它直接嵌套在代理赋值语句中:
void delegate MyDelegate(int i);
...
MyDelegate dele;
dele += new (int i) { Console.WriteLine(i); }
...
2) Iterator(和C++ STL里面那个不一样)和yield关键字:
可以极大简化我们为集合类型实现foreach语句支持,原本需要手工实现IEnumerable接口,现在编译器采用某种自动机模型帮助我们实现了。
3) Partial Type: 使用新的partial关键字,我们可以将一个类型的实现代码分布在不同的源文件里(避免错误改变了VS.NET自动生成的代码等等)。

6. Visual C++(.NET)
这里最令人振奋的消息是VC++的下一版本将会极大改善与C++标准的兼容情况。VC++与标准的兼容水平与其它编译器相比将会非常有竞争力!!!(实际上只有标准指定者的独家产品达到100%)。而且,在managed extension打开的情况下,这种兼容性仍然很高。
在VC7.NET中已经存在的/GS将会进一步得到功能增强,今后的产品在编译中推荐采用该选项以减少Exception和Buffer Overrun引起的安全问题。

7. WebService Enhancement
Don Box的一贯风格,行云流水,没有Presentation,没有准备。:)
我没有比较细致的使用过WSE,所以在Don的跳跃思维中没能捕捉到太多东西。:(

8. Security.
没听这一堂课就不知道究竟什么是软件安全。:)
为什么使用字符串拼接的SQL语句访问数据库不安全?缓冲溢出究竟可以怎样被利用来进行攻击?...

最后,Bill演讲中作的一个.NET手表的Demo (SPOT)实在是酷,要是能拿一个Beta就好了。:)

这里也有一些连接:
Bill的演讲全文:http://www.microsoft.com/billgates/speeches/2003/02-11MVPSummit.asp
MVP Summit的新闻:http://www.microsoft.com/presspass/press/2003/feb03/02-11MVPSummitPR.asp
http://www.microsoft.com/presspass/features/2003/Feb03/02-11MVPSummit.asp
C#新特性的详细介绍:http://www.csharp.net

由于英语和技术水平有限,当然无法保证上面的理解正确,所以欢迎大家批评、讨论、指正。

陈铭
Microsoft C#/.NET MVP
...全文
17 点赞 收藏 103
写回复
103 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
utadahikaru 2003-03-11
还没有接触过.net。但看大家讨论的这么热烈。想选个.net看看。
如果没有学过C++,只用过C的人能直接进军VC.net吗?
回复
LeighSwordnet 2003-02-28
VC是不是已经不适合.net啦,改进那么少,托管代码一点好处都没有?
回复
9thStone 2003-02-25
up!
回复
beerxuxu 2003-02-25
up
回复
flers 2003-02-24
谢了
回复
huzhiyan11111 2003-02-24
下一个主要版本提供?
是.net 2 吗?
回复
jdbc_ejb 2003-02-23
好啊,你们建议中国的银行、电力还有电信去使用.net去吧。。。。。。
回复
Dream_soft 2003-02-22
请问泛型将在framework的那个版本中提供?以前的资料说1.1是没有这个能力的。
回复
baitianhai 2003-02-22
只要是好的,我都喜欢
回复
ly_liuyang 2003-02-22
所以我们要发展自己的核心技术!
OS,Compiler, DBMS, App才是我们的目标,
回复
fishsward 2003-02-21
回复
wm8033 2003-02-21
So many super stars here. How could you learn so much stuff? :-)
回复
qqchen79 2003-02-21
To yarshray(saga jion(未出山的杨过)):
我晕,你还叫我前辈?

我前面贴的连接里面有关于C#范型的详细介绍(http://www.csharp.net)。C#总体上和C++采用的语法差不多,但是实现的仍然是Constrained Genericity,不过C#添加了Constrain的概念,使用起来更加安全,但是功能会受限制。Template是CLR支持的,也就是说,即使Reflection页已经支持Generic类型了。

Yukon有存储对象一说,但具体情形我也不是很清楚。:(

MS的说法是, 可以生成本地代码(例如NGEN.exe),但是:1) 仍然无法脱离CLR运行。2) 只是启动工作集减小,从而启动速度较快,但稳定以后的性能不一定有提高,甚至可能更慢。据说在CLR的下一版本中不需要编译成本地代码,程序启动速度也会有明显提高。
回复
tlping 2003-02-21
新技术的发展速度真快
回复
ameng_2002 2003-02-21
收藏
回复
ZHANG9652 2003-02-21
谢谢
回复
yarshray 2003-02-21
TO:qqchen79(知秋一叶 [MS MVP]) 前辈

你好,

稍微问一下.如何实现范型的?

语法和C++一样吗?例如C++中通过模板

那么C#中如果使用Template,它会象代理那样做为一种类型吗?

试想如果作为类型那么膨胀问题就比较好解决了.只要重载+ -运算符号

就可以了另外C++只实现了范型的unconstrained genericity

而Constrained genericity则是通过继承实现的C#也是那样的吗?

关于yukon我前段时间听说了,我感兴趣的是有关对象数据库的方面

我听说可以存储.NET 对象.是那样的吗?那么数据中会存放相关

的元数据库列表,通过元数据库表可以方位到对象的方法和属性是吗?

那么可以通过外部应用程序来动态的创建和使用数据库中的对象吗?

最后想问问,有关.NET中,是否可以使用本机代码,从而不用JIT

直接生成响应的本机器代码提高效率?(我听说p-code好象就是)

但我想知道官方的是否有.

请解答,我说的不对的地方也请回复.谢谢前辈请指教.
回复
smiletosky 2003-02-21
为什么这有星的那么多,是不是用搞asp.net的人少啊
回复
cxx1997 2003-02-21
借这个地方问高手个问题:
为什么。NET中有WEB 和WIN两套控件库,而且这两套控件使用也完全不同?
为什么微软设计时,不将两种控件统一起来呢?
回复
ccblmpt 2003-02-21
另外想问一问VB。NET的前景,有很多人在用,但是好象没有人提出来
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2003-02-18 10:37
社区公告

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