lxwde

刘晓伟ID:lxwde
161861次访问,排名416好友0人,关注者1
lxwde的文章
原创 27 篇
翻译 34 篇
转载 0 篇
评论 244 篇
最近评论
mldstk:wow power leveling
lshvs2006:你好,你設計的東東非常不錯。
但是,現在有個疑問,不知道,怎樣保存設計的文件,
存成XML 文件格式可能會好一點,但是,不知道如何去存? 需要調用什么接口 或是 需要寫什么 方法嗎?

期待您的指教。謝謝

lsh2011@163.com
zeeler:补上这一部分吧(本人中文表述能力没有lxwde强哦 :) ):
The Singleton
也许最简单的设计模式是Singleton模式了,它可以给某种类型提供唯一的对象,下面是个例子:
(译者按:例子省略)
创建一个唯一对象的关键是防止客户程序员(client programmer)用其他任意方法创建对象,只能用你提供的方法。你必须把所有构造器写成p……
zeeler:翻译的不错呀,全力支持!
不过在Design principles和Classifying patterns之间还有个The Singleton部分好像lxwde漏掉了?还是Bruce Eckel修改版面了?
总之,支持呀,本来我也想翻译一下的,不过没有lxwde这么有毅力,翻译一节就停了,实在很累的,所以非常敬佩lxwde能坚持做这么多!
roger_77:可惜,
这个库被boost放弃了,加入另一个ASIO的网络类库
文章分类
收藏
    相册
    链接
    My articles on codeproject
    SharpFormEditor下载
    Thinking in Patterns中文版
    友情链接
    alai04
    C++的罗浮宫
    fatalerror99
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    翻译 Anders Hejlsberg访谈:C#的设计过程收藏

    新一篇: Anders Hejlsberg访谈:Checked Exceptions的问题

    本访谈系列的翻译已经征得原作者的同意,转载请保留原作者和译者的链接。

    Copyright © 1996-2005 Artima Software, Inc. All rights reserved

    The C# Design Process

    A Conversation with Anders Hejlsberg, Part I
    by Bill Venners with Bruce Eckel
    August 4, 2003

    C#的设计过程

    翻译:刘晓伟

    摘要
    Anders Hejlsberg
    C#的主架构师,与Bruce EckelBill Venners谈论了C#设计团队所采用的流程,以及在语言设计中可用性研究(usability studies)和好的品味(good taste)相对而言的优点。

    Anders Hejlsberg,微软的一位杰出工程师,他领导了C#(发音是C Sharp)编程语言的设计团队。Hejlsberg首次跃上软件业界舞台是源于他在80年代早期为MS-DOSCP/M写的一个Pascal编译器。不久一个叫做Borland的非常年轻的公司雇佣了他并且买下了他的编译器,从那以后这个编译器就作为Turbo Pascal在市场上推广。在BorlandHejlsberg继续开发Turbo Pacal并且在后来领导一个团队设计Turbo Pascal的替代品:Delphi1996年,在Borland工作13年以后,Hejlsberg加入了微软,在那里一开始作为Visual J++windows基础类库(WFC)的架构师。随后,Hejlsberg担任了C#的主要设计者和.NET框架创建过程中的一个主要参与者。现在,Anders Hejlsberg领导C#编程语言的后续开发。

    2003730号,Bruce Eckel(《Thinking in C++》以及《Thinking in Java》的作者)和Bill VennersArtima.com的主编)与Anders Hejlsberg在他位于华盛顿州Redmond的微软办公室进行了一次面谈。这次访谈的内容将分多次发布在Artima.com以及Bruce Eckel将于今年秋天发布的一张音频光碟上。在这次访谈中,Anders Hejlsberg谈论了C#语言和.NET框架设计上的一些取舍。在第一部分中,Anders HejlsbergC#的主架构师,与Bruce EckelBill Venners谈论了C#设计团队所采用的流程,以及在语言设计中可用性研究(usability studies)和好的品味(good taste)相对而言的优点。

    Designing with a Living Agenda

    Bruce Eckel: 我听说C#是由几个设计师在一个房间里创造出来的。

    Anders Hejlsberg: 是的。四年都是同一个房间。每周一、三、五,我们仍然在那个房间里。

    Bruce Eckel: 我非常想知道C#的设计过程。我直接或间接地参与过好几种不同语言的设计。比如,在Python的设计过程中,Guido van Rossum被戏称为仁慈的独裁者。

    Anders Hejlsberg: 我差不多也处于这种境地。

    Bruce Eckel: 你也是C#仁慈的独裁者?

    Anders Hejlsberg: 我是仲裁器tie breaker)。一旦我们就某个问题做了足够多的讨论,而且到了需要做一个非此即彼的决定的时候,那就由我来做这个决定。但是大多数情况下这个决定是显而易见的。

    Bruce Eckel: 这和Turbo Pascal以及Delphi的设计类似吗?

    Anders Hejlsberg: 那两种语言的设计没这么正规。我几乎是一个人设计的Turbo Pascal。设计Delphi的时候是与Chuck JazdzewskiGary Whizin一道,但是这是一个很小的团队,我们并不真的需要一个正规的流程。与此不同,对于C#来说,正规的流程起到了很大作用:每周一、三、五,从100300,我们有一个定期的安排好的会议。我们有一个活动的议程表。问题像泡沫一样浮上来,我们把这些泡泡击碎。现在我们在因特网上有一个Wiki,上面有问题列表,对应的解决方案等等。

    Bruce Eckel: 那些问题是怎么样像泡沫一样浮上来的?

    Anders Hejlsberg: 嗯,它们就是那样浮上来的。我们有许多渠道可以让用户提出意见——软件设计复查(software design reviews),新闻组(news groups)——通过各种各样的渠道我们得到关于这门语言的反馈。这些反馈就引出了一些问题以及Bug、前后不一致(inconsistencies)、不规范(irregularities)等等。然后我们就知道哪些是我们该做的事情了。它们最终出现在列表上,然后我们从头到尾地解决。我们会看看其中一个问题并且问道,“就这个问题我们有新的想法吗?没有新的想法?好,这个问题已经呆在这里好几周了,让我们试试看花半个小时对它进行一下攻坚,看看能否有所收获。”

    Bruce Eckel: 那么当发现有些东西糟糕透顶的时候。。。。。。

    Anders Hejlsberg: 或者发现某些东西很棒,你想在下一个发布版本里针对它做点什么。但是我想这个流程只是保证你的努力不会成为泡影的一种方法。你把所有的东西都放进那个列表。有些可能会在上面呆很长一段时间,而且后来可能你决定不再对它进行什么改动了。但是至少它被捕获了,而且有办法可以再次找到它。它可能会发生,也可能不会,但是不会说找不到它。

    Bill Venners: C#的设计团队里都有谁? 他们都扮演什么样的角色?

    Anders Hejlsberg: 最初的C#设计团队是由Scott Wiltamuth, Peter Golde, Peter Sollich, Eric Gunnerson以及我自己组成的。C#2.0的设计团队包括Peter Hallam, Shon Katzenberger, Todd Proebsting和我自己。大多数有关泛型(generics)的功劳都要归功于来自微软研发部门的Don SymeAndrew Kennedy

    可用性研究(Usability Studiesvs. 审美需要(Aesthetics

    Bill Venners: C#的设计有多少是基于可用性研究? 多少是基于市场的考虑?又有多少是出于审美需要?

    Anders Hejlsberg: 归根结底,好的语言设计最终要归结于能否召集一群有品味的人。用你的话来说,它归结于编程上的审美需要。好的品味是非常主观的东西,也很难定义,但是你看到它的时候还是能够把它辨别出来。而且我认为再多的可用性研究也不能给你品味所带来的东西,因为可用性研究更倾向于纵向的东西vertical)。一项(可用性)研究可以这么问,“你对这个特定的功能有什么看法?”但是很难这么问,“你认为这门语言怎么样?”你从哪里切入呢?你怎么可能在两个小时的可用性研究中解决这个问题呢?实际上没这个可能。

    Bruce Eckel: 人们必须(对这门语言)有深入的了解。

    Anders Hejlsberg: 使用一门编程语言更大程度上是一个深入其中的过程。人们只有在使用了数月之后才可能真正欣赏某种编程语言。然后他们可能逐渐意识到,“哇,这确实很爽。”这些你不可能一蹴而就。

    That being said,我们做了大量的可用性研究,但是它们更多是纵向地针对于某些特定功能。

    Bill Venners: 比如说呢?

    Anders Hejlsberg: 大多数实际上都是关于IDE特性(feature)的可用性研究。我们可能会问,“人们能够明白通过单击右键就可以做这些事情吗?”我们也做过纯粹针对这门语言的语法的可用性研究——举个例子说,我记得我们是针对属性(properties)和事件(events)——但实际上这些是没必要的。

    我觉得对于语言特性来说,很难像针对IDE特性的可用性研究那样,得到很高的回报。IDE的交互性是非常强的。你可以观察用户点击右键菜单,然后得到合适的反馈。对于编程语言来说,存在更多的问题,“从概念上来说,这个容易理解吗?”拥有一个用户咨询委员会、反馈委员会可以很好地解决这个问题。你就有地方可以陈述,“这是我们正在考虑针对这个特定的新特性要做的东西,你们都是怎么看的?”然后你明确地催促他们提尽可能多的意见,因为在加入这个新特性之前知道(这些意见)总比加入之后要好的多。所以说除非对某个语言特性像扣篮那样完全有把握,否则我们倾向于更多地倾听反馈委员会的意见。

    下周

    Anders Hejlsberg访谈的下一部分将会在(2003年)818号,星期一贴出来。如果你想收到Artima.com上新文章每周简报的电子邮件,请订阅Artima Newsletter

    反馈

    对本文所描述的设计原则有自己的观点么?那么请到News&Ideas论坛讨论这篇文章,The C# Design Process.

    资源

    深入C#:微软主架构师Anders Hejlsberg访谈:

    http://windows.oreilly.com/news/hejlsberg_0800.html

    A Comparative Overview of C#:
    http://genamics.com/developer/csharp_comparative.htm

    Microsoft Visual C#:
    http://msdn.microsoft.com/vcsharp/

    Anders Hejlsberg不是Artima的采访对象中第一个提到品味的。Jim Waldo在他的访谈中针对构建一个由有品味的程序员组成的团队给出了几乎同样的评述:

    http://www.artima.com/intv/waldo10.html

    Ken Arnold’s的访谈有一整部分都是关于设计品味的——品味和美学(Taste and Aesthetics):
    http://www.artima.com/intv/taste.html

     

    发表于 @ 2006年06月14日 21:23:00|评论(loading...)|编辑

    旧一篇: 好久没更新了

    评论

    #曾登高 发表于2006-06-19 23:42:00  IP: 211.100.21.*
    TrackBack来自《上周技术关注:Microsoft Blinq Prototype》

    BLINQ是微软ASP.NET产品组的Polita Paulus推出的一个非常有用的工具。给BLINQ一个目标数据库,它能根据数据库里的schema自动生成分页显示,添加,更新和删除数据的网站。从网页上,你还能从一个数据实体访问另一个(数据库里)相关的数据实体......
    #lxwde 发表于2006-07-02 12:41:00  IP: 211.100.21.*
    TrackBack来自《Anders Hejlsberg访谈:委托、组件以及表面上的简单性》

    Anders Hejlsberg,C#的主架构师,与Bruce Eckel和Bill Venners谈论了谈论了委托(delegates)以及C#对于组件的概念给予的头等待遇。
    #lxwde 发表于2006-07-13 18:51:00  IP: 211.100.21.*
    TrackBack来自《Anders Hejlsberg访谈:契约和互操作性》

    Anders Hejlsberg,C#的主架构师,与Bruce Eckel和Bill Venners 谈论了DLL hell、接口契约、strong anmes以及互操作的重要性。
    #韩磊 发表于2006-06-15 22:55:00  IP: 221.223.232.*
    尽管翻译版出现的有点晚,但价值甚高!得以管窥大师心路,实在是很开心的事啊。
    #一颗树 发表于2006-06-18 22:29:00  IP: 218.18.134.*
    顶,好文。
    #一颗树 发表于2006-06-18 22:30:00  IP: 218.18.134.*
    顶,好文。
    #MyLifeStyle 发表于2006-07-03 10:38:00  IP: 219.131.196.*
    一个错别字:学多->许多

    Anders Hejlsberg: 嗯,它们就是那样浮上来的。我们有学多渠道可以让用户提出意见
    #lxwde 发表于2006-07-03 20:56:00  IP: 222.68.53.*
    多谢,已纠正。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © lxwde