源贴地址:
C#: Yesterday, today, and tomorrow
作者
:John Osborn
10/17/2005
Anders Hejlsberg
在
1996
年加入微软
,
开始是
Visual J++
和
Windows Foundation Classes
的架构师。Hejlsberg 是目前微软杰出的工程师和C#语言的设计者,并在微软 .NET 框架中扮演了重要的角色。今天,他正在领导C#语言的开发工作。John Osborn,是O
’
Reilly 媒体公司的执行编辑,负责公司在.NET和其他微软开发者书籍的工作,最近和Hejlsberg碰面进行了下面广泛的会谈。
Osborn:
我想我最好还是跳回到
2000
年我们上次聊天的地方。重新复习上次的对话,对我来说是很有趣的。那时,我们曾经被java痴迷,C#语言和java的对比当时也非常的多。
Hejlsberg:
是这样的。
Osborn:
从那是起
,
五年过去了
,C#
现在怎么样了
,
你现在对语言有什么想法吗
?C#
是微软唯一的工具吗
?
是否在社区里有一个很宽的领域
?
Hejlsberg:
是这样的。这几年发生了很多事情
,
世界的发展看起来和当时非常不同
,
特别是从一个竞争的观点来看。我们没有让.NET和java变得更新,更流行。因此,这里有很多比较可以做。我想在过去的五年里,C#已经成长起来了。今天,我们来说说C# 3.0 我们刚刚发布了 C# 2.0 ,在这之前是 1.0 和 1.1 的版本。
我们考虑跟踪研究
,
从使用方式上看
.NET
看起来和
java
有着非常相似的应用。C#的应用更多一些。因此,相对于一个新语言,C#已经成长起来了。很显然,我非常高兴看到这种情况。在.NET和java平台上有着很多明显的不同。我的意思是首先.NET是windows的开发平台。这让你有了一个不同的商业策略。现在,你也知道,我们正在着手进行C#的标准化和. NET框架的核心工作。现在实际上已经有了C# 3.0 的一个标准版本了。
ECMA-334 and ISO/IEC 23270]
。
这里有一点迷惑
:
那些可以称为是
3.0
,
那些则是
2.0......
Osborn:
这是我后面要问你的问题。
Hejlsberg:
这些数字这有一点不行
,
我们应该在某种程度上修改一些东西。但除此之外,已经有第三方独立的C#的实现了。这就是大家都知道的Mono。并且,并不是我们的私有策略。
同时我也想微软在过去的五年中从透明化
,
社区参与
,
开放程度等方面有了很大的转变。像我们现在和客户进行的对话和五年之前是非常非常不同的,和十年前相比更是天壤之别。你知道,整个行业,通过Blog和开放源代码,已经改变了很多,单个开发者参与的也和过去是不能比拟的。
C#
语言作为面向组建的语言
Osborn:
当你在
2000
介绍
C#
语言的时候
,
一个很厉害的武器是这是第一个面向组件的语言。在过去的五年中,这一点改变了吗?
Hejlsberg:
哦
,
当然
,
变得更好的。可是
,C#
仍然是有很多面向组件语言的特点。这带给我们属性,方法,事件和其他的开发者每天编程都会平到核心部分。很久以前,甚至最近,编程仍然是一个辅助工具,这些工具仍然倾向于这样一种编程模型:设计界面,在这上面放上组件,然后修改属性,并加上代码。
我总觉得属性
,
事件
,
方法是如此重要
,
应该作为语言的一等公民来对待
,
这就是我们在
C#
上所做的工作。老实说:我也听到了一些对属性的抱怨。这其实是个屁事,你明白我的意思吗?事实上,人们总是按照事实来想问题。
从常识上来看
:
作为一等公民来看待的主意是我们经常做的
,
是非常自然的。我们在LINQ中有很多方法来做一件事情,语言集成的查询,不是吗?因为我们都需要查询,那么不应该在编程语言中把这些查询符号作为很重要的事情对待吗?
用声明的方法在一个更高的层次来表达一些事情比你写很多诸如for循环和if判断语
句的来得更自然吧。