版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品好资料学习推荐Where C# Fits InIn one sense, C# can be seen as being the same thing to programming languages as .NET is to theWindows environment. Just as Microsoft has been adding more and more features to Windows and theWindows API over the past decade, Visual Basic and C+ have undergone expansion. Alth
2、ough VisualBasic and C+ have ended up as hugely powerful languages as a result of this, both languages also sufferfrom problems due to the legacies of how they have evolved.In the case of Visual Basic 6 and earlier, the main strength of the language was the fact that it was simpleto understand and d
3、idnt make many programming tasks easy, largely hiding the details of theWindows API and the COM component infrastructure from the developer. The downside to this wasthat Visual Basic was never truly object-oriented, so that large applications quickly become disorganizedand hard to maintain. As well
4、as this, because Visual Basics syntax was inherited from early versions ofBASIC (which, in turn, was designed to be intuitively simple for beginning programmers to understand,rather than to write large commercial applications), it didnt really lend itself to well-structured orobject-oriented program
5、s.C+, on the other hand, has its roots in the ANSI C+ language definition. It isnt completely ANSIcompliantfor the simple reason that Microsoft first wrote its C+ compiler before the ANSI definitionhad become official, but it comes close. Unfortunately, this has led to two problems. First, ANSI C+ h
6、asits roots in a decade-old state of technology, and this shows up in a lack of support for modern concepts(such as Unicode strings and generating XML documentation), and in some archaic syntax structuresdesigned for the compilers of yesteryear (such as the separation of declaration from definition
7、of memberfunctions). Second, Microsoft has been simultaneously trying to evolve C+ into a language that isdesigned for high-performance tasks on Windows, and in order to achieve that theyve been forced toadd a huge number of Microsoft-specific keywords as well as various libraries to the language. T
8、heresult is that on Windows, the language has become a complete mess. Just ask C+ developers howmany definitions for a string they can think of: char*, LPTSTR, string, CString (MFC version),CString (WTL version), wchar_t*, OLECHAR*, and so on.Now enter .NETa completely new environment that is going
9、to involve new extensions to both languages.Microsoft has gotten around this by adding yet more Microsoft-specific keywords to C+, andby completely revamping Visual Basic into Visual Basic .NET, a language that retains some of the basicVB syntax but that is so different in design that we can conside
10、r it to be, for all practical purposes, a newlanguage. Its in this context that Microsoft has decided to give developers an alternativea language designedspecifically for .NET, and designed with a clean slate. Visual C# .NET is the result. Officially, Microsoftdescribes C# as a “simple, modern, obje
11、ct-oriented, and type-safe programming language derived fromC and C+.” Most independent observers would probably change that to “derived from C, C+, andJava.” Such descriptions are technically accurate but do little to convey the beauty or elegance of the language.Syntactically, C# is very similar t
12、o both C+ and Java, to such an extent that many keywords arethe same, and C# also shares the same block structure with braces () to mark blocks of code, and semicolonsto separate statements. The first impression of a piece of C# code is that it looks quite like C+ orJava code. Behind that initial si
13、milarity, however, C# is a lot easier to learn than C+, and of comparabledifficulty to Java. Its design is more in tune with modern developer tools than both of those other languages,and it has been designed to give us, simultaneously, the ease of use of Visual Basic, and the highperformance,low-lev
14、el memory access of C+ if required. Some of the features of C# are:Full support for classes and object-oriented programming, including both interface and implementationinheritance, virtual functions, and operator overloading.A consistent and well-defined set of basic types.Built-in support for autom
15、atic generation of XML documentation.Automatic cleanup of dynamically allocated memory.The facility to mark classes or methods with user-defined attributes. This can be useful for documentationand can have some effects on compilation (for example, marking methods to becompiled only in debug builds).
16、Full access to the .NET base class library, as well as easy access to the Windows API (if youreally need it, which wont be all that often).Pointers and direct memory access are available if required, but the language has been designedin such a way that you can work without them in almost all cases.S
17、upport for properties and events in the style of Visual Basic.Just by changing the compiler options, you can compile either to an executable or to a library of.NET components that can be called up by other code in the same way as ActiveX controls(COM components).C# can be used to write ASP.NET dynam
18、ic Web pages and XMLWeb services.Most of the above statements, it should be pointed out, do also apply to Visual Basic .NET and ManagedC+. The fact that C# is designed from the start to work with .NET, however, means that its support forthe features of .NET is both more complete, and offered within
19、the context of a more suitable syntax thanfor those other languages. While the C# language itself is very similar to Java, there are some improvements:in particular, Java is not designed to work with the .NET environment.Before we leave the subject, we should point out a couple of limitations of C#.
20、 The one area the languageis not designed for is time-critical or extremely high performance codethe kind where you really areworried about whether a loop takes 1,000 or 1,050 machine cycles to run through, and you need to cleanup your resources the millisecond they are no longer needed. C+ is likel
21、y to continue to reign supremeamong low-level languages in this area. C# lacks certain key facilities needed for extremely high performanceapps, including the ability to specify inline functions and destructors that are guaranteed to runat particular points in the code. However, the proportions of a
22、pplications that fall into this category arevery low.出处:Professional C#Third Edition作者:Simon RobinsonChristian NagelJay GlynnMorgan SkinnerKarli WatsonBill EvjenC#C#在某种程度上可以看作是.NET面向Windows环境的一种编程语言。在过去的十几年里,Microsoft给Windows和 Windows API添加了许多功能,VB和C+也经历了许多变化。虽然VB和C+最终已成为非常强大的语言,但这两种语言也存在问题,因为它们保留了原
23、来的一些内容。对于Visual Basic来说,它的主要优点是很容易理解,许多编程工作都很容易完成,基本上隐藏了Windows API和COM组件结构的内涵。其缺点是Visual Basic从来没有实现真正意义上的面向对象,所以大型应用程序很难分解和维护。另外,因为VB的语法继承于BASIC的早期版本(BASIC主要是为了让初学者更容易理解,而不是为了编写大型商业应用程序),所以不能真正成为结构化或面向对象的编程语言。另一方面,C+在ANSI C+语言定义中有其自己的根。它与ANSI不完全兼容,因为Microsoft是在ANSI定义标准化之前编写C+编译器的,但已经相当接近了。遗憾的是,这导致
24、了两个问题。其一,ANSI C+是在十几年前的技术条件下开发的,因此不支持现在的概念(例如Unicode字符串和生成XML文档),某些古老的语法结构是为以前的编译器设计的(例如成员函数的声明和定义是分开的)。其二,Microsoft同时还试图把C+演变为一种用于在Windows上执行高性能任务的语言在语言中避免添加大量Microsoft专用的关键字和各种库。其结果是在Windows中,该语言成为了一种非常杂乱的语言。让一个C+开发人员说说字符串有多少个定义方式就可以说明这一点:char*、LPTSTR、string、CString (MFC 版本)、CString (WTL 版本)、wchar
25、_t*和 OLECHAR*等。现在进入.NET时代一种全新的环境,它对这两种语言都进行了新的扩展。Microsoft给C+添加了许多Microsoft专用的关键字,并把VB演变为VB.NET,保留了一些基本的VB语法,但在设计上完全不同,从实际应用的角度来看,VB.NET是一种新语言。在这里,Microsoft决定给开发人员另一个选择专门用于.NET、具有新起点的语言, 即Visual C# .NET。Microsoft在正式场合把C#描述为一种简单、现代、面向对象、类型非常安全、派生于C和C+的编程语言。大多数独立的评论员对其说法是“派生于C、 C+ 和Java”。这种描述在技术上是非常准确的,但没有涉及到该语言的真正优点。从语法上看,C#非常类似于C+和Java,许多关键字都是相同的,C#也使用类似于C+和Java的块结构,并用括号()来标记代码块,用分号分隔各行语句。对C#代码的第一印象是它非常类似于C+或Java代码。但在这些表面上的类似性后面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肇庆酒店劳务承包合同模板
- 日本留学中介合同模板
- 津南区易燃品运输合同模板
- 电子购车订金合同模板
- 在线咨询律师合同模板
- 链接分销合同模板
- 英文专利转让合同模板
- 白酒开发合同模板
- 涂装合同模板
- 现房整幢出售合同模板
- 新型基础设施建设
- 【教学设计】同底数幂的乘法3
- 中石油(北京)(附答案)在线考试主观题《组织行为学》在线考试(主观题)
- 马达加斯加地质矿产概况
- 酒店流水单模板-住宿酒店流水单模板
- 2023年关于农村劳动力转移发展现状及对策的调研报告
- 成都市区大学周边区域商业现状调查案例
- h填土路基试验段施工方案全套资料
- GB/T 36786-2018病媒生物综合管理技术规范医院
- 刘华主编经济学基础第四章生产理论与成本理论
- 普通心理学 9动机
评论
0/150
提交评论