教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 高等教育> 其它> c#的优点毕业论文外文文献翻译及原文

c#的优点毕业论文外文文献翻译及原文

上传者:韩泽生
|
上传时间:2017-06-03
|
次下载

c#的优点毕业论文外文文献翻译及原文

  毕 业 设 计(论文)

  外 文 文 献 翻 译

  文献、资料中文题目:C#的优点

  文献、资料英文题目:Where C# Fits In

  文献、资料来源:

  文献、资料发表(出版)日期:

  院 (部):

  专 业:

  班 级:

  姓 名:

  学 号:

  指导教师:

  翻译日期: 2017.02.14

  Where C# Fits In

  In one sense, C# can be seen as being the same thing to programming languages as .NET is to the Windows environment. Just as Microsoft has been adding more and more features to Windows and the Windows API over the past decade, Visual Basic and C++ have undergone expansion. Although Visual Basic and C++ have ended up as hugely powerful languages as a result of this, both languages also suffer from 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 simple to understand and didn’t make many programming tasks easy, largely hiding the details of the Windows API and the COM component infrastructure from the developer. The downside to this was that Visual Basic was never truly object-oriented, so that large applications quickly become disorganized and hard to maintain. As well as this, because Visual Basic’s syntax was inherited from early versions of BASIC (which, in turn, was designed to be intuitively simple for beginning programmers to understand, rather than to write large commercial

  applications), it didn’t really lend itself to well-structured or object-oriented programs. C++, on the other hand, has its roots in the ANSI C++ language definition. It isn’t completely ANSIcompliant for the simple reason that Microsoft first wrote its C++ compiler before the ANSI definition had become official, but it comes close. Unfortunately, this has led to two problems. First, ANSI C++ has its 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 structures designed for the compilers of yesteryear (such as the

  separation of declaration from definition of member functions). Second, Microsoft has been simultaneously trying to evolve C++ into a language that is designed for

  high-performance tasks on Windows, and in order to achieve that they’ve been forced to add a huge number of Microsoft-specific keywords as well as various libraries to the language.

  The result is that on Windows, the language has become a complete mess. Just ask C++ developers how many 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 .NET—a completely new environment that is going to involve new extensions to both languages. Microsoft has gotten around this by adding yet more Microsoft-specific keywords to C++, and by completely revamping Visual Basic into Visual Basic .NET, a language that retains some of the basic VB syntax but that is so different in design that we can consider it to be, for all practical purposes, a new language. It’s in this context that Microsoft has decided to give developers an alternative—a language designed specifically for .NET, and designed with a clean slate. Visual C# .NET is the result. Officially, Microsoft describes C# as a “simple, modern, object-oriented, and type-safe programming language derived from

  C and C++.” Most independent observers would probably change that to “derived

  from C, C++, and Java.” Such descriptions are technically accurate but do little to convey the beauty or elegance of the language. Syntactically, C# is very similar to both C++ and Java, to such an extent that many keywords are the same, and C# also shares the same block structure with braces ({}) to mark blocks of code, and

  semicolons to separate statements. The first impression of a piece of C# code is that it looks quite like C++ or Java code. Behind that initial similarity, however, C# is a lot easier to learn than C++, and of comparable difficulty 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-level 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 implementation

  inheritance, virtual functions, and operator overloading.

  ? A consistent and well-defined set of basic types.

  ? Built-in support for automatic 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 documentation

  and can have some effects on compilation (for example, marking methods to be compiled only in debug builds).

  ? Full access to the .NET base class library, as well as easy access to the Windows API (if you

  really need it, which won’t be all that often).

  ? Pointers and direct memory access are available if required, but the language has been designed

  in such a way that you can work without them in almost all cases.

  ? Support 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 http://www.wendangwang.com dynamic Web pages and XMLWeb services. Most of the above statements, it should be pointed out, do also apply to Visual Basic .NET and Managed C++. The fact that C# is designed from the start to work with .NET, however, means that its support for the features of .NET is both more complete, and offered within the context of a more suitable syntax than

  for 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#. The one area the language is not designed for is time-critical or extremely high

  performance code—the kind where you really are worried about whether a loop takes

  C#在某种程度上可以看作是.NET面向Windows环境的一种编程语言。在过去的十几年里,Microsoft给Windows和 Windows API添加了许多功能,VB和C++也经历了许多变化。虽然VB和C++最终已成为非常强大的语言,但这两种语言也存在问题,因为它们保留了原来的一些内容。

  对于Visual Basic来说,它的主要优点是很容易理解,许多编程工作都很容易完成,基本上隐藏了Windows API和COM组件结构的内涵。其缺点是Visual Basic从来没有实现真正意义上的面向对象,所以大型应用程序很难分解和维护。另外,因为VB的语法继承于BASIC的早期版本(BASIC主要是为了让初学者更容易理解,而不是为了编写大型商业应用程序),所以不能真正成为结构化或面向对象

  的编程语言。

  另一方面,C++在ANSI C++语言定义中有其自己的根。它与ANSI不完全兼容,因为Microsoft是在ANSI定义标准化之前编写C++编译器的,但已经相当接近了。遗憾的是,这导致了两个问题。其一,ANSI C++是在十几年前的技术条件下开发的,因此不支持现在的概念(例如Unicode字符串和生成XML文档),某些古老的语法结构是为以前的编译器设计的(例如成员函数的声明和定义是分开的)。其二,Microsoft同时还试图把C++演变为一种用于在Windows上执行高性能任务的语言—— 在语言中避免添加大量Microsoft专用的关键字和各种库。其结果是在Windows中,该语言成为了一种非常杂乱的语言。让一个C++开发人员说说字符串有多少个定义方式就可以说明这一点:char*、LPTSTR、string、CString (MFC 版本)、CString (WTL 版本)、wchar_t*和 OLECHAR*等。

  现在进入.NET时代—— 一种全新的环境,它对这两种语言都进行了新的扩展。Microsoft给C++添加了许多Microsoft专用的关键字,并把VB演变为http://www.wendangwang.com,保留了一些基本的VB语法,但在设计上完全不同,从实际应用的角度来看,http://www.wendangwang.com是一种新语言。

  在这里,Microsoft决定给开发人员另一个选择—— 专门用于.NET、具有新起点的语言, 即Visual C# .NET。Microsoft在正式场合把C#描述为一种简单、现代、面向对象、类型非常安全、派生于C和C++的编程语言。大多数独立的评论员对其说法是“派生于C、 C++ 和Java”。这种描述在技术上是非常准确的,但没有涉及到该语言的真

  正优点。从语法上看,C#非常类似于C++和Java,许多关键字都是相同的,C#也使用类似于C++和Java的块结构,并用括号({})来标记代码块,用分号分隔各行语句。对C#代码的第一印象是它非常类似于C++或Java代码。但在这些表面上的类似性后面,C#学习起来要比C++容易得多,但比Java难一些。其设计与现代开发工具的适应性要比其他语言更高,它同时具有Visual Basic的易用性、高性能以及C++的低级内存访问性。C#包括以下一些特性:

  ● 完全支持类和面向对象编程,包括接口和继承、虚函数和运算符重载的处理。

  ● 定义完整、一致的基本类型集。

  ● 对自动生成XML文档说明的内置支持。

  ● 自动清理动态分配的内存。

  ● 可以用用户定义的特性来标记类或方法。这可以用于文档说明,对编译有一定的影响(例如,把方法标记为只在调试时编译)。

  ● 对.NET基类库的完全访问权,并易于访问Windows API。 ● 可以使用指针和直接内存访问,但C#语言可以在没有它们的条件下访问内存。

  ● 以VB的风格支持属性和事件。

  ● 改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用与ActiveX控件(COM组件)相同的方式由其他代码调用。

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注

