inside C#(foreword)_1
(原文)
Foreword
I’ve spent my entire career at Microsoft working to enhance the developer experience, usually with a focus on increasing developer productivity. My work has spanned a wide variety of products and technologies, but I’ve never been as excited about the work we’ve done to enhance the developer experience as I am now. The breadth and depth of the technologies Microsoft .NET delivers is astounding. We’re providing a great new language, knocking down the barriers that have traditionally divided developers into separate but unequal language worlds, and enabling Web sites to cooperate to meet users’ needs. Any one of these would be interesting on its own, but the combination is truly compelling.
Let’s look at the key building blocks of .NET and some related technologies:
- C#, a new language
C# is the first component-oriented language in the C and C++ family of languages. It’s a simple, modern, object-oriented, and type-safe programming language derived from C and C++. C# combines the high productivity of Microsoft Visual Basic and the raw power of C++.
- Common language runtime
The high-performance common language runtime includes an execution engine, a garbage collector, just-in-time compilation, a security system, and a rich class framework (the .NET Framework). The runtime was designed from the ground up to support multiple languages.
- Common Language Specification
The Common Language Specification (CLS) describes a common level of language functionality. The relatively high minimum bar of the CLS enables the creation of a club of CLS-compliant languages. Each member of this club enjoys dual benefits: complete access to .NET Framework functionality and rich interoperability with other compliant languages. For example, a Visual Basic class can inherit from a C# class and override its virtual methods.
- A rich set of languages that target the runtime
Microsoft-provided languages that target the runtime include Visual Basic, Visual C++ with Managed Extensions, Visual C#, and JScript. Third parties are providing many other languages—too many to list here!
- Web services
Today’s World Wide Web consists primarily of individual sites. While a user might visit multiple sites to accomplish a given task, such as making travel arrangements for a group of people, these Web sites typically do not cooperate. The next generation of the Web will be based on cooperating networks of Web sites. The reason is simple: cooperating Web sites can do a better job of meeting users’ needs. Microsoft’s Web services technologies foster cooperation among Web sites by enabling communication via standard XML-based protocols that are both language-independent and platform-independent. Many important Web services will be based on C# and the common language runtime running on Windows, but the architecture is truly open.
- Visual Studio .NET
Visual Studio .NET ties all of these pieces together and makes it easy to author a wide range of components, applications, and services in a variety of programming languages.
Now that I’ve touched on some important C#-related technologies, let’s take a closer look at C# itself. Developers have a lot invested in their language of choice, and so the onus is on a new language to prove its worth through some combination of simple preservation, incremental improvement, and thoughtful innovation.
(译文)
序
我在微软的全部工作就是为了增强开发者的经验,尤其特别关注提高开发者的生产效率。我的工作涉及了非常广泛的各种各样的产品和技术,但是我从来没有像现在这样因为我们可以显著的提高开发人员的经验技巧而感到兴奋。Microsoft.net技术提供了具有让人感到吃惊的广度和深度的技术。我们提供了一种全新的、伟大的语言,它消除了传统开发人员因为选择不同的编程语言而造成的彼此之间的隔阂,并且可以使你的WEB站点更加贴近用户的需求。这几点都会让你非常感兴趣,但将他们联合在一起才是真正让人刮目相看的!
让我们来看看.Net的关键构件和相关的技术:
C#是一门全新的语言
C#是C/C++家族中第一门面向组件的语言,它是一门源于C/C++但更简单、现代、面向对象并且提供类型安全的编程语言。C#结合了VB的高生产效率和C++的底层能力。
公共语言运行时库
高效能的公共语言运行时库(CLR)包含一个执行引擎,一个垃圾回收器,实时编译器,一个安全机制和一个丰富的类框架(.NET Framework)。运行时被设计为支持多种语言。
公共语言规范
公共语言规范(CLS)描述了一个语言的公共级别的功能性,CLS对于创建一组兼容CLS语言的障碍非常少。每一种兼容CLS的语言都能够享受到双重的益处:完全的访问.NET框架提供的功能和与其它语言的丰富的交互能力。例如,一个VB的类能够继承一个C#的类并且重定义它的虚方法。
一组丰富的可以使用运行时的语言
微软提供了一组可以使用运行时的语言,包括:VB、VC++托管,Visual C#和Jscript。更多的由第三方供应商提供的其他语言不断地充实这一列表。
Web 服务
今天的WWW由许多独立的站点组成。当一个用户需要访问多个站点以达成一个给定的任务。例如为一个团队制作旅行计划,这些站点显然不能实现协作。下一代的WEB将会基于一个协作的WEB站点网络。原因非常简单:习作的web站点能够更好的满足用户的需求。微软的web服务技术鼓励web站点通过标准的基于XML的协议通信进行协作,他们均是独立的语言和独立的平台。许多重要的Web Service 将会基于C#和在Windows平台上运行的公共语言运行时,但是他们的体系架构是完全开放的。
Visual Studio .NET
Visual Studio .NET将这些特性捆绑在一起让在广泛领域使用多种语言创作同一个组件、应用和服务变得easy!
我们现在已经接触了一些和C#相关的重要技术,让我们一起近距离的了解C#本身,开发者在原来所使用的编程语言上倾注了大量的投资,一门新的语言要证明它值得开发人员学习和使用,就需要简洁的保留、增加的改进和有思想性的创新。
浙公网安备 33010602011771号