2009年浙江省公务员考试《行测》真题
2005年浙江省公务员考试面试真题含解析
2007年浙江省公务员考试《行测B类》真题
2001浙江省公务员考试《申论》试卷
2019国考暑期申论每周一练模拟练习题:停车场为何不启用移动支付
2003年浙江省录用公务员考试《行测》真题
2018安徽公务员面试试题解析-非乡镇岗(7月15日)
2007年浙江省公务员考试《行测A类》真题参考答案
2006年浙江省公务员考试《行测》真题
2005年浙江省公务员录用考试面试真题含参考答案
2007年浙江省公务员考试《申论》真题参考答案
2008年浙江省公务员考试《行测》真题
2002年浙江省录用公务员考试《申论》真题
2007年浙江省公务员考试面试真题含解析
2006年浙江省公务员考试面试真题
2018安徽公务员面试试题-非乡镇岗(7月15日)
2004年浙江省公务员录用考试面试真题含参考答案
2019安徽公务员行测资料分析模拟题07.25
2003年浙江省录用公务员考试《申论》真题含答案
2005年浙江省公务员考试申论试卷
2018安徽公务员面试试题解析-非乡镇岗(7月14日)
2018安徽公务员面试试题-非乡镇岗(7月14日)
2008年浙江省公务员考试《申论》真题
2004年浙江行测考试真题
2019安徽公务员申论模拟题:互联网状态下,我们还需要科普吗
2005年浙江省党政机关录用国家公务员《申论》真题含参考答案及解析
2018安徽公务员面试试题解析-非乡镇岗(7月13日)
2009年浙江省各级机关公务员考试《申论》真题参考答案
2008年浙江公务员考试面试真题解析
2008年浙江省公务员考试《行测》真题参考答案

网友关注视频

【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
七年级英语下册 上海牛津版 Unit3
六年级英语下册上海牛津版教材讲解 U1单词
8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
化学九年级下册全册同步 人教版 第25集 生活中常见的盐(二)
苏科版数学八年级下册9.2《中心对称和中心对称图形》
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
沪教版八年级下次数学练习册21.4(2)无理方程P19
外研版英语三起5年级下册(14版)Module3 Unit1
小学英语单词
冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
冀教版英语五年级下册第二课课程解读
精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
沪教版八年级下册数学练习册21.3(3)分式方程P17
外研版英语三起6年级下册(14版)Module3 Unit2
沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
冀教版小学数学二年级下册1
冀教版英语四年级下册第二课
七年级英语下册 上海牛津版 Unit9
沪教版八年级下册数学练习册21.3(2)分式方程P15
化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
冀教版小学数学二年级下册第二单元《余数和除数的关系》
苏科版八年级数学下册7.2《统计图的选用》
人教版历史八年级下册第一课《中华人民共和国成立》
河南省名校课堂七年级下册英语第一课(2020年2月10日